biocrnpyler.mechanisms.MichaelisMentenReversible
- class biocrnpyler.mechanisms.MichaelisMentenReversible(name='michaelis_menten_reverse_binding', mechanism_type='catalysis')[source]
Bases:
MechanismReversible Michaelis-Menten kinetics with product binding.
A ‘catalysis’ mechanism implementing Michaelis-Menten enzyme kinetics where the product can also bind reversibly to the enzyme. Both the substrate and product form distinct enzyme complexes, and the catalytic step itself is reversible.
The reaction scheme is
\[{\text{S}} + {\text{E}} \rightleftharpoons {\text{S}}\mathord{:}{\text{E}} \rightleftharpoons {\text{E}}\mathord{:}{\text{P}} \rightleftharpoons {\text{E}} + {\text{P}}, \]where S is the substrate, E is the enzyme, S:E is the enzyme-substrate complex, E:P is the enzyme-product complex, and P is the product.
- Parameters:
name (
str, default'michaelis_menten_reverse_binding') – Name identifier for this mechanism instance.mechanism_type (
str, default'catalysis') – Type classification of this mechanism.
- Attributes:
name (
str) – Name of the mechanism instance.mechanism_type (
str) – Type classification (‘catalysis’).
See also
MichaelisMentenStandard Michaelis-Menten with irreversible catalysis.
MichaelisMentenCopyMichaelis-Menten preserving substrate.
MechanismBase class for all mechanisms.
Notes
This mechanism generates three mass-action reactions:
Reversible substrate binding: S + E \(\rightleftharpoons\) S:E (rates ‘kb1’ and ‘ku1’)
Reversible product binding: P + E \(\rightleftharpoons\) E:P (rates ‘kb2’ and ‘ku2’)
Reversible catalysis: S:E \(\rightleftharpoons\) E:P (rates ‘kcat’ and ‘kcat_rev’)
Common applications include:
Reversible enzymatic reactions near equilibrium
Bidirectional metabolic pathways
Reactions where product inhibition is significant
Detailed kinetic models requiring thermodynamic consistency
Required parameters for this mechanism:
‘kb1’ : Forward binding rate for substrate-enzyme association
‘ku1’ : Reverse unbinding rate for substrate-enzyme dissociation
‘kb2’ : Forward binding rate for product-enzyme association
‘ku2’ : Reverse unbinding rate for product-enzyme dissociation
‘kcat’ : Forward catalytic rate constant (S:E \(\rightarrow\) E:P)
‘kcat_rev’ : Reverse catalytic rate constant (E:P \(\rightarrow\) S:E)
This mechanism is particularly useful when modeling reactions close to equilibrium where the reverse reaction and product binding cannot be neglected.
Examples
Model a reversible enzymatic conversion:
>>> enzyme = bcp.Species('E', material_type='protein') >>> substrate = bcp.Species('S') >>> product = bcp.Species('P') >>> comp = bcp.Enzyme( ... enzyme, substrates=[substrate], products=[product], ... mechanisms={'catalysis': bcp.MichaelisMentenReversible()}, ... parameters={ ... 'kb1': 2.0, 'ku1': 0.5, ... 'kb2': 1.5, 'ku2': 0.3, ... 'kcat': 1.0, 'kcat_rev': 0.4 ... } ... ) >>> mixture = bcp.Mixture(components=[comp]) >>> mixture.compile_crn() Species = protein_E, S, P, complex_S_protein_E_, complex_P_protein_E_ Reactions = [ S+protein[E] $\rightleftharpoons$ complex[S:protein[E]] P+protein[E] $\rightleftharpoons$ complex[P:protein[E]] complex[S:protein[E]] $\rightleftharpoons$ complex[P:protein[E]] ]
Methods
Generate reactions for reversible Michaelis-Menten kinetics.
Generate species for reversible Michaelis-Menten kinetics.
- update_reactions(enzyme, substrate, product, component=None, part_id=None, complex=None, complex2=None, kb=None, ku=None, kcat=None)[source]
Generate reactions for reversible Michaelis-Menten kinetics.
Creates three mass-action reactions implementing reversible Michaelis-Menten enzyme kinetics with product binding: substrate binding, product binding, and reversible catalysis.
- Parameters:
enzyme (
Species) – The enzyme species that catalyzes the reaction.substrate (
Species) – The substrate species.product (
Species) – The product species.component (
Component, optional) – Component containing parameter values. Required if kb, ku, or kcat are not provided directly.part_id (
str, optional) – Identifier for parameter lookup. If None, defaults to component.name.complex (
Species, optional) – Pre-specified enzyme-substrate complex. If None, automatically creates a Complex([substrate, enzyme]).complex2 (
Species, optional) – Pre-specified enzyme-product complex. If None, automatically creates a Complex([product, enzyme]).kb (
tupleof(floatorParameter), optional) – Tuple of (kb1, kb2) binding rate constants. If None, kb1 and kb2 retrieved separately from component parameters.ku (
tupleof(floatorParameter), optional) – Tuple of (ku1, ku2) unbinding rate constants. If None, ku1 and ku2 retrieved separately from component parameters.kcat (
tupleof(floatorParameter), optional) – Tuple of (kcat, kcat_rev) catalytic rate constants. If None, kcat and kcat_rev retrieved separately from component parameters.
- Returns:
List containing three reactions: [substrate_binding_reaction, product_binding_reaction, catalysis_reaction].
- Return type:
listofReaction- Raises:
ValueError – If component is None and any of kb, ku, or kcat is not provided.
Notes
The mechanism generates the following reactions:
S + E \(\rightleftharpoons\) S:E (binding, rates ‘kb1’ and ‘ku1’)
P + E \(\rightleftharpoons\) E:P (binding, rates ‘kb2’ and ‘ku2’)
S:E \(\rightleftharpoons\) E:P (catalysis, rates ‘kcat’ and ‘kcat_rev’)
When providing parameters directly (not via component), kb, ku, and kcat should be tuples of two values each.
- update_species(enzyme, substrate, product, complex=None, complex2=None)[source]
Generate species for reversible Michaelis-Menten kinetics.
Creates the species involved in reversible Michaelis-Menten enzyme kinetics: enzyme, substrate, product, enzyme-substrate complex, and enzyme-product complex.
- Parameters:
enzyme (
Species) – The enzyme species that catalyzes the reaction.substrate (
Species) – The substrate species.product (
Species) – The product species.complex (
Species, optional) – Pre-specified enzyme-substrate complex. If None, automatically creates a Complex([substrate, enzyme]).complex2 (
Species, optional) – Pre-specified enzyme-product complex. If None, automatically creates a Complex([product, enzyme]).
- Returns:
List containing [enzyme, substrate, product, complex1, complex2] where complex1 is S:E and complex2 is E:P.
- Return type:
listofSpecies
Notes
Both complexes are automatically generated if not explicitly provided. The enzyme-substrate complex contains [substrate, enzyme] and the enzyme-product complex contains [product, enzyme].