biocrnpyler.mechanisms.Energy_Transcription_MM

class biocrnpyler.mechanisms.Energy_Transcription_MM(rnap: Species, fuels: List[Species], wastes: List[Species], name='energy_transcription_mm', **kwargs)[source]

Bases: Mechanism

Michaelis-Menten transcription with explicit energy consumption.

A ‘transcription’ mechanism that models transcription with explicit consumption of energy sources (fuel species like NTPs) and production of waste products. This mechanism couples RNAP-DNA binding with length-dependent fuel consumption to model realistic transcription energetics.

The reaction follows the schema:

\[\begin{split} & {\text{G}} + {\text{RNAP}} \rightleftharpoons {\text{G}}\mathord{:}{\text{RNAP}} \\ & {\text{Fuel}} + {\text{G}}\mathord{:}{\text{RNAP}} \rightarrow {\text{G}} + {\text{RNAP}} + {\text{T}} \\ & {\text{Fuel}} + {\text{G}}\mathord{:}{\text{RNAP}} \rightarrow {\text{G}}\mathord{:}{\text{RNAP}} + {\text{wastes}} \end{split}\]

Transcription occurs at rate ‘ktx’ / L (length-dependent), while fuel consumption occurs at rate ‘ktx’, resulting in L times more fuel consumption than transcripts produced.

Parameters:
  • rnap (Species) – RNA polymerase species that catalyzes transcription.

  • fuels (list of Species) – List of fuel species (e.g., NTPs) consumed during transcription.

  • wastes (list of Species) – List of waste species (e.g., pyrophosphate) produced during transcription.

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

Attributes:
  • rnap (Species) – The RNA polymerase species.

  • fuels (list of Species) – Fuel species consumed during transcription.

  • wastes (list of Species) – Waste species produced during transcription.

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

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

See also

Transcription_MM

MM transcription without explicit energy.

MichaelisMentenCopy

Base class for MM copy mechanisms.

Mechanism

Base class for all mechanisms.

Notes

This mechanism provides a more realistic model of transcription by explicitly tracking energy consumption. Key features:

  • Length-dependent transcription rate (‘ktx’ / L)

  • Explicit fuel (NTP) consumption

  • Waste product generation

  • RNAP-DNA binding dynamics

The length parameter L represents the gene length in appropriate units, and the mechanism automatically scales fuel consumption to match the energetic requirements of synthesizing an mRNA of length L.

Common applications include:

  • Detailed TX-TL models with explicit resources

  • Models of transcriptional burden and resource depletion

  • Systems where NTP availability affects gene expression

Required parameters for this mechanism:

  • ‘ktx’ : Base transcription rate constant

  • ‘kb’ : Forward binding rate for RNAP to DNA

  • ‘ku’ : Reverse unbinding rate for RNAP from DNA

  • ‘length’ : Gene length (for length-dependent transcription)

Examples

Model transcription with explicit NTP consumption:

>>> gene = bcp.DNAassembly(
...     name='constitutive_promoter',
...     promoter='pconst', rbs='RBS_medium', protein='GFP')
>>> rnap = bcp.Species('RNAP')
>>> ntp = bcp.Species('NTP')
>>> ppi = bcp.Species('PPi')
>>> mechanism = bcp.Energy_Transcription_MM(
...     rnap=rnap,
...     fuels=[ntp],
...     wastes=[ppi]
... )
>>> mixture = bcp.Mixture(
...     components=[gene],
...     mechanisms={
...         'transcription': mechanism,
...         'translation': bcp.SimpleTranslation()
...     },
...     parameters={'ktx': 0.05, 'kb': 1.0, 'ku': 0.1, 'length': 1000},
...     parameter_file='mixtures/pure_parameters.tsv'
... )
>>> mixture.compile_crn()

Methods

update_reactions

Generate reactions for energy-consuming transcription.

update_species

Generate species for energy-consuming transcription.

update_reactions(dna, component, part_id=None, complex=None, transcript=None, protein=None, **kwargs)[source]

Generate reactions for energy-consuming transcription.

Creates three reactions modeling transcription with explicit fuel consumption and waste production: RNAP-DNA binding, length-dependent transcription, and fuel consumption.

Parameters:
  • dna (Species) – The DNA species (gene) being transcribed.

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

  • part_id (str, optional) – Identifier for parameter lookup. If None, defaults to component.name.

  • complex (Complex, optional) – Pre-specified DNA:RNAP complex species (unused, complex is created internally).

  • transcript (Species, optional) – The mRNA transcript species produced.

  • protein (Species, optional) – Protein species (unused, accepted for API consistency).

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

Returns:

List of three reactions:

  • RNAP-DNA binding (rates: ‘kb’, ‘ku’)

  • Transcription with fuel (rate: ‘ktx’ / ‘length’)

  • Fuel consumption producing wastes (rate: ‘ktx’)

Return type:

list of Reaction

Notes

The reactions model transcription energetics:

  1. DNA + RNAP \(\rightleftharpoons\) DNA:RNAP (rates: ‘kb’ and ‘ku’)

  2. Fuel + DNA:RNAP \(\rightarrow\) Fuel + DNA + RNAP + mRNA (rate: ‘ktx’ / L)

  3. Fuel + DNA:RNAP \(\rightarrow\) DNA:RNAP + wastes (rate: ‘ktx’)

The length-dependent transcription rate (‘ktx’ / L) ensures that L times more fuel is consumed than transcripts produced, reflecting the energetic cost of synthesizing a transcript of length L.

update_species(dna, transcript=None, protein=None, **kwargs)[source]

Generate species for energy-consuming transcription.

Creates species involved in transcription with explicit energy consumption including DNA, RNAP, the DNA:RNAP complex, transcript, and fuel species.

Parameters:
  • dna (Species) – The DNA species (gene) being transcribed.

  • transcript (Species, optional) – The mRNA transcript species produced.

  • protein (Species, optional) – Protein species (unused in this mechanism, accepted for API consistency).

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

Returns:

List containing [dna, rnap, transcript, fuels…, dna:rnap complex].

Return type:

list of Species