Enzyme Kinetics
Enzymes are biological catalysts that accelerate chemical reactions by lowering activation energy. Understanding enzyme kinetics is fundamental to biochemistry, drug design, and metabolic engineering.
Enzyme Fundamentals
Active Site
The region where substrate binds and catalysis occurs. Formed by specific amino acid residues arranged in a precise 3D geometry. Lock-and-key or induced-fit models.
Catalytic Mechanisms
Acid-base catalysis, covalent catalysis, metal ion catalysis, proximity/orientation effects. Enzymes stabilize the transition state, not the substrate.
Cofactors & Coenzymes
Metal ions (Zn²⁺, Mg²⁺, Fe²⁺) or organic molecules (NAD⁺, FAD, CoA) required for activity. Prosthetic groups are tightly bound; coenzymes are loosely associated.
Michaelis-Menten Kinetics
The fundamental equation of enzyme kinetics:
\( v = \frac{V_{max}[S]}{K_m + [S]} \)
Vmax
Maximum velocity when enzyme is saturated with substrate. Proportional to total enzyme concentration.
Km (Michaelis constant)
Substrate concentration at half-maximal velocity. Reflects substrate affinity (lower Km = higher affinity).
kcat (Turnover number)
Vmax/[E]total. Number of substrate molecules converted per enzyme per second.
kcat/Km (Catalytic efficiency)
Specificity constant. Measure of how efficiently enzyme converts substrate. Upper limit ~10⁸ M⁻¹s⁻¹ (diffusion-limited).
Interactive Michaelis-Menten Kinetics
Adjust Vmax and Km to see how they affect enzyme kinetics.
Key Parameters
- Vmax/2 occurs at [S] = Km
- Km = substrate concentration at half-maximal velocity
- Low Km = high substrate affinity
- kcat = Vmax/[E]total (turnover number)
Enzyme Inhibition
Competitive Inhibition
Inhibitor competes with substrate for active site. Increases apparent Km, Vmax unchanged.
Example: Methotrexate inhibits dihydrofolate reductase (cancer therapy)
Non-competitive Inhibition
Inhibitor binds to site other than active site. Decreases Vmax, Km unchanged.
Example: Heavy metals (Pb²⁺, Hg²⁺) binding to cysteine residues
Uncompetitive Inhibition
Inhibitor binds only to ES complex. Decreases both Vmax and Km.
Example: Lithium inhibits inositol monophosphatase
Irreversible Inhibition
Covalent modification of enzyme. Permanently inactivates enzyme.
Example: Aspirin acetylates cyclooxygenase (COX)
Enzyme Regulation
Allosteric Regulation
Effector binding at regulatory site causes conformational change. Sigmoidal kinetics. Positive/negative cooperativity.
Covalent Modification
Phosphorylation, acetylation, methylation. Rapid, reversible regulation by kinases/phosphatases.
Zymogen Activation
Proteolytic cleavage activates inactive precursor. Irreversible. Examples: trypsinogen → trypsin, prothrombin → thrombin.
Feedback Inhibition
End product inhibits earlier enzyme in pathway. Prevents overproduction. Common in biosynthetic pathways.
Important Enzyme Classes
| Class | Reaction Type | Example |
|---|---|---|
| Oxidoreductases | Oxidation-reduction | Lactate dehydrogenase |
| Transferases | Group transfer | Hexokinase (phosphate) |
| Hydrolases | Hydrolysis | Trypsin, lipase |
| Lyases | Non-hydrolytic cleavage | Aldolase |
| Isomerases | Isomerization | Phosphoglucose isomerase |
| Ligases | Bond formation + ATP | DNA ligase, glutamine synthetase |
Python: Enzyme Kinetics Analysis
#!/usr/bin/env python3
"""enzyme_kinetics.py - Michaelis-Menten analysis"""
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def michaelis_menten(S, Vmax, Km):
"""Michaelis-Menten equation"""
return (Vmax * S) / (Km + S)
def lineweaver_burk(S, Vmax, Km):
"""Lineweaver-Burk linearization: 1/v = (Km/Vmax)(1/S) + 1/Vmax"""
return (Km / Vmax) * (1 / S) + (1 / Vmax)
# Simulated experimental data
np.random.seed(42)
S_data = np.array([0.5, 1, 2, 4, 8, 16, 32, 64]) # mM
Vmax_true, Km_true = 100, 5 # True parameters
v_data = michaelis_menten(S_data, Vmax_true, Km_true)
v_data += np.random.normal(0, 3, len(v_data)) # Add noise
# Non-linear fit
popt, pcov = curve_fit(michaelis_menten, S_data, v_data, p0=[80, 10])
Vmax_fit, Km_fit = popt
errors = np.sqrt(np.diag(pcov))
print(f"Fitted Parameters:")
print(f" Vmax = {Vmax_fit:.1f} ± {errors[0]:.1f} units/s")
print(f" Km = {Km_fit:.2f} ± {errors[1]:.2f} mM")
print(f" kcat/Km = {Vmax_fit/Km_fit:.1f} M⁻¹s⁻¹ (assuming [E] = 1 µM)")
# Plot
fig, axes = plt.subplots(1, 2, figsize=(12, 5))
# Michaelis-Menten plot
S_smooth = np.linspace(0, 70, 100)
axes[0].scatter(S_data, v_data, c='blue', s=50, label='Data')
axes[0].plot(S_smooth, michaelis_menten(S_smooth, *popt), 'r-', label='Fit')
axes[0].axhline(Vmax_fit, ls='--', c='orange', alpha=0.7, label=f'Vmax = {Vmax_fit:.0f}')
axes[0].axvline(Km_fit, ls='--', c='green', alpha=0.7, label=f'Km = {Km_fit:.1f}')
axes[0].set_xlabel('[S] (mM)')
axes[0].set_ylabel('v (units/s)')
axes[0].set_title('Michaelis-Menten Plot')
axes[0].legend()
axes[0].set_xlim(0, 70)
# Lineweaver-Burk plot
axes[1].scatter(1/S_data, 1/v_data, c='blue', s=50)
x_line = np.linspace(0, 2.5, 50)
axes[1].plot(x_line, lineweaver_burk(1/x_line, *popt), 'r-')
axes[1].set_xlabel('1/[S] (mM⁻¹)')
axes[1].set_ylabel('1/v (s/units)')
axes[1].set_title('Lineweaver-Burk Plot')
axes[1].set_xlim(-0.5, 2.5)
plt.tight_layout()Clinical Applications
Enzyme Inhibitor Drugs
- • ACE inhibitors (hypertension)
- • Statins (cholesterol)
- • Protease inhibitors (HIV)
- • COX inhibitors (NSAIDs)
Diagnostic Enzymes
- • Troponin (heart attack)
- • ALT/AST (liver damage)
- • Amylase/Lipase (pancreatitis)
- • Creatine kinase (muscle damage)