biocrnpyler.mechanisms.multi_tx
- class biocrnpyler.mechanisms.multi_tx(pol: Species, name: str = 'multi_tx', mechanism_type: str = 'transcription', **kwargs)[source]
Bases:
MechanismMulti-polymerase transcription with isomerization and occupancy.
A ‘transcription’ mechanism that explicitly models multiple RNA polymerases (RNAPs) binding to a single gene simultaneously, accounting for polymerase spacing, isomerization between open and closed configurations, and competitive binding. This detailed mechanism captures transcriptional queueing and interference effects.
The reaction scheme follows:
\[\begin{split} & {\text{DNA}}\mathord{:}{\text{RNAP}}_n + {\text{RNAP}} \rightleftharpoons {\text{DNA}}\mathord{:}{\text{RNAP}}_{n_c} \rightarrow {\text{DNA}}\mathord{:}{\text{RNAP}}_{n+1} \\ & {\text{DNA}}\mathord{:}{\text{RNAP}}_n \rightarrow {\text{DNA}}\mathord{:}{\text{RNAP}}_0 + n {\text{RNAP}} + n {\text{mRNA}} \\ & {\text{DNA}}\mathord{:}{\text{RNAP}}_{n_c} \rightarrow {\text{DNA}}\mathord{:}{\text{RNAP}}_{0_c} + n {\text{RNAP}} + n {\text{mRNA}} \end{split}\]where:\(n\) = {0, 1, …, max_occ} is the number of polymerases
max_occ is the physical maximum based on RNAP and DNA dimensions
\({\text{DNA}}\mathord{:}{\text{RNAP}}_n\) represents DNA with \(n\) open configuration RNAPs
\({\text{DNA}}\mathord{:}{\text{RNAP}}_{n_c}\) represents DNA with \(n\) open RNAPs and 1 closed RNAP
- Parameters:
pol (
Species) – RNA polymerase species.name (
str, default'multi_tx') – Name identifier for this mechanism instance.mechanism_type (
str, default'transcription') – Type classification of this mechanism.
- Attributes:
pol (
Species) – The RNA polymerase species.name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘transcription’).
See also
Transcription_MMSimple Michaelis-Menten transcription.
multi_tlMulti-ribosome translation mechanism.
MechanismBase class for all mechanisms.
Notes
This mechanism provides a detailed, spatially-aware model of transcription that captures:
Multiple polymerases on a single gene
Polymerase queueing and spacing constraints
Open/closed conformational states (isomerization)
Coordinated transcript release from multiple polymerases
The model is appropriate for detailed mechanistic studies where:
Polymerase density and spacing matter
Transcriptional queueing affects expression
Multiple concurrent transcription events are important
The mechanism generates many species (2 * max_occ complexes) and reactions (O(max_occ)), so it should be used with caution for computational efficiency.
Required parameters for this mechanism:
‘ktx’ : Transcription/release rate constant
‘kb’ : Forward binding rate for polymerase to DNA
‘ku’ : Reverse unbinding rate for polymerase from DNA
‘k_iso’ : Isomerization rate from closed to open configuration
‘max_occ’ : Maximum polymerase occupancy (integer)
Examples
Model multi-polymerase transcription:
>>> gene = bcp.DNAassembly( ... name='dna_assembly', ... promoter='pconst', rbs='RBS_medium', protein='GFP') >>> rnap = bcp.Species('RNAP') >>> tx_mechanism = bcp.multi_tx(pol=rnap) >>> mixture = bcp.Mixture( ... components=[gene], ... mechanisms={ ... 'transcription': tx_mechanism, ... 'translation': bcp.SimpleTranslation() ... }, ... 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
Generate reactions for multi-polymerase transcription.
Generate species for multi-polymerase transcription.
- update_reactions(dna, transcript, component, part_id, protein=None, **kwargs)[source]
Generate reactions for multi-polymerase transcription.
Creates reactions modeling multiple polymerases binding to DNA, isomerization between configurations, and transcript release with coordination among multiple polymerases.
- Parameters:
dna (
Species) – The DNA species (gene) being transcribed.transcript (
Species) – The mRNA transcript species produced.component (
Component) – Component containing parameter values. Required for parameter lookup.part_id (
str) – Identifier for parameter lookup. Required to retrieve parameters.protein (
Species, optional) – Protein species (unused, accepted for API consistency).**kwargs – Additional keyword arguments (unused).
- Returns:
List of reactions including:
Polymerase binding reactions (DNA:RNAP\(_n\) + RNAP \(\rightleftharpoons\) DNA:RNAP\(_{n_c}\))
Isomerization reactions (DNA:RNAP\(_{n_c}\) \(\rightarrow\) \(DNA\mathord{:}RNAP\)_n$)
Release reactions from open states (DNA:RNAP\(_n\) \(\rightarrow\) DNA + \(n\) RNAP + \(n\) mRNA)
Release reactions from closed states (DNA:RNAP\(_{n_c}\) \(\rightarrow\) DNA:RNAP\(_{0_c}\) + \(n\) RNAP + \(n\) mRNA)
Base binding reaction (DNA + RNAP \(\rightleftharpoons\) DNA:RNAP\(_{0_c}\))
- Return type:
listofReaction
Notes
The reaction scheme captures:
DNA:RNAP\(_n\) + RNAP \(\rightleftharpoons\) DNA:RNAP\(_{(n+1)_c}\) (rates: ‘kb’, ‘ku’)
DNA:RNAP\(_{n_c}\) \(\rightarrow\) DNA:RNAP\(_n\) (rate: ‘k_iso’)
DNA:RNAP\(_n\) \(\rightarrow\) DNA + \(n\) RNAP + \(n\) mRNA (rate: ‘ktx’)
DNA:RNAP\(_{n_c}\) \(\rightarrow\) DNA:RNAP\(_{0_c}\) + \(n\) RNAP + \(n\) mRNA (rate: ‘ktx’)
Where \(n\) ranges from 0 to max_occ-1. The ‘max_occ’ parameter represents the physical maximum occupancy of polymerases on the gene.
- update_species(dna, transcript, component, part_id, protein=None, **kwargs)[source]
Generate species for multi-polymerase transcription.
Creates all species and complexes involved in multi-polymerase transcription including DNA with varying numbers of bound polymerases in both open and closed configurations.
- Parameters:
dna (
Species) – The DNA species (gene) being transcribed.transcript (
Species) – The mRNA transcript species produced.component (
Component) – Component containing parameter values. Required for parameter lookup.part_id (
str) – Identifier for parameter lookup. Required to retrieve ‘max_occ’ parameter.protein (
Species, optional) – Protein species (unused, accepted for API consistency).**kwargs – Additional keyword arguments (unused).
- Returns:
List containing:
DNA:RNAP_n complexes in open configuration (n = 0 to max_occ-1)
DNA:RNAP_n complexes in closed configuration (n = 0 to max_occ-1)
Individual species [polymerase, dna, transcript]
- Return type:
listofSpecies
Notes
For each occupancy level \(n\) from 0 to max_occ-1, two complex species are created:
Open configuration: DNA with \(n+1\) polymerases, all in open state
Closed configuration: DNA with \(n+1\) polymerases (n open, 1 closed)
The ‘max_occ’ parameter determines the maximum number of polymerases that can occupy the gene simultaneously, typically based on physical spacing constraints.