Michaelis–Menten Enzyme Kinetics
Saturation as a One-Dimensional Rate Law
Michaelis–Menten kinetics is one of the standard examples of a saturating nonlinear rate law (Michaelis and Menten 1913). The classical instantaneous rate is
\[ v(s) = \frac{V_{\max} s}{K_m + s}, \]
where \(V_{\max}\) is the maximum rate and \(K_m\) is the Michaelis constant.
In the reference script used in this course, the same saturating expression is reused as a simple teaching ODE,
\[ \dot s = \frac{V_{\max}s}{K_m + s} \tag{1}\]
This is not a full enzyme-substrate mass-action model. It is a compact one-dimensional example that lets you study how saturation changes both the rate curve and the time evolution of the state variable.
Small and Large Concentration Regimes
The rate law has two useful asymptotic regimes:
\[ v(s) \approx \frac{V_{\max}}{K_m} s \quad \text{for } s \ll K_m, \qquad v(s) \approx V_{\max} \quad \text{for } s \gg K_m. \]
So the system is approximately linear at small \(s\) and nearly constant-rate at large \(s\).
Implement the Saturating Rate Law
def michaelis_menten(t, s, vmax=1.0, km=0.5):
dsdt = (vmax * s) / (km + s)
return dsdtReference Implementation
See:
amlab/odes_1d/michaelis_menten.py
The helper plot_michaelis_menten(...) produces:
- \(s(t)\) over time
- \(v(s)\) with guides at \(s=K_m\) and \(v=V_{\max}/2\)
Render-time Figure
Interpret the Parameters
- Increasing \(V_{\max}\) raises the saturation plateau.
- Increasing \(K_m\) shifts the curve so larger values of \(s\) are needed before the rate is close to saturation.
- In the teaching ODE used here, larger \(V_{\max}\) also makes the state variable evolve faster in time.
Exploration
- Increase \(V_{\max}\) and observe how the rate curve changes.
- Increase \(K_m\) (lower affinity). How does the saturation point shift?
Run Locally
python amlab/odes_1d/michaelis_menten.pyWhat’s Next?
The Michaelis–Menten example highlights saturation. The spruce budworm model adds phase-line reasoning, multiple equilibria, and bistability.