Kinetics
Reaction kinetics shared by the biology packages: reactions whose propensity saturates in their substrate.
MichaelisMentenInteraction(label, *, target=None, reactants=None, products=None, substrate='n', vmax=1.0, km=1.0, modifiers=None, mode='rate')
Bases: ReactionInteraction
Reaction at the Michaelis-Menten propensity vmax S / (km + S), times every modifier to its coefficient.
The substrate S is a state of the target, or a function of the namespace that returns an amount that is no state
of its own, such as the phosphorylated form A_T - A of a protein whose total is conserved. The modifiers are the
enzymes that catalyse the reaction, which scale the propensity but do not change, so vmax is a catalytic rate when
the reaction has modifiers and a maximal rate when it has none. The maximal rate and the Michaelis constant are
functions of the namespace, which reads the parameters of the target, or numbers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
label
|
str
|
The label of the reaction, unique among the parts of its system. |
required |
target
|
Annotated[str | None, RoleSpec()]
|
The path of the element, group, or field whose states the species named by a state alone are. |
None
|
reactants
|
Annotated[Stoichiometry | None, RoleSpec(variadic=True)]
|
The coefficients of the reactants, or |
None
|
products
|
Annotated[Stoichiometry | None, RoleSpec(variadic=True)]
|
The coefficients of the products, or |
None
|
substrate
|
str | Callable[[SimpleNamespace], object]
|
The name of the state of the target that saturates the propensity, or a function of the namespace that returns the amount that does. |
'n'
|
vmax
|
Callable[[SimpleNamespace], object] | float
|
A function of the namespace that returns the maximal or catalytic rate, or a number. |
1.0
|
km
|
Callable[[SimpleNamespace], object] | float
|
A function of the namespace that returns the Michaelis constant, or a number. |
1.0
|
modifiers
|
Annotated[Stoichiometry | None, RoleSpec(variadic=True)]
|
The coefficients of the modifiers, the enzymes that scale the propensity, or |
None
|
mode
|
str
|
The form of the laws, |
'rate'
|
Raises:
| Type | Description |
|---|---|
ValidationError
|
The substrate is neither a name nor a function, a rate is neither a function nor a number, or the reaction cannot take its species or mode. |
Examples:
>>> from skcomplex.core.elements import CompartmentElement
>>> from skcomplex.core.system import System
>>> from skcomplex.engine.runtime import Simulation
>>> from skcomplex.models.biology.common.kinetics import MichaelisMentenInteraction
>>> uptake = MichaelisMentenInteraction(
... 'uptake', target='cell', reactants={'n': 1}, substrate='n', vmax=1.0, km=100.0
... )
>>> system = System(elements=[CompartmentElement('cell', n=500.0)], interactions=[uptake])
>>> trajectory = Simulation(system, dt=1.0).check().prepare().run(until=10.0).trajectory_
>>> round(float(trajectory.values('cell.n')[-1]), 3)
491.679
Source code in src/skcomplex/models/biology/common/kinetics/_michaelis_menten.py
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | |