biocrnpyler.mechanisms.MichaelisMenten

class biocrnpyler.mechanisms.MichaelisMenten(name='michaelis_menten', mechanism_type='catalysis')[source]

Bases: Mechanism

Standard Michaelis-Menten enzyme kinetics mechanism.

A ‘catalysis’ mechanism implementing classical Michaelis-Menten enzyme kinetics with explicit enzyme-substrate complex formation. The substrate binds reversibly to the enzyme to form a complex, which then irreversibly converts to product and releases the enzyme.

The reaction scheme is

\[{\text{S}} + {\text{E}} \rightleftharpoons {\text{S}}\mathord{:}{\text{E}} \rightarrow {\text{E}} + {\text{P}} \]

where S is the substrate, E is the enzyme, S:E is the enzyme-substrate complex, and P is the product.

Parameters:
  • name (str, default 'michaelis_menten') – 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

BasicCatalysis

Single-step catalysis without complex formation.

MichaelisMentenCopy

Michaelis-Menten preserving substrate.

MichaelisMentenReversible

Michaelis-Menten with product binding.

Mechanism

Base class for all mechanisms.

Notes

This mechanism generates two mass-action reactions:

  1. Reversible binding: S + E \(\rightleftharpoons\) S:E (rates ‘kb’ and ‘ku’)

  2. Irreversible catalysis: S:E \(\rightarrow\) E + P (rate ‘kcat’)

Common applications include:

  • Enzyme-catalyzed reactions in metabolic pathways

  • Protein degradation by proteases

  • Drug metabolism by cytochrome P450 enzymes

  • Any enzymatic process following Michaelis-Menten kinetics

Required parameters for this mechanism:

  • ‘kb’ : Binding rate constant for enzyme-substrate association

  • ‘ku’ : Unbinding rate constant for enzyme-substrate dissociation

  • ‘kcat’ : Catalytic rate constant for product formation

The mechanism can also model degradation reactions by setting product to None, resulting in: S + E \(\rightleftharpoons\) S:E \(\rightarrow\) E.

Examples

Model enzyme-catalyzed substrate conversion:

>>> substrate = bcp.Species('S')
>>> product = bcp.Species('P')
>>> enzyme = bcp.Enzyme('E', substrates=[substrate], products=[product])
>>> mixture = bcp.Mixture(
...     components=[enzyme],
...     mechanisms={'catalysis': bcp.MichaelisMenten()},
...     parameters={'kb': 1.0, 'ku': 0.1, 'kcat': 0.5}
... )
>>> mixture.compile_crn()
Species = protein_E, S, P, complex_S_protein_E_
Reactions = [
   S+protein[E] $\rightleftharpoons$ complex[S:protein[E]]
   complex[S:protein[E]] $\rightarrow$ P+protein[E]
]

Model enzymatic degradation:

>>> degradase = bcp.Protein('degradase')
>>> target = bcp.Protein('target')
>>> degrader = bcp.Enzyme(degradase, substrates=[target], products=[])
>>> mixture = bcp.Mixture(
...     components=[degrader],
...     mechanisms={'catalysis': bcp.MichaelisMenten()},
...     parameters={'kb': 1.0, 'ku': 0.1, 'kcat': 0.2}
... )

Methods

update_reactions

Generate reactions for Michaelis-Menten kinetics.

update_species

Generate species for Michaelis-Menten kinetics.

update_reactions(enzyme, substrate, product, component=None, part_id=None, complex=None, kb=None, ku=None, kcat=None)[source]

Generate reactions for Michaelis-Menten kinetics.

Creates two mass-action reactions implementing Michaelis-Menten enzyme kinetics: reversible enzyme-substrate binding and irreversible catalytic conversion.

Parameters:
  • enzyme (Species) – The enzyme species that catalyzes the reaction.

  • substrate (Species) – The substrate species to be converted.

  • product (Species) – The product species. Can be None for degradation reactions.

  • 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]).

  • kb (Parameter or float, optional) – Forward binding rate constant. If None, retrieved from component parameters.

  • ku (Parameter or float, optional) – Reverse unbinding rate constant. If None, retrieved from component parameters.

  • kcat (Parameter or float, optional) – Catalytic rate constant. If None, retrieved from component parameters.

Returns:

List containing two reactions: [binding_reaction, catalysis_reaction].

Return type:

list of Reaction

Raises:

ValueError – If component is None and any of kb, ku, or kcat is not provided.

Notes

The mechanism generates the following reactions:

  1. S + E \(\rightleftharpoons\) S:E (binding, rates ‘kb’ and ‘ku’)

  2. S:E \(\rightarrow\) E + P (catalysis, rate ‘kcat’)

For degradation (product is None):

  1. S:E \(\rightarrow\) E (degradation, rate ‘kcat’)

update_species(enzyme, substrate, product=None, complex=None)[source]

Generate species for Michaelis-Menten kinetics.

Creates the species involved in Michaelis-Menten enzyme kinetics: enzyme, substrate, enzyme-substrate complex, and optionally the product.

Parameters:
  • enzyme (Species) – The enzyme species that catalyzes the reaction.

  • substrate (Species) – The substrate species to be converted.

  • product (Species, optional) – The product species. If None, only enzyme, substrate, and complex are returned (useful for degradation reactions).

  • complex (Species, optional) – Pre-specified enzyme-substrate complex. If None, automatically creates a Complex([substrate, enzyme]).

Returns:

List containing [enzyme, substrate, complex] if product is None, or [enzyme, substrate, product, complex] otherwise.

Return type:

list of Species

Notes

The complex is automatically generated as a Complex object containing the substrate and enzyme if not explicitly provided.