chemart / michaelis-menten
View on GitHubMichaelis-Menten enzyme kinetics — The canonical enzyme mechanism, and a lesson about output formats. Written elementarily it is three mass-action reactions among four species: enzyme and substrate bind reversibly, then the complex releases product. Elimi…
How it works
The canonical enzyme mechanism, and a lesson about output formats. Written elementarily it is three mass-action reactions among four species: enzyme and substrate bind reversibly, then the complex releases product. Eliminate the complex and you get the familiar saturating rate law over just two species - fewer species and fewer reactions, but no longer mass action. The same chemistry thus has two faithful representations, and any schema that assumes mass action can only hold one of them.
- S
- E, S, ES, P (elementary) or S, P (abridged) · explicit
- R
- E + S <-ka/ka'-> ES --kb--> E + P (irreversible product formation) · arity 1, 2
- A
- ode, ssa · none
Parameters
| name | default | meaning |
|---|---|---|
| form enum · structural |
"elementary" | elementary mass-action steps, or the single abridged reaction S -> P with a Michaelis-Menten rate law elementary | abridged |
| ka float · kinetic |
1.0 | binding E + S -> ES [0, ∞] |
| ka_rev float · kinetic |
1.0 | unbinding ES -> E + S [0, ∞] |
| kb float · kinetic |
1.0 | catalytic turnover ES -> E + P [0, ∞] |
| E0 float · population |
1.0 | total enzyme, free + bound [0, ∞] |
| S0 float · population |
10.0 | initial substrate [0, ∞] |
Michaelis-Menten enzyme kinetics
One of the artificial chemistries of Banzhaf & Yamamoto, Artificial Chemistries (MIT Press, 2015), §18.2.1; also 4.4 (as an abridgement method).
Its generator ships with the chemart library, so loading it runs no code from the hub and needs no trust_remote_code.
import chemart
net = chemart.generate_network("chemart/michaelis-menten", seed=0) # same as "michaelis-menten"
print(net.summary())
Implementation decisions
- The book gives no numerical rates; all default to 1, with E0 = 1 and S0 = 10.
- k_m is derived, not a parameter. In the extracted text of eq. 18.4 the prime on ka' is lost ('k_m = (k_a + k_b)/k_a'); the quasi-steady-state derivation gives k_m = (ka_rev + kb) / ka, which is used.
Banzhaf & Yamamoto, Artificial Chemistries (2015), §18.2.1; also 4.4 (as an abridgement method)
Preview at default parameters
4 species · 3 reactions · status complete · seed 1
E + S -> ES [mass-action k=1.0] ES -> E + S [mass-action k=1.0] ES -> E + P [mass-action k=1.0]
Generated by the uploader with chemart push; the hub never runs uploaded code.