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)
[S] (mM)v (units/s)VmaxKm

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

ClassReaction TypeExample
OxidoreductasesOxidation-reductionLactate dehydrogenase
TransferasesGroup transferHexokinase (phosphate)
HydrolasesHydrolysisTrypsin, lipase
LyasesNon-hydrolytic cleavageAldolase
IsomerasesIsomerizationPhosphoglucose isomerase
LigasesBond formation + ATPDNA 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)