Biochemistry
Protein structure, enzyme kinetics, and metabolic pathways.
Biochemistry
Biochemistry is the study of chemical processes within living organisms, focusing on the structure and function of biomolecules such as proteins, nucleic acids, carbohydrates, and lipids. Understanding biochemical processes is fundamental to comprehending cellular function, metabolism, and the molecular basis of life.
Protein Structure and Function
Primary Structure
The primary structure of a protein is its linear sequence of amino acids:
Amino Acid Properties
Amino acids have a central carbon (α-carbon) bonded to:
- Amino group (NH₃⁺ at physiological pH)
- Carboxyl group (COO⁻ at physiological pH)
- Hydrogen atom
- Side chain (R group) - varies by amino acid type
Amino Acid Classification
- Nonpolar (hydrophobic): Alanine, Valine, Leucine, Isoleucine, Proline, Phenylalanine, Tryptophan, Methionine
- Polar uncharged: Serine, Threonine, Asparagine, Glutamine, Tyrosine, Cysteine
- Acidic: Aspartate, Glutamate
- Basic: Lysine, Arginine, Histidine
Secondary Structure
α-Helix
Stabilized by hydrogen bonds between backbone carbonyl oxygen of residue and backbone amide hydrogen of residue .
β-Sheet
- Parallel: Adjacent strands run in same direction
- Antiparallel: Adjacent strands run in opposite directions
- Stabilized by interstrand hydrogen bonds
Other Secondary Structures
- β-turn: Sharp turns (often contains Gly, Pro)
- Ω-loop: Irregular structures connecting secondary elements
Tertiary Structure
Stabilizing interactions:
- Hydrophobic interactions: Nonpolar side chains cluster internally
- Hydrogen bonds: Between polar side chains
- Ionic bonds: Between charged side chains
- Disulfide bonds: Covalent cross-links (Cys residues)
- van der Waals forces: Weak attractive forces
Quaternary Structure
Examples: Hemoglobin (α₂β₂), DNA polymerase, antibodies
Protein Folding
Thermodynamic Model
Where for spontaneous folding.
Folding Pathways
- Nucleation-condensation: Early folding nucleus formation
- Hierarchical folding: Secondary structure → domain → overall fold
- Concerted folding: All elements fold simultaneously
Enzyme Structure and Function
Enzyme Nomenclature
Enzymes are classified by the type of reaction they catalyze:
- EC 1: Oxidoreductases
- EC 2: Transferases
- EC 3: Hydrolases
- EC 4: Lyases
- EC 5: Isomerases
- EC 6: Ligases
Catalytic Mechanisms
Transition State Stabilization
Where ES† represents the transition state complex.
Catalytic Strategies
- Acid-base catalysis: Proton transfer
- Covalent catalysis: Formation of enzyme-substrate intermediate
- Metal ion catalysis: Stabilization of charges or redox reactions
- Proximity effects: Positioning of substrates
Enzyme Kinetics
Michaelis-Menten Kinetics
Where:
- = initial reaction velocity
- = maximum velocity
- = substrate concentration
- = Michaelis constant
Determination of Kinetic Parameters
Catalytic Efficiency
Where is the turnover number (catalytic constant).
Factors Affecting Enzyme Activity
pH Effects
Temperature Effects
Substrate and Enzyme Concentrations
- At low [S]: (first order)
- At high [S]: (zero order)
Enzyme Regulation
Allosteric Regulation
Models of Allosteric Regulation
- MWC Model: Symmetry model (T and R states)
- KNF Model: Sequential model (induced fit)
Covalent Modification
- Phosphorylation: Most common (Ser, Thr, Tyr residues)
- Acetylation: Lysine residues
- Ubiquitination: Target for degradation
- Glycosylation: Addition of sugar groups
Isoenzymes
Example: Lactate dehydrogenase (LDH) has 5 isoenzymes (M₄, M₃H₁, M₂H₂, MH₃, H₄)
Metabolic Pathways
Overview of Major Pathways
Glycolysis
Net reaction: 1 glucose → 2 pyruvate + 2 ATP + 2 NADH
Citric Acid Cycle (TCA Cycle)
Oxidative Phosphorylation
Metabolic Regulation
Energy Charge
Phosphorylation Potential
Control of Metabolic Flux
Rate-Limiting Steps
Where is flux and is enzyme concentration.
Feed-Forward and Feedback Regulation
- Feedback inhibition: End product inhibits early enzyme
- Feed-forward activation: Substrate activates later enzyme
Carbohydrate Metabolism
Glycolysis Regulation
Key Regulatory Enzymes
- Hexokinase: Inhibited by G6P
- Phosphofructokinase: Allosterically regulated by ATP/AMP, citrate, fructose-2,6-bisphosphate
- Pyruvate kinase: Regulated by F16BP (activation) and ATP (inhibition)
Gluconeogenesis
Pentose Phosphate Pathway
Major functions: NADPH production, ribose-5-phosphate synthesis
Lipid Metabolism
Fatty Acid Synthesis
Fatty Acid Oxidation (β-Oxidation)
Each cycle removes 2 carbon atoms as acetyl-CoA.
Cholesterol Metabolism
Rate-limiting step: HMG-CoA reductase
Amino Acid Metabolism
Transamination
Catalyzed by aminotransferases (require pyridoxal phosphate cofactor).
Urea Cycle
Nitrogen Balance
Bioenergetics
ATP Structure and Function
Standard Free Energy of Hydrolysis
Electron Transport and Oxidative Phosphorylation
Proton Motive Force
Where is membrane potential and is pH gradient.
Signal Transduction
Receptor Types
- G-protein coupled receptors (GPCRs)
- Receptor tyrosine kinases (RTKs)
- Ion channel receptors
- Nuclear receptors
Second Messenger Systems
cAMP Pathway
Integration of Metabolism
Hormonal Control
- Insulin: Promotes glucose uptake, glycogenesis, lipogenesis
- Glucagon: Promotes glycogenolysis, gluconeogenesis
- Epinephrine: Acute energy mobilization
- Cortisol: Long-term stress response, gluconeogenesis
Tissue-Specific Metabolism
- Liver: Major site of gluconeogenesis, urea cycle, lipogenesis
- Muscle: Glucose utilization, glycogen storage
- Brain: Glucose-dependent (except during starvation)
- Adipose tissue: Fat storage and mobilization
Real-World Application: Enzyme Inhibition in Drug Design
Understanding enzyme kinetics is crucial for drug development and therapeutic applications.
Enzyme Inhibition Analysis
# Enzyme inhibition kinetics for drug development
enzyme_data = {
'kcat': 150, # s⁻¹ (turnover number)
'km': 0.002, # M (Michaelis constant)
'ki': 1e-7, # M (inhibitor dissociation constant)
'enzyme_concentration': 1e-6, # M (total enzyme)
'substrate_concentration': 0.005, # M (substrate)
'inhibitor_concentration': 1e-5, # M (inhibitor)
'inhibition_type': 'competitive' # competitive, uncompetitive, noncompetitive
}
# Calculate initial velocity without inhibitor
v_max = enzyme_data['kcat'] * enzyme_data['enzyme_concentration'] # M/s
v_without_inhibitor = (v_max * enzyme_data['substrate_concentration']) / (enzyme_data['km'] + enzyme_data['substrate_concentration'])
# Calculate velocity with competitive inhibition
if enzyme_data['inhibition_type'] == 'competitive':
km_apparent = enzyme_data['km'] * (1 + enzyme_data['inhibitor_concentration'] / enzyme_data['ki'])
v_with_inhibitor = (v_max * enzyme_data['substrate_concentration']) / (km_apparent + enzyme_data['substrate_concentration'])
elif enzyme_data['inhibition_type'] == 'uncompetitive':
alpha = 1 + enzyme_data['inhibitor_concentration'] / enzyme_data['ki']
km_apparent = enzyme_data['km'] / alpha
v_max_apparent = v_max / alpha
v_with_inhibitor = (v_max_apparent * enzyme_data['substrate_concentration']) / (km_apparent + enzyme_data['substrate_concentration'])
else: # noncompetitive
alpha = 1 + enzyme_data['inhibitor_concentration'] / enzyme_data['ki']
v_max_apparent = v_max / alpha
v_with_inhibitor = (v_max_apparent * enzyme_data['substrate_concentration']) / (enzyme_data['km'] + enzyme_data['substrate_concentration'])
# Calculate percent inhibition
percent_inhibition = ((v_without_inhibitor - v_with_inhibitor) / v_without_inhibitor) * 100
# Calculate IC50 (concentration for 50% inhibition)
# For competitive inhibition: IC50 = Ki * (1 + [S]/Km)
ic50 = enzyme_data['ki'] * (1 + enzyme_data['substrate_concentration'] / enzyme_data['km'])
print(f"Enzyme kinetics analysis:")
print(f" kcat: {enzyme_data['kcat']} s⁻¹")
print(f" Km: {enzyme_data['km']*1000:.2f} mM")
print(f" Inhibitor Ki: {enzyme_data['ki']*1e6:.2f} μM")
print(f" Vmax: {v_max*1e6:.2f} μM/s")
print(f" Velocity without inhibitor: {v_without_inhibitor*1e6:.2f} μM/s")
print(f" Velocity with inhibitor: {v_with_inhibitor*1e6:.2f} μM/s")
print(f" Percent inhibition: {percent_inhibition:.1f}%")
print(f" Calculated IC50: {ic50*1e6:.2f} μM")
# Therapeutic implications
if percent_inhibition > 80:
therapeutic_assessment = "Potent inhibitor - likely therapeutic effect"
elif percent_inhibition > 50:
therapeutic_assessment = "Moderate inhibition - may require optimization"
else:
therapeutic_assessment = "Weak inhibition - not likely therapeutic"
print(f" Therapeutic potential: {therapeutic_assessment}")
# Determine optimal dosing based on IC50
dose_recommendation = "High dose needed" if ic50 > 10e-6 else "Moderate dose effective" if ic50 > 1e-6 else "Low dose effective"
print(f" Dose recommendation: {dose_recommendation}")
Drug Development Considerations
Factors in translating enzyme kinetics to therapeutic applications.
Your Challenge: Metabolic Control Analysis
Analyze the flux control of a metabolic pathway and determine the effects of enzyme inhibition on pathway flux.
Goal: Calculate metabolic control coefficients and analyze pathway regulation.
Pathway Data
import math
# Metabolic pathway with three consecutive enzymes
pathway_data = {
'enzymes': [
{'name': 'Enzyme A', 'vmax': 50, 'km': 0.1, 'concentration': 1e-6}, # μmol/min/mg
{'name': 'Enzyme B', 'vmax': 40, 'km': 0.05, 'concentration': 1.2e-6},
{'name': 'Enzyme C', 'vmax': 60, 'km': 0.2, 'concentration': 0.8e-6}
],
'substrate_concentration': 0.1, # mM (common substrate concentration)
'pathway_flux': 25, # μmol/min/mg (measured flux)
'total_enzyme_concentration': 3e-6 # M
}
# Calculate individual enzyme velocities at given substrate concentration
enzyme_velocities = []
for enzyme in pathway_data['enzymes']:
velocity = (enzyme['vmax'] * pathway_data['substrate_concentration']) / (enzyme['km'] + pathway_data['substrate_concentration'])
enzyme_velocities.append(velocity)
# Calculate flux control coefficients (simplified approach)
# In a linear pathway, rate-limiting steps have higher control coefficients
relative_velocities = [v/max(enzyme_velocities) for v in enzyme_velocities]
# Estimate control coefficient based on relative velocity (inverse relationship)
control_coefficients = [1 - v for v in relative_velocities]
total_cc = sum(control_coefficients)
if total_cc > 0:
flux_control_coefficients = [cc/total_cc * len(pathway_data['enzymes']) for cc in control_coefficients]
else:
flux_control_coefficients = [1.0/len(pathway_data['enzymes'])] * len(pathway_data['enzymes'])
# Calculate elasticity coefficients (simplified)
elasticity_coefficients = []
for i, enzyme in enumerate(pathway_data['enzymes']):
# Elasticity (change in rate per change in substrate) ≈ vmax / (km + [S])
elasticity = enzyme['vmax'] / (enzyme['km'] + pathway_data['substrate_concentration'])
elasticity_coefficients.append(elasticity)
# Calculate pathway response to 50% inhibition of each enzyme
inhibition_effects = []
for i, velocity in enumerate(enzyme_velocities):
# If an enzyme is 50% inhibited, its effective rate becomes 0.5 * original
# Simplified model: pathway flux is proportional to minimum velocity
modified_velocities = enzyme_velocities.copy()
modified_velocities[i] = velocity * 0.5
# Assume overall flux is proportional to minimum of all velocities
new_flux = min(modified_velocities) # Simplified model
effect = (new_flux - pathway_data['pathway_flux']) / pathway_data['pathway_flux']
inhibition_effects.append(effect)
# Calculate metabolic control summation
# The sum of control coefficients should equal 1 (flux control) or 0 (concentration control)
flux_control_sum = sum(flux_control_coefficients)
Analyze the metabolic pathway to determine rate-limiting steps and control patterns.
Hint:
- Calculate enzyme velocities at given substrate concentration
- Estimate flux control coefficients using relative velocities
- Consider how inhibition of each enzyme affects overall pathway flux
- Evaluate the relationship between enzyme kinetic parameters and pathway control
# TODO: Calculate metabolic control parameters
rate_limiting_step = "" # Name of most rate-limiting enzyme
flux_control_coefficients = [0, 0, 0] # Control coefficients for each enzyme
elasticity_coefficients = [0, 0, 0] # Elasticity coefficients for each enzyme
inhibition_sensitivity = [0, 0, 0] # Sensitivity to 50% inhibition
flux_response = 0 # Overall pathway flux response
# Calculate velocities for each enzyme
for i, enzyme in enumerate(pathway_data['enzymes']):
velocity = (enzyme['vmax'] * pathway_data['substrate_concentration']) / (enzyme['km'] + pathway_data['substrate_concentration'])
enzyme_velocities[i] = velocity
# Calculate flux control coefficients (simplified approach based on relative rates)
max_velocity = max(enzyme_velocities)
relative_rates = [v/max_velocity for v in enzyme_velocities]
rate_limiting_step_idx = enzyme_velocities.index(min(enzyme_velocities))
rate_limiting_step = pathway_data['enzymes'][rate_limiting_step_idx]['name']
# Calculate elasticity coefficients: dV/d[S] at the working point
for i, enzyme in enumerate(pathway_data['enzymes']):
# dV/d[S] = Vmax*Km / (Km + [S])²
elasticity = (enzyme['vmax'] * enzyme['km']) / (enzyme['km'] + pathway_data['substrate_concentration'])**2
elasticity_coefficients[i] = elasticity
# Calculate response to 50% inhibition
for i in range(len(pathway_data['enzymes'])):
# Simplified: the pathway flux is limited by the slowest step
modified_rates = [r if j != i else r*0.5 for j, r in enumerate(enzyme_velocities)]
new_flux = min(modified_rates)
inhibition_sensitivity[i] = (new_flux - min(enzyme_velocities)) / min(enzyme_velocities)
# Calculate flux control coefficients based on sensitivity analysis
# Using the concept that control coefficient = fractional change in flux / fractional change in enzyme activity
for i in range(len(pathway_data['enzymes'])):
flux_control_coefficients[i] = inhibition_sensitivity[i] / -0.5 # -0.5 because 50% inhibition
# Print results
print(f"Rate-limiting enzyme: {rate_limiting_step}")
print(f"Enzyme velocities: {enzyme_velocities}")
print(f"Flux control coefficients: {flux_control_coefficients}")
print(f"Elasticity coefficients: {elasticity_coefficients}")
print(f"Inhibition sensitivity: {inhibition_sensitivity}")
# Pathway characterization
if max(flux_control_coefficients) > 0.6:
pathway_type = "Single rate-limiting step"
elif max(flux_control_coefficients) > 0.3:
pathway_type = "Distributed control with dominant step"
else:
pathway_type = "Distributed control"
print(f"Pathway control type: {pathway_type}")
How would the control analysis change if substrate concentration increased significantly in the pathway?
ELI10 Explanation
Simple analogy for better understanding
Self-Examination
How does protein structure determine function?
What factors affect enzyme kinetics and catalytic efficiency?
How are metabolic pathways regulated and interconnected?