Skip to content
scipython.com

P3.1.2The Michaelis-Menten equation

The Michaelis-Menten equation models the kinetics of enzymatic reactions as

\[v = \frac{\mathrm{d[P]}}{\mathrm{d}t} = \frac{V_\mathrm{max}[\mathrm{S}]}{K_m + [\mathrm{S}]},\]

where \(v\) is the rate of the reaction converting the substrate, S, to product P, catalysed by the enzyme. \(V_\mathrm{max}\) is the maximum rate (when all the enzyme is bound to S) and the Michaelis constant, \(K_m\), is the substrate concentration at which the reaction rate is at half its maximum value.

Plot \(v\) against \([\mathrm{S}]\) for a reaction with \(K_m = 0.04\;\mathrm{M}\) and \(V_\mathrm{max} = 0.1\;\mathrm{M\,s^{-1}}\).

Show solution

Since we need to calculate the rates for two different values of \(K_m\), we define a function to do it in the code below.

import numpy as np
import matplotlib.pyplot as plt

# Michaelis-Menten constants (M), maximum rate(M.s-1)
Km1, Km2, Vmax = 0.04, 0.4, 0.01

# Grid of substrate concentration values (M)
S = np.linspace(0, 2, 1000)

def rate(S, Km, Vmax):
    return Vmax * S / (Km + S)

plt.plot(S, rate(S, Km1, Vmax))
plt.plot(S, rate(S, Km2, Vmax))
plt.show()

A Michaelis-Menten plot