biocrnpyler.mechanisms.multi_tl

class biocrnpyler.mechanisms.multi_tl(ribosome: Species, name: str = 'multi_tl', mechanism_type: str = 'translation', **kwargs)[source]

Bases: Mechanism

Multi-ribosome translation with isomerization and occupancy.

A ‘translation’ mechanism that explicitly models multiple ribosomes binding to a single mRNA simultaneously, accounting for ribosome spacing, isomerization between open and closed configurations, and competitive binding. This detailed mechanism captures translational queueing and ribosome traffic effects.

The reaction scheme follows:

\[\begin{split} & {\text{mRNA}}\mathord{:}{\text{RBZ}}_n + {\text{RBZ}} \rightleftharpoons {\text{mRNA}}\mathord{:}{\text{RBZ}}_{n_c} \rightarrow {\text{mRNA}}\mathord{:}{\text{RBZ}}_{n+1} \\ & {\text{mRNA}}\mathord{:}{\text{RBZ}}_n \rightarrow {\text{mRNA}}\mathord{:}{\text{RBZ}}_0 + n {\text{RBZ}} + n {\text{Protein}} \\ & {\text{mRNA}}\mathord{:}{\text{RBZ}}_{n_c} \rightarrow {\text{mRNA}}\mathord{:}{\text{RBZ}}_{0_c} + n {\text{RBZ}} + n {\text{Protein}} \end{split}\]
where:

  • \(n\) = {0, 1, …, max_occ} is the number of ribosomes

  • max_occ is the physical maximum based on ribosome and mRNA dimensions

  • mRNA:RBZ\(_n\) represents mRNA with \(n\) open configuration ribosomes

  • mRNA:RBZ\(_{n_c}\) represents mRNA with \(n\) open and 1 closed ribosome

Parameters:
  • ribosome (Species) – Ribosome species.

  • name (str, default 'multi_tl') – Name identifier for this mechanism instance.

  • mechanism_type (str, default 'translation') – Type classification of this mechanism.

Attributes:
  • ribosome (Species) – The ribosome species.

  • name (str) – Name of the mechanism instance.

  • mechanism_type (str) – Type classification (‘translation’).

See also

Translation_MM

Simple Michaelis-Menten translation.

multi_tx

Multi-polymerase transcription mechanism.

Mechanism

Base class for all mechanisms.

Notes

This mechanism provides a detailed, spatially-aware model of translation that captures:

  • Multiple ribosomes on a single mRNA (polysome formation)

  • Ribosome queueing and spacing constraints

  • Open/closed conformational states (isomerization)

  • Coordinated protein release from multiple ribosomes

The model is appropriate for detailed mechanistic studies where:

  • Ribosome density and spacing matter

  • Translational queueing affects expression

  • Multiple concurrent translation events are important

  • Polysome dynamics are relevant

The mechanism generates many species (2 * max_occ complexes) and reactions (O(max_occ)), so it should be used with caution for computational efficiency.

CAUTION: This mechanism is still under development. Use with care, read all warnings, and consult the example notebook before use.

Required parameters for this mechanism:

  • ‘ktl’ : Translation/release rate constant

  • ‘kb’ : Forward binding rate for ribosome to mRNA

  • ‘ku’ : Reverse unbinding rate for ribosome from mRNA

  • ‘k_iso’ : Isomerization rate from closed to open configuration

  • ‘max_occ’ : Maximum ribosome occupancy (integer)

Examples

Model multi-ribosome translation:

>>> gene = bcp.DNAassembly(
...     name='gene_assembly',
...     promoter='pconst', transcript='mRNA',
...     rbs='RBS_medium', protein='GFP')
>>> ribosome = bcp.Species('Ribosome')
>>> tl_mechanism = bcp.multi_tl(ribosome=ribosome)
>>> mixture = bcp.Mixture(
...     components=[gene],
...     mechanisms={
...         'transcription': bcp.SimpleTranscription(),
...         'translation': tl_mechanism},
...     parameters={
...         'ktx': 0.05, 'ktl': 0.1, 'kb': 1.0, 'ku': 0.1,
...         'k_iso': 0.5, 'max_occ': 5
...     }
... )
>>> mixture.compile_crn()

For more details, see examples/MultiTX_Demo.ipynb.

Methods

update_reactions

Generate reactions for multi-ribosome translation.

update_species

Generate species for multi-ribosome translation.

update_reactions(transcript, protein, component, part_id, **kwargs)[source]

Generate reactions for multi-ribosome translation.

Creates reactions modeling multiple ribosomes binding to mRNA, isomerization between configurations, and protein release with coordination among multiple ribosomes.

Parameters:
  • transcript (Species) – The mRNA transcript species being translated.

  • protein (Species) – The protein species produced by translation.

  • component (Component) – Component containing parameter values. Required for parameter lookup.

  • part_id (str) – Identifier for parameter lookup. Required to retrieve parameters.

  • **kwargs – Additional keyword arguments (unused).

Returns:

List of reactions including:

  • Ribosome binding reactions (mRNA:RBZ\(_n\) + RBZ \(\rightleftharpoons\) mRNA:RBZ\(_{n_c}\))

  • Isomerization reactions (mRNA:RBZ\(_{n_c}\) \(\rightarrow\) mRNA:RBZ\(_n\))

  • Release reactions from open states (mRNA:RBZ\(_n\) \(\rightarrow\) mRNA + \(n\) RBZ + \(n\) Protein)

  • Release reactions from closed states (mRNA:RBZ\(_{n_c}\) \(\rightarrow\) mRNA:RBZ\(_{0_c}\) + \(n\) RBZ + \(n\) Protein)

  • Base binding reaction (mRNA + RBZ \(\rightleftharpoons\) mRNA:RBZ\(_{0_c}\))

Return type:

list of Reaction

Notes

The reaction scheme captures:

  1. mRNA:RBZ\(_n\) + RBZ \(\rightleftharpoons\) mRNA:RBZ_\({(n+1)_c}\) (rates: ‘kb’, ‘ku’)

  2. mRNA:RBZ\(_{n_c}\) \(\rightarrow\) mRNA:RBZ\(_n\) (rate: ‘k_iso’)

  3. mRNA:RBZ\(_n\) \(\rightarrow\) mRNA + \(n\) RBZ + \(n\) Protein (rate: ‘ktl’)

  4. mRNA:RBZ\(_{n_c}\) \(\rightarrow\) mRNA:RBZ\(_{0_c}\) + \(n\) RBZ + \(n\) Protein (rate: ‘ktl’)

Where \(n\) ranges from 0 to max_occ-1. The ‘max_occ’ parameter represents the physical maximum occupancy of ribosomes on the mRNA, determined by ribosome spacing and mRNA length.

update_species(transcript, protein, component, part_id, **kwargs)[source]

Generate species for multi-ribosome translation.

Creates all species and complexes involved in multi-ribosome translation including mRNA with varying numbers of bound ribosomes in both open and closed configurations.

Parameters:
  • transcript (Species) – The mRNA transcript species being translated.

  • protein (Species) – The protein species produced by translation.

  • component (Component) – Component containing parameter values. Required for parameter lookup.

  • part_id (str) – Identifier for parameter lookup. Required to retrieve ‘max_occ’ parameter.

  • **kwargs – Additional keyword arguments (unused).

Returns:

List containing:

  • mRNA:Ribosome_n complexes in open configuration (n = 0 to max_occ-1)

  • mRNA:Ribosome_n complexes in closed configuration (n = 0 to max_occ-1)

  • Individual species [ribosome, transcript, protein]

Return type:

list of Species

Notes

For each occupancy level \(n\) from 0 to max_occ-1, two complex species are created:

  • Open configuration: mRNA with n+1 ribosomes, all in open state

  • Closed configuration: mRNA with n+1 ribosomes (n open, 1 closed)

The ‘max_occ’ parameter determines the maximum number of ribosomes that can occupy the mRNA simultaneously, typically based on physical spacing constraints and mRNA length.