answer everything in aspect of vet biochemistry without missing any imp. point

I'd love to help with vet biochemistry! Could you let me know what specific topic or question you'd like me to cover?
Asking for Preferences

Which vet biochemistry topic would you like me to cover? · What level of detail do you need?

The user has a vet biochemistry exam question. Let me read the question carefully from their answer:
Q.No.5 - Define the following (2 x 5 = 10): i. Intermediary metabolism ii. Turnover number iii. Specific activity iv. Coenzymes v. Oxidative phosphorylation
Q.No.6 - (partially visible, let me answer what's shown)
Let me look up the medical library skill first, then provide comprehensive exam-focused answers.
Reading File
Now let me search the library for these biochemistry topics in parallel.
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
I have excellent source material. Let me now read the key sections for maximum depth.
Reading File
Reading File
Reading File
Reading File
Reading File
I now have all the material needed for a thorough, exam-focused answer. Let me also get the Lippincott section on coenzymes/holoenzyme/apoenzyme and the oxidative phosphorylation definition section.
Reading File
Finding Sources
I now have all the material needed. Let me compose a thorough, exam-ready answer.

Vet Biochemistry - Q.No.5 Definitions (2 × 5 = 10 marks)


i. Intermediary Metabolism

Definition: Intermediary metabolism refers to the totality of chemical reactions occurring within living cells that involve the breakdown (catabolism) and synthesis (anabolism) of molecules, as well as the interconversions of metabolic intermediates between carbohydrates, lipids, and amino acids.
Key points for exam:
  • It is the "metabolic crossroads" - reactions that link the major pathways (glycolysis, TCA cycle, fatty acid oxidation, amino acid catabolism).
  • Includes interconversions such as glucose → acetyl-CoA → fatty acids, or amino acid carbon skeletons entering the TCA cycle.
  • The complete picture of intermediary metabolism of carbohydrates is complex and interwoven with the metabolism of lipids and amino acids.
  • Regulated by enzyme phosphorylation/dephosphorylation, allosteric control, and hormonal signals.
  • Key intermediates include: pyruvate, acetyl-CoA, oxaloacetate, glucose-6-phosphate.
  • In veterinary context: domestic animals have species-specific differences - e.g., ruminants derive most energy from VFAs (volatile fatty acids), not glucose, so their intermediary metabolism revolves heavily around propionate → gluconeogenesis.
Source: Lippincott Illustrated Reviews Biochemistry, 8th ed.; Tietz Textbook of Laboratory Medicine, 7th ed.

ii. Turnover Number (kcat)

Definition: The turnover number (also called the catalytic constant, kcat) is the number of substrate molecules converted to product per enzyme molecule (or per active site) per unit time (usually per second) when the enzyme is fully saturated with substrate (i.e., at Vmax).
Formula:
kcat = Vmax / [Et] (total enzyme concentration) OR kcat = Vmax / St (total number of active sites)
Key points for exam:
  • Units: reactions/second (s⁻¹ or min⁻¹)
  • Enzyme-catalyzed reactions proceed 10³ to 10⁸ times faster than uncatalyzed reactions.
  • Typical kcat values: 10² to 10⁴ s⁻¹
  • Example values:
    • Carbonic anhydrase: ~4 × 10⁵ reactions/second (one of the fastest known)
    • Lysozyme: ~0.5 reactions/second (very slow)
    • Acetylcholinesterase: ~14,000 s⁻¹
  • kcat is the rate constant for the conversion of the ES (enzyme-substrate) complex → E + P.
  • Catalytic efficiency is expressed as kcat/Km (the specificity constant); for diffusion-limited "perfect enzymes," this approaches 10⁸–10¹⁰ M⁻¹s⁻¹.
  • Vet significance: measuring kcat helps evaluate toxicology - e.g., organophosphate poisoning (in cattle, horses, dogs) inhibits acetylcholinesterase, drastically reducing its turnover number.
Source: Basic Medical Biochemistry - A Clinical Approach, 6e; Lippincott Illustrated Reviews Biochemistry, 8th ed.; Harper's Illustrated Biochemistry, 32nd ed.

iii. Specific Activity

Definition: Specific activity is a measure of enzyme purity. It is defined as the enzyme activity (Vmax or units of activity) per milligram of total protein in a preparation.
Formula:
Specific Activity = Vmax / mg of total protein OR Specific Activity = Units of enzyme activity / mg total protein
Units: μmol substrate converted/min/mg protein (also written as U/mg or nmol/min/mg)
Key points for exam:
  • As an enzyme is purified (more contaminant proteins removed), its specific activity increases.
  • A pure (homogeneous) enzyme has the highest specific activity for that enzyme.
  • Used to monitor progress during enzyme purification steps (e.g., ammonium sulfate precipitation, column chromatography).
  • Differs from total activity (which is the total units in the entire preparation).
  • For a pure enzyme, the turnover number can be calculated once specific activity is known and molecular weight is determined.
  • Vet application: used in clinical enzyme assays - e.g., measuring ALT, AST, CK, ALP in blood to assess liver or muscle damage in animals.
ParameterFormulaUse
Total activityUnits × total volumeTotal enzyme in prep
Specific activityUnits / mg proteinPurity indicator
Turnover numberVmax / [Et]Intrinsic enzyme speed
Source: Harper's Illustrated Biochemistry, 32nd ed. (The Catalytic Constant section)

iv. Coenzymes

Definition: Coenzymes are small, nonprotein organic molecules that associate with certain enzymes and are essential for their catalytic activity. They function as carriers of specific chemical groups, electrons, or atoms from one reaction to another.
Key points for exam:
Terminology clarification (very important for exams):
TermMeaning
ApoenzymeInactive protein portion of enzyme alone
CofactorNonprotein component (metal ion or coenzyme)
HoloenzymeApoenzyme + cofactor = ACTIVE enzyme
CoenzymeSmall organic cofactor (transiently associated)
Prosthetic groupCoenzyme permanently/tightly bound to enzyme
Classification of coenzymes:
  1. Activation-transfer coenzymes - form covalent bond with substrate, activate and transfer a chemical group:
    • CoA (Coenzyme A) - transfers acyl groups (derived from pantothenic acid/Vit B5)
    • Thiamin pyrophosphate (TPP) - transfers aldehyde groups (from Vitamin B1)
    • Biotin - transfers CO₂ (carboxylation reactions)
    • Pyridoxal phosphate (PLP) - transfers amino groups (from Vitamin B6)
    • Tetrahydrofolate (THF) - transfers one-carbon units (from folate/Vit B9)
  2. Oxidation-reduction coenzymes - accept/donate electrons:
    • NAD⁺/NADH - electron carrier (from niacin/Vit B3)
    • FAD/FADH₂ - electron carrier (from riboflavin/Vit B2)
    • NADP⁺/NADPH - anabolic electron carrier
Key distinguishing facts:
  • Coenzymes only transiently associate with the enzyme (e.g., NAD⁺ dissociates after accepting electrons).
  • Prosthetic groups are permanently/covalently bound (e.g., FAD in succinate dehydrogenase, biotin in pyruvate carboxylase).
  • Coenzymes are commonly derived from B-vitamins - a deficiency in B-vitamins causes enzyme dysfunction.
  • Vet significance: thiamin deficiency in ruminants causes polioencephalomalacia (cerebrocortical necrosis) because pyruvate dehydrogenase (requires TPP) is impaired, blocking entry of pyruvate into TCA cycle.
Source: Lippincott Illustrated Reviews Biochemistry, 8th ed.; Basic Medical Biochemistry - A Clinical Approach, 6e

v. Oxidative Phosphorylation

Definition: Oxidative phosphorylation (OXPHOS) is the metabolic process by which ATP is synthesized from ADP and inorganic phosphate (Pi), driven by the energy released from the transfer of electrons along the mitochondrial electron transport chain (ETC) to molecular oxygen (O₂), coupled to the pumping of protons (H⁺) across the inner mitochondrial membrane.
Key points for exam:
Location: Inner mitochondrial membrane
Components:
  • Electron Transport Chain (ETC): Complexes I, II, III, IV
    • NADH → Complex I → CoQ → Complex III → Cyt c → Complex IV → O₂ (→ H₂O)
    • FADH₂ → Complex II → CoQ → (same as above)
  • ATP Synthase (Complex V): Uses proton gradient (chemiosmotic gradient) to synthesize ATP
Mechanism - Mitchell's Chemiosmotic Theory:
  1. NADH and FADH₂ (from glycolysis, TCA cycle, β-oxidation) donate electrons to ETC.
  2. Electrons flow through the chain (exergonic); energy released pumps H⁺ ions from matrix → intermembrane space.
  3. This creates an electrochemical (proton-motive) gradient (Δp) with two components:
    • ΔpH (chemical gradient)
    • Δψ (membrane potential / electrical gradient)
  4. H⁺ flow back into the matrix through ATP synthase (F₀F₁-ATPase), driving ATP synthesis.
ATP yield:
  • NADH → ~2.5 ATP
  • FADH₂ → ~1.5 ATP
  • Total from 1 glucose (complete oxidation): ~30-32 ATP
Inhibitors (vet toxicology - important):
TypeExampleMechanism
ETC inhibitorCyanide, COBlock Complex IV
ETC inhibitorRotenone (insecticide)Block Complex I
ATP synthase inhibitorOligomycinBlock F₀ unit of ATP synthase
UncouplerDNP (2,4-dinitrophenol), ThermogeninDissipate proton gradient without ATP synthesis
  • Uncouplers are clinically relevant in vet medicine: thermogenin (UCP1) in brown adipose tissue of neonates (piglets, lambs, foals) generates heat instead of ATP.
  • Cyanide toxicity in animals (especially cattle from sorghum/sudangrass/cherry leaves) blocks oxidative phosphorylation → histotoxic hypoxia.
Source: Basic Medical Biochemistry - A Clinical Approach, 6e; Lippincott Illustrated Reviews Biochemistry, 8th ed.; Harper's Illustrated Biochemistry, 32nd ed.

Quick Summary Table (for rapid revision)

TermOne-line DefinitionKey Number/Fact
Intermediary metabolismInterconversions of metabolites between carbohydrate, lipid & protein pathwaysHub = Acetyl-CoA & TCA cycle
Turnover number (kcat)Substrate molecules converted per enzyme per second at VmaxCarbonic anhydrase = 4×10⁵ s⁻¹
Specific activityEnzyme activity per mg total proteinIncreases as enzyme is purified
CoenzymesSmall organic nonprotein molecules essential for catalysis; carry chemical groups/electronsMostly derived from B-vitamins
Oxidative phosphorylationATP synthesis coupled to electron transport chain in mitochondria~30-32 ATP per glucose

Vet Exam Tip: In vet biochemistry papers, always link definitions to a clinical/species example - e.g., ruminants for intermediary metabolism, organophosphate poisoning for turnover number, cyanide toxicity for oxidative phosphorylation - it scores extra marks.

(2.5x 2=5) (5x3=15) III. IV. VMuilive phosphorylation Q. No.6. Write short notes on (Any Two) Represent diagrammatically the Cori cycle Deamination reactions of amino acids Effects of temperature and pH on enzyme activity Q. No.7. Describe briefly (Any Three) Discuss the steps of B-oxidation of fatty acids Discuss the steps of TCA cycle including energy production from each cycle. Discuss in brief about Glycogenolysis Discuss enzyme-substrate complex formation

Searching sources...
Let me search all these topics in parallel from the medical library for maximum accuracy.
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Now let me read the detailed sections for all topics in parallel.
Reading File
Reading File
Reading File
Reading File
Reading File
Now let me get the TCA cycle steps, β-oxidation steps detail, temperature/pH effects, and oxidative deamination sections.
Finding Sources
Finding Sources
Finding Sources
I have all the core material. Let me now read a few more targeted sections from what I already have, particularly for TCA cycle steps and β-oxidation steps, and temperature/pH effects.
Reading File
Reading File
I now have all the material needed. Let me write the complete, exam-perfect answers.

Q. No. 6 - Short Notes (Any Two) (2.5 × 2 = 5)


I. Cori Cycle - Diagrammatic Representation

Definition

The Cori cycle (lactic acid cycle) is the metabolic pathway by which lactate produced by anaerobic glycolysis in peripheral tissues (muscle, RBCs) is transported to the liver, reconverted to glucose via gluconeogenesis, and returned to the blood for use by peripheral tissues again.

Steps of the Cori Cycle

        MUSCLE / RBC / Peripheral Tissues
        ──────────────────────────────────
        Glucose (from blood)
             ↓  [Glycolysis - anaerobic]
        Pyruvate
             ↓  [Lactate dehydrogenase (LDH)]
             ↓  NADH → NAD+
        LACTATE  ────────────────────────→ (bloodstream)
                                                ↓
        ──────────────────────────────────────────────────
                         LIVER
        ──────────────────────────────────────────────────
                                         LACTATE (arrives)
                                              ↓  [LDH]
                                              ↓  NAD+ → NADH
                                         Pyruvate
                                              ↓  [Gluconeogenesis - energy costly]
                                              ↓  (2 ATP used)
                                         GLUCOSE ──────────→ (bloodstream → back to muscle)

Diagram (Simplified)

┌─────────────────────────────────────────────────────────────┐
│                        CORI CYCLE                           │
│                                                             │
│   MUSCLE/RBC                        LIVER                   │
│  ┌──────────────┐                ┌──────────────┐           │
│  │  Glucose     │◄───────────────│  Glucose     │           │
│  │     ↓ Glycol │                │     ↑ Gluconeo│          │
│  │  Pyruvate    │                │  Pyruvate    │           │
│  │     ↓ LDH    │                │     ↑ LDH    │           │
│  │  LACTATE ────┼────────────────┼► LACTATE     │           │
│  └──────────────┘                └──────────────┘           │
│                                                             │
│  Net ATP: Muscle uses 2 ATP (net from glycolysis)           │
│           Liver uses 6 ATP (gluconeogenesis costs more)     │
└─────────────────────────────────────────────────────────────┘

Key Points

FeatureDetail
SitesMuscle/RBC → Liver
CarriersLactate (via blood)
Muscle enzymeLDH (pyruvate → lactate)
Liver enzymesLDH + gluconeogenic enzymes
ATP balanceMuscle gains 2 ATP; liver spends 6 ATP (net loss of 4 ATP overall)
FunctionRecycles lactate; prevents lactic acidosis; maintains blood glucose
Vet significanceIn exercising horses/cattle - massive lactate production during sprinting; Cori cycle keeps blood glucose stable
Source: Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 22.12; Yamada's Textbook of Gastroenterology

II. Deamination Reactions of Amino Acids

Definition

Deamination is the removal of the amino (-NH₂) group from an amino acid, resulting in production of an α-keto acid and release of nitrogen (as ammonia, NH₃). It is a key step in amino acid catabolism.

Types of Deamination

1. Transamination (Indirect Deamination)

  • Most amino acids first undergo transamination, transferring their -NH₂ to α-ketoglutarate to form glutamate + an α-keto acid.
  • Enzyme: Aminotransferases (transaminases)
  • Coenzyme required: Pyridoxal phosphate (PLP) - Vitamin B6
Key Reactions:
  Alanine + α-ketoglutarate  ──[ALT/GPT]──►  Pyruvate + Glutamate
  Aspartate + α-ketoglutarate ──[AST/GOT]──► Oxaloacetate + Glutamate
ALT and AST are clinically important in vet diagnostics - elevated in liver disease (hepatitis) in dogs, cats, horses.

2. Oxidative Deamination

  • Glutamate (collected from all other amino acids via transamination) undergoes oxidative deamination to release free NH₃.
  • Enzyme: Glutamate Dehydrogenase (GDH) - mitochondrial
  • Coenzyme: NAD⁺ (for deamination) or NADPH (for reductive amination)
  • Site: Liver and kidney
  Glutamate + NAD⁺  ──[GDH]──►  α-Ketoglutarate + NH₃ + NADH + H⁺
  • GDH is allosterically inhibited by GTP (energy rich), activated by ADP (energy poor)

3. Non-Oxidative Deamination

  • Occurs with specific amino acids:
    • Serine → Pyruvate + NH₃ (via serine dehydratase, requires PLP)
    • Threonine → α-ketobutyrate + NH₃ (via threonine dehydratase)
    • Cysteine → Pyruvate + NH₃ + H₂S
  • These amino acids bypass transamination.

4. D-Amino Acid Oxidase (DAO)

  • Deaminates D-amino acids (not normally used in protein synthesis) in peroxisomes of liver/kidney
  • Enzyme: FAD-dependent oxidase
  • Products: α-keto acid + NH₃ + H₂O₂

Fate of NH₃ from Deamination

  • NH₃ is toxic - rapidly converted to urea (in liver, via urea cycle) for safe excretion.
  • In birds and reptiles (and partially in mammals): converted to uric acid.

Summary Diagram

Amino Acid
    │
    ▼ Transamination (ALT, AST - with PLP)
    ├──── α-Keto acid (enters TCA or gluconeogenesis)
    └──── Glutamate
              │
              ▼ Oxidative Deamination (GDH - NAD⁺)
              ├──── α-Ketoglutarate (re-enters TCA)
              └──── NH₃ ────► Urea Cycle ────► Urea (excreted in urine)
Source: Lippincott Illustrated Reviews Biochemistry, 8th ed., pp. 699-707

III. Effects of Temperature and pH on Enzyme Activity

A. Effect of Temperature

General principle: As temperature increases, enzyme activity increases - up to an optimum, beyond which activity falls sharply due to denaturation.
   Enzyme
   Activity
      │         ╭─────╮   ← Optimum temperature (~37°C for most mammalian enzymes)
      │       ╭─╯     ╰─╮
      │     ╭─╯          ╰──────────
      │   ╭─╯                        (denaturation)
      └───┴────────────────────────► Temperature
          10°C  25°C  37°C  50°C+
PhaseWhat happens
Rising phase (< optimum)↑ Kinetic energy → more enzyme-substrate collisions → ↑ activity. Every 10°C rise roughly doubles reaction rate (Q₁₀ = 2)
Optimum temperatureMaximum activity; for most mammalian/vet enzymes ~37-40°C
Above optimumHeat breaks hydrogen bonds and hydrophobic interactions → protein denaturation → loss of 3D shape → loss of active site → rapid ↓ activity
Vet relevance:
  • Fever in animals (pyrexia) initially enhances immune enzyme activity, but extreme hyperthermia (>42°C in horses: heat stroke) denatures enzymes.
  • Hypothermia (e.g., newborn piglets/lambs in cold) slows metabolic enzyme rates → hypoglycemia risk.
  • Thermostable enzymes in rumen microbes of cattle allow activity across a wider temperature range.

B. Effect of pH

General principle: Each enzyme has an optimum pH at which activity is maximal. Above or below this pH, activity decreases.
   Enzyme
   Activity
      │              ╭─╮    ← Optimum pH (varies per enzyme)
      │            ╭─╯ ╰─╮
      │          ╭─╯      ╰─╮
      │        ╭─╯           ╰───
      └────────┴──────────────────► pH
          1    3    5    7    9   11
EnzymeOptimum pHLocation
Pepsin (stomach protease)~2.0Stomach
Trypsin (pancreatic protease)~7.5-8.0Small intestine
Salivary amylase~6.8-7.0Oral cavity
Alkaline phosphatase~9-10Intestine/bone
Arginase~9.5Liver (urea cycle)
Acid phosphatase~5.0Lysosomes/prostate
Why pH affects enzyme activity:
  1. Changes in pH alter the ionization state of amino acid side chains in the active site (especially His, Asp, Glu, Lys, Arg, Cys).
  2. Extreme pH changes can break ionic bonds and hydrogen bonds, denaturing the enzyme.
  3. pH affects substrate binding AND catalytic mechanism (proton donors/acceptors in active site).
Vet relevance:
  • Rumen acidosis in cattle (grain overload): pH drops to 5.0-5.5, inhibiting rumen microbial enzymes → digestive failure.
  • Alkalosis in milk fever (hypocalcaemia) alters enzyme function systemically.
  • Enzyme assays (ALT, AST, ALP) must be run at controlled pH for accurate clinical results.
Source: Lippincott Illustrated Reviews Biochemistry, 8th ed.; Tietz Textbook of Laboratory Medicine, 7th ed.


Q. No. 7 - Brief Descriptions (Any Three) (5 × 3 = 15)


I. Steps of β-Oxidation of Fatty Acids

Definition

β-Oxidation is the stepwise degradation of fatty acids in the mitochondrial matrix by sequential removal of 2-carbon units as acetyl-CoA, with concurrent production of NADH and FADH₂.

Activation and Transport (Pre-requisite steps)

Step 0a - Activation (Cytoplasm):
  Fatty acid + CoA + ATP ──[Acyl-CoA synthetase]──► Fatty acyl-CoA + AMP + PPi
  • ATP is consumed (equivalent to 2 high-energy phosphates lost)
  • Occurs on outer mitochondrial membrane
Step 0b - Transport into Mitochondria (Carnitine Shuttle):
  • Long-chain fatty acyl-CoA cannot cross inner mitochondrial membrane directly.
  • Transferred to carnitine by CPT-I (carnitine palmitoyltransferase I) on outer membrane → acylcarnitine
  • Acylcarnitine crosses via CACT translocase
  • Re-transferred to CoA inside by CPT-II → fatty acyl-CoA in matrix
  • Vet point: CPT-I deficiency in dogs/cats causes lipid myopathy; carnitine supplementation used in dilated cardiomyopathy in Boxers.

The 4 Repeating Steps of β-Oxidation

Each cycle shortens the fatty acyl-CoA by 2 carbons:

Step 1: FAD-dependent Oxidation (Dehydrogenation)

  Fatty acyl-CoA + FAD ──[Acyl-CoA dehydrogenase]──► trans-Δ²-Enoyl-CoA + FADH₂
  • Creates a double bond between C-2 (α) and C-3 (β) carbon (trans configuration)
  • Produces 1 FADH₂

Step 2: Hydration

  trans-Δ²-Enoyl-CoA + H₂O ──[Enoyl-CoA hydratase]──► L-3-Hydroxyacyl-CoA
  • Adds water across the double bond → hydroxyl group on β-carbon (C-3)
  • L-stereospecific product

Step 3: NAD⁺-dependent Oxidation (Second Dehydrogenation)

  L-3-Hydroxyacyl-CoA + NAD⁺ ──[3-Hydroxyacyl-CoA dehydrogenase]──► 3-Ketoacyl-CoA + NADH + H⁺
  • Oxidizes the hydroxyl group to a keto group
  • Produces 1 NADH

Step 4: Thiolysis (Thiolytic Cleavage)

  3-Ketoacyl-CoA + CoA ──[β-Ketothiolase / thiolase]──► Acetyl-CoA + Fatty acyl-CoA (2C shorter)
  • Cleaves the β-keto bond → releases 1 Acetyl-CoA
  • Shortened fatty acyl-CoA re-enters Step 1

Summary Table for β-Oxidation (per cycle)

StepEnzymeProduct
1. OxidationAcyl-CoA dehydrogenaseFADH₂
2. HydrationEnoyl-CoA hydrataseL-3-Hydroxyacyl-CoA
3. Oxidation3-Hydroxyacyl-CoA dehydrogenaseNADH
4. Thiolysisβ-KetothiolaseAcetyl-CoA + shortened acyl-CoA
Mnemonic: "Oh HEAT" - Oxidation, Hydration, (second) oxidation (E=enzyme), thiolysis → Acetyl-CoA/Tail shorter

Energy Yield (Palmitate C16 as example)

StageCycles/MolesATP per unitTotal ATP
Activation--2-2
β-Oxidation (7 cycles)7 FADH₂× 1.5+10.5
β-Oxidation (7 cycles)7 NADH× 2.5+17.5
TCA cycle (8 Acetyl-CoA)8 × 1010+80
NET TOTAL106 ATP
Source: Harper's Illustrated Biochemistry, 32nd ed.; Guyton & Hall Medical Physiology; Goldman-Cecil Medicine

II. Steps of TCA Cycle Including Energy Production

Definition

The Tricarboxylic Acid (TCA) / Krebs / Citric Acid Cycle is a cyclic series of 8 enzyme-catalyzed reactions in the mitochondrial matrix that completely oxidizes acetyl-CoA (2-carbon unit) to CO₂, capturing energy as NADH, FADH₂, and GTP.

Entry Point

  • Acetyl-CoA (2C) + Oxaloacetate (4C) → Citrate (6C)

8 Steps of TCA Cycle

#ReactionEnzymeProductsEnergy
1Oxaloacetate (4C) + Acetyl-CoA (2C) → Citrate (6C)Citrate synthaseCitrate-
2Citrate → IsocitrateAconitase (via cis-Aconitate)Isocitrate-
3Isocitrate → α-Ketoglutarate (5C) + CO₂Isocitrate dehydrogenaseNADH, CO₂1 NADH
4α-Ketoglutarate (5C) → Succinyl-CoA (4C) + CO₂α-Ketoglutarate dehydrogenase complex (needs TPP, Lipoate, FAD, NAD⁺, CoA)NADH, CO₂1 NADH
5Succinyl-CoA → SuccinateSuccinyl-CoA synthetaseGTP (= 1 ATP)1 GTP
6Succinate → FumarateSuccinate dehydrogenase (Complex II of ETC!)FADH₂1 FADH₂
7Fumarate + H₂O → L-MalateFumaraseMalate-
8L-Malate → OxaloacetateMalate dehydrogenaseNADH1 NADH
→ Oxaloacetate is regenerated and combines with a new Acetyl-CoA → cycle continues

TCA Cycle Diagram (Linear summary)

         Acetyl-CoA (2C)
              ↓ [Citrate synthase]
Oxaloacetate (4C) → Citrate (6C)
      ↑                ↓ [Aconitase]
   NADH (Step 8)   Isocitrate (6C)
      ↑                ↓ [Isocitrate DH]  → CO₂ + NADH
  L-Malate (4C)   α-Ketoglutarate (5C)
      ↑                ↓ [α-KG DH complex] → CO₂ + NADH
  Fumarate (4C)   Succinyl-CoA (4C)
      ↑ FADH₂          ↓ [Succinyl-CoA synthetase] → GTP
  Succinate (4C) ◄──────┘
   [Succinate DH → FADH₂]

Energy Production Per Turn of TCA Cycle

MoleculeNo. ProducedATP Equivalent
NADH33 × 2.5 = 7.5 ATP
FADH₂11 × 1.5 = 1.5 ATP
GTP11 ATP
Total per turn~10 ATP
  • Since 1 glucose produces 2 Acetyl-CoA, TCA cycle yields ~20 ATP from one glucose molecule (before ETC).
  • 2 CO₂ released per turn (net carbon balance is maintained).

Key Regulatory Enzymes

EnzymeActivated byInhibited by
Citrate synthaseADP, low energyATP, NADH, Citrate
Isocitrate DHADP, Ca²⁺ATP, NADH
α-KG DH complexCa²⁺, ADPATP, NADH, Succinyl-CoA
Vet relevance: In ketosis/acetonaemia of dairy cows (negative energy balance), oxaloacetate is diverted to gluconeogenesis → TCA cycle slows → Acetyl-CoA accumulates → ketone body formation (acetoacetate, β-hydroxybutyrate, acetone).
Source: Harper's Illustrated Biochemistry, 32nd ed.; Basic Medical Biochemistry - A Clinical Approach, 6e

III. Glycogenolysis

Definition

Glycogenolysis is the enzymatic breakdown (degradation) of glycogen stored in liver and skeletal muscle to release glucose (for blood glucose maintenance in liver) or glucose-6-phosphate (for ATP production in muscle).
It is NOT the reverse of glycogen synthesis - uses completely different enzymes.

Steps of Glycogenolysis

Step 1: Glycogen Phosphorylase Action (Main degrading enzyme)

  Glycogen (n glucose units) + Pᵢ ──[Glycogen phosphorylase]──► Glucose-1-phosphate + Glycogen (n-1 units)
  • Cleaves α-1,4 glycosidic bonds by phosphorolysis (not hydrolysis - so no ATP wasted)
  • Works from non-reducing ends inward
  • Requires Pyridoxal phosphate (PLP) as cofactor
  • Continues until it reaches 4 glucose units from an α-1,6 branch point (cannot go further alone)

Step 2: Debranching Enzyme Action (at branch points)

The debranching enzyme has 2 activities:
  1. Transferase activity: Moves 3 of the 4 remaining glucose units from branch → main chain (as α-1,4 linkage)
  2. Glucosidase (α-1,6 activity): Cleaves the last glucose at the α-1,6 branch point → releases FREE glucose (not phosphorylated)
  Branch glucose ──[α-1,6-glucosidase]──► Free Glucose (enters bloodstream directly in liver)

Step 3: Phosphoglucomutase

  Glucose-1-phosphate ──[Phosphoglucomutase]──► Glucose-6-phosphate

Step 4: Glucose-6-Phosphatase (LIVER ONLY)

  Glucose-6-phosphate ──[Glucose-6-phosphatase]──► Free Glucose + Pᵢ
  • This enzyme is present only in liver and kidney (NOT in muscle)
  • Allows liver to export glucose to blood to maintain blood glucose (~80 mg/dL)
  • Muscle lacks this enzyme → glucose-6-phosphate is used only locally for glycolysis

Hormonal Regulation of Glycogenolysis

Glucagon (liver) ──► cAMP ──► PKA ──► Phosphorylase kinase (active) ──► Glycogen phosphorylase (active)
Epinephrine (muscle + liver)                                    ─┘       → GLYCOGENOLYSIS ↑
                                                                         → Glycogen synthase ↓ (phosphorylated = inactive)
SignalTissueEffect
GlucagonLiverActivates glycogenolysis (low blood glucose)
EpinephrineLiver + MuscleActivates glycogenolysis (fight-or-flight)
Ca²⁺ (contraction)MuscleDirectly activates phosphorylase kinase
AMP (high)MuscleAllosterically activates phosphorylase b
InsulinBothInhibits glycogenolysis; activates glycogen synthesis

Products Summary

TissueFinal product of glycogenolysisFate
LiverFree glucose (via G-6-Phosphatase)Released to blood
MuscleGlucose-6-phosphate (no G-6-Pase)Enters glycolysis → ATP

Vet Relevance

  • Glycogen storage diseases (GSD): e.g., Pompe disease (GSD Type II) - acid maltase deficiency - seen in Brahman cattle → accumulation of glycogen in muscle/heart
  • Capture myopathy in wild animals (deer, zebra) - epinephrine surge → massive glycogenolysis → lactic acidosis
  • Hypoglycemia in neonatal lambs/piglets - limited glycogen stores at birth; after cord clamping, epinephrine + glucagon activate glycogenolysis to restore glucose
Source: Basic Medical Biochemistry - A Clinical Approach, 6e; Goldman-Cecil Medicine

IV. Enzyme-Substrate Complex Formation

Definition

The enzyme-substrate (ES) complex is the transient, non-covalent molecular complex formed when a substrate molecule binds to the active site of an enzyme, preceding catalysis.
The general reaction:
  E + S  ⇌  ES  →  E + P
       k₁ / k₋₁   k₂(k_cat)

Nature of the Active Site

  • The active site is a 3-dimensional cleft/pocket formed by a small number of amino acid residues.
  • It has:
    • Binding site - holds substrate in correct orientation
    • Catalytic site - performs the chemical transformation
  • Key amino acids: Ser, His, Asp, Cys, Lys, Glu (based on enzyme type)

Two Models of ES Complex Formation

1. Lock-and-Key Model (Emil Fischer, 1894)

  • Substrate and active site are geometrically complementary - like a key fitting a lock.
  • The enzyme is a rigid structure with a pre-formed active site that exactly fits the substrate.
  • Simple but outdated - does not explain enzyme flexibility or why some substrates with minor structural changes are not bound.
  Enzyme (rigid shape) + Substrate (exact fit) → ES complex → Products
       [Lock]                  [Key]

2. Induced Fit Model (Daniel Koshland, 1958) - CURRENTLY ACCEPTED

  • The active site is NOT rigid - it is a flexible, dynamic structure.
  • As the substrate approaches and binds, it induces a conformational change in the enzyme.
  • This conformational change:
    1. Repositions functional groups in the active site for optimal catalysis
    2. Improves the cosubstrate binding site
    3. Excludes water from the active site (preventing unwanted hydrolysis)
    4. Can activate adjacent subunits (cooperativity)
  Enzyme (open/flexible) + Substrate → Enzyme changes shape → Perfect-fit ES complex → Products
Classic example: Glucokinase - when glucose binds, the entire enzyme cleft closes around it, improving ATP binding site and excluding water.

Forces Stabilizing the ES Complex

  1. Hydrogen bonds between -OH, -NH₂ groups of substrate and enzyme
  2. Electrostatic/ionic interactions between charged groups
  3. Hydrophobic interactions between nonpolar regions
  4. Van der Waals forces (short-range attractive forces)
  5. Occasionally transient covalent bonds (e.g., serine proteases - acyl-enzyme intermediate)

Significance of ES Complex

  • Determines substrate specificity (explains why enzymes are selective)
  • Allows enzyme to lower activation energy (Ea) by placing substrate in correct orientation and stressing key bonds
  • Forms the transition-state complex → highest energy intermediate → products released
  • Basis of competitive inhibition (inhibitor competes with substrate for active site)

Vet Example

  • Organophosphate poisoning (common in cattle, dogs, sheep from pesticide exposure):
    • Organophosphate covalently bonds to Serine in the active site of acetylcholinesterase
    • ES complex formation permanently blocked → no ACh hydrolysis → continuous nerve stimulation → SLUD signs (salivation, lacrimation, urination, defecation)
    • Treatment: Atropine (blocks ACh receptor) + Pralidoxime/2-PAM (reactivates enzyme if given early)
Source: Basic Medical Biochemistry - A Clinical Approach, 6e; Henry's Clinical Diagnosis and Management by Laboratory Methods

Quick Revision Summary Card

TopicKey Enzyme(s)Key Product(s)Vet Relevance
Cori CycleLDH, Gluconeogenic enzymesGlucose ↔ LactateExercising horses; lactic acidosis
DeaminationALT, AST, GDH, D-amino acid oxidaseα-Keto acids + NH₃ → UreaLiver disease (elevated ALT/AST in dogs)
Temp & pH on enzymesConcept-basedActivity bell-curve vs optimumRumen acidosis; fever; heat stroke
β-OxidationAcyl-CoA DH, Enoyl hydratase, Hydroxyacyl DH, ThiolaseAcetyl-CoA, NADH, FADH₂Ketosis in dairy cows; carnitine deficiency
TCA CycleCitrate synthase, Isocitrate DH, α-KG DH, etc.3 NADH, 1 FADH₂, 1 GTP, 2 CO₂ per turnAcetonaemia in cattle
GlycogenolysisGlycogen phosphorylase, Debranching enzyme, G-6-PaseGlucose (liver), G-6-P (muscle)Hypoglycemia in neonates; GSD in Brahman cattle
ES ComplexEnzyme-specificTransition state complexOrganophosphate poisoning

give me actual diagram

Let me fetch the actual textbook diagrams for all these topics simultaneously.
Loading Image
Loading Image
Loading Image
Loading Image
Loading Image
Now let me fetch the remaining diagrams - TCA cycle, oxidative deamination (GDH), glycogenolysis, and ES complex induced fit.
Loading Image
Loading Image
Loading Image
Finding Sources
Finding Sources
Now let me get the TCA cycle diagram and glycogenolysis diagram and the induced-fit (after glucose binding) image.
Loading Image
Finding Sources
Finding Sources
Found the TCA and glycogenolysis diagram URLs. Let me fetch them now.
Loading Image
Reading File
I have all the actual textbook diagrams. Here is the complete visual answer:

Actual Textbook Diagrams - All Topics


1. Cori Cycle Diagram

(Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 22.12)
Cori Cycle - Glucose produced in liver by gluconeogenesis (uses 6 ATP), travels via blood to RBC/muscle, undergoes glycolysis to produce 2 Lactate (generates 2 ATP), lactate returns to liver via blood for reconversion to glucose
Key read: Liver spends 6 ATP on gluconeogenesis; muscle/RBC gains only 2 ATP from glycolysis. Net cost = 4 ATP. Cycle prevents lactic acidosis and recycles carbon back to blood glucose.

2. Deamination Reactions - Transamination (ALT & AST) Diagram

(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 19.8)
A: ALT reaction - Alanine + α-Ketoglutarate → Pyruvate + Glutamate (PLP cofactor). B: AST reaction - Aspartate + α-Ketoglutarate ↔ Oxaloacetate + Glutamate (PLP cofactor)

3. Oxidative Deamination (GDH) + Combined Transamination Diagram

(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 19.12)
A: Disposal of amino acids - NH2 groups from alpha-amino acids → Transamination (Aminotransferase) → Glutamate → Oxidative Deamination (Glutamate dehydrogenase, NAD+) → NH3 + NADH + alpha-Ketoglutarate. B: Synthesis of amino acids - Reverse process using NADPH and NH3 via Reductive Amination
Key read: Panel A = catabolism (deamination, releases free NH₃). Panel B = anabolism (reductive amination, incorporates NH₃ into amino acids). GDH sits at the junction and is bidirectional.

4. β-Oxidation of Fatty Acids - Full Step-by-Step Diagram

(Harper's Illustrated Biochemistry, 32nd ed., Fig. 22-3)
Beta-oxidation steps: (1) Fatty acid + CoA + ATP → Acyl-CoA (Thiokinase/Acyl-CoA synthetase); crosses inner mitochondrial membrane via Carnitine transporter; then repeating cycle: (2) Acyl-CoA + FAD → trans-Δ2-Enoyl-CoA + FADH2 (Acyl-CoA dehydrogenase); (3) + H2O → L-3-Hydroxyacyl-CoA (Enoyl-CoA hydratase); (4) + NAD+ → 3-Ketoacyl-CoA + NADH (L-3-Hydroxyacyl-CoA dehydrogenase); (5) + CoA → Acyl-CoA (2C shorter) + Acetyl-CoA (Thiolase) → enters Citric acid cycle → 2CO2

4b. β-Oxidation Reactions Written Out (Guyton & Hall Fig. 69.3)

(Guyton & Hall Textbook of Medical Physiology)
Beta-oxidation chemical equations: (1) Fatty acid + CoA + ATP ←Thiokinase→ Fatty acyl-CoA + AMP + Pyrophosphate; (2) Fatty acyl-CoA + FAD ←Acyl dehydrogenase→ Enoyl-CoA + FADH2; (3) Enoyl-CoA + H2O ←Enoyl hydrase→ β-Hydroxyacyl-CoA; (4) β-Hydroxyacyl-CoA + NAD+ ←β-Hydroxyacyl dehydrogenase→ β-Ketoacyl-CoA + NADH + H+; (5) β-Ketoacyl-CoA + CoA ←Thiolase→ shorter Fatty acyl-CoA + Acetyl-CoA

5. TCA (Krebs/Citric Acid) Cycle - Complete Diagram

(Harper's Illustrated Biochemistry, 32nd ed., Fig. 16-3)
Complete TCA cycle: Acetyl-CoA + Oxaloacetate → Citrate (Citrate synthase) → Cis-aconitate → Isocitrate (Aconitase, Fe2+) → Oxalosuccinate → α-Ketoglutarate + CO2 + NADH (Isocitrate dehydrogenase) → Succinyl-CoA + CO2 + NADH (α-Ketoglutarate dehydrogenase complex) → Succinate + ATP (Succinate thiokinase) → Fumarate + FADH2 (Succinate dehydrogenase, inhibited by Malonate) → L-Malate + H2O (Fumarase) → Oxaloacetate + NADH (Malate dehydrogenase) → cycle repeats. Fluoroacetate inhibits Aconitase; Arsenite inhibits α-KG dehydrogenase.
Key read: Each full turn produces 3 NADH, 1 FADH₂, 1 ATP (as GTP), and 2 CO₂. Note the inhibitors shown in red (Fluoroacetate, Arsenite, Malonate) - important for vet toxicology (fluoroacetate = 1080 rodenticide → fatal in livestock).

6. Oxidative Phosphorylation - Complete Concept Map + ETC Diagram

(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 6.18)
Oxidative phosphorylation: TCA cycle and beta-oxidation produce NADH and FADH2 → donate electrons to Electron Transport Chain (Complex I: FMN/FAD-dehydrogenases → CoQ → Complex III: Cytochrome bc1 → Cytochrome c → Complex IV: Cytochrome a+a3/cytochrome c oxidase → reacts with O2 → H2O) → electron flow pumps H+ from matrix to intermembrane space → creates electrical and pH gradient across inner mitochondrial membrane → H+ re-enters matrix through F0 channel of ATP synthase (Complex V) → conformational change in F1 domain → ATP synthesis from ADP + Pi. Inner mitochondrial membrane is impermeable to most small molecules and contains specific transporters.

7. Enzyme-Substrate Complex Formation - Induced Fit Model

(Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 8.5/8.6)
Before binding - Glucokinase open conformation (substrate approaching):
Glucokinase enzyme shown as large space-filling model with open cleft. D-glucose (small red sphere) approaching - not yet bound to active site. This is the pre-binding "open" state.
After binding - Induced Fit (cleft closes around glucose):
Glucokinase after glucose binding - the cleft has closed around the glucose molecule (red sphere now trapped between the two domains shown in white and gray). The enzyme has changed its 3D shape (induced fit) - the cleft closes, improving ATP binding site and excluding water from the active site.
Active site hydrogen bonding detail:
Glucose binding site in glucokinase showing hydrogen bonds (dashed lines) between glucose hydroxyl groups (red) and active site amino acid residues: Asp-205, Asn-204, Asn-231, Glu-256, Glu-290, Gly-229. Each -OH of glucose is held by multiple H-bonds. Panel B compares glucose vs galactose (differ only in one -OH position shown in red) explaining enzyme specificity.

Quick Diagram Reference Guide

TopicWhat the Diagram ShowsKey Exam Point
Cori CycleLiver ↔ RBC/Muscle glucose-lactate shuttleLiver costs 6 ATP; muscle gains 2 ATP
TransaminationALT: Ala→Pyr + Glu; AST: Asp→OAA + GluBoth need PLP (Vit B6)
Oxidative DeaminationGDH: Glutamate → α-KG + NH₃ (NAD⁺)Bidirectional; GTP inhibits, ADP activates
β-Oxidation4-step cycle: FAD-oxidation → Hydration → NAD-oxidation → ThiolysisEach cycle: 1 FADH₂ + 1 NADH + 1 Acetyl-CoA
TCA Cycle8 enzyme-catalyzed steps; circular3 NADH + 1 FADH₂ + 1 GTP + 2 CO₂ per turn
Oxidative PhosphorylationETC (Complex I→IV) + ATP Synthase (V)H⁺ gradient drives ATP synthesis (Mitchell's chemiosmosis)
ES Complex / Induced FitGlucokinase cleft opens → glucose enters → cleft closesEnzyme changes shape on substrate binding

again

Could you clarify what you'd like me to show again?
Asking for Preferences

What would you like me to show again?

answer everything in aspect of vet biochemistry without missing any imp. point(2.5x 2=5) (5x3=15) III. IV. VMuilive phosphorylation Q. No.6. Write short notes on (Any Two) Represent diagrammatically the Cori cycle Deamination reactions of amino acids Effects of temperature and pH on enzyme activity Q. No.7. Describe briefly (Any Three) Discuss the steps of B-oxidation of fatty acids Discuss the steps of TCA cycle including energy production from each cycle. Discuss in brief about Glycogenolysis Discuss enzyme-substrate complex formationgive me actual diagramagain

Here are all the actual textbook diagrams for every topic, displayed together in one place:

ACTUAL DIAGRAMS — Vet Biochemistry Exam


Q.6 — SHORT NOTES


1. Cori Cycle — Diagrammatic Representation

(Basic Medical Biochemistry - A Clinical Approach, 6e)
Cori Cycle
Read the diagram:
  • RBC/Muscle → Glucose → Glycolysis → 2 Lactate (yields 2 ATP)
  • Lactate travels via blood to Liver
  • Liver → Lactate → Gluconeogenesis → Glucose (costs 6 ATP)
  • Glucose travels back via blood to muscle/RBC
  • Net energy cost = 4 ATP per cycle (liver pays for muscle's anaerobic work)

2. Deamination Reactions of Amino Acids

Step 1 — Transamination (ALT & AST reactions):
(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 19.8)
ALT and AST transamination reactions
Step 2 — Oxidative Deamination by Glutamate Dehydrogenase (GDH):
(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 19.12)
Oxidative deamination - GDH releases free NH3 from glutamate using NAD+; Panel B shows reverse reductive amination using NADPH
Read the diagram:
  • Panel A (Catabolism/Disposal): Amino acids → Transamination (Aminotransferase + PLP) → Glutamate → Oxidative Deamination (GDH + NAD⁺) → NH₃ released + NADH
  • Panel B (Anabolism/Synthesis): Reverse - NH₃ + α-KG → Glutamate (GDH + NADPH) → Transamination → Amino acids
  • NH₃ is toxic → enters Urea Cycle → excreted as urea

3. Effects of Temperature & pH on Enzyme Activity

(Generated from authoritative biochemistry sources)
Generating Image

Two scientific graphs side by side for a veterinary biochemistry exam. Left graph: "Effect of Temperature on Enzyme Activity" - x-axis labeled "Temperature (°C)" with values 0, 10, 20, 30, 37, 40, 50, 60. Y-axis labeled "Enzyme Activity". Bell-shaped curve peaking at 37-40°C labeled "Optimum temperature (37-40°C for mammalian enzymes)". Rising phase labeled "Q10 effect: rate doubles per 10°C rise". Falling phase after peak labeled "Denaturation - H-bonds break, active site lost". Right graph: "Effect of pH on Enzyme Activity" - x-axis labeled "pH" with values 1-12. Y-axis labeled "Enzyme Activity". Three separate bell curves: one peaking at pH 2 labeled "Pepsin (stomach)", one peaking at pH 6.8-7 labeled "Salivary amylase", one peaking at pH 7.5-8 labeled "Trypsin (pancreas)". Title at top: "Effects of Temperature and pH on Enzyme Activity". Clean white background, professional style, clear labels, bold axes.

Effects of Temperature and pH on Enzyme Activity
Read the diagram:
  • Both graphs show a bell-shaped curve - activity rises to an optimum then falls
  • Temperature: Optimum ~37-40°C for most mammalian/vet enzymes. Above optimum → denaturation → permanent loss of activity
  • pH: Each enzyme has its own optimum - Pepsin (pH 2), Salivary amylase (pH 6.8), Trypsin (pH 7.5-8), Alkaline phosphatase (pH 9-10)
  • Vet point: Rumen acidosis (pH drops to 5) inactivates rumen enzymes; fever >42°C in horses causes enzyme denaturation


Q.7 — BRIEF DESCRIPTIONS


4. β-Oxidation of Fatty Acids — Steps Diagram

Full pathway with activation + carnitine transport + 4 repeating steps:
(Harper's Illustrated Biochemistry, 32nd ed., Fig. 22-3)
Beta-oxidation complete pathway showing activation of fatty acid to acyl-CoA by acyl-CoA synthetase using ATP and CoA-SH, transport across inner mitochondrial membrane via carnitine transporter, then 4-step repeating cycle: Step 2 - Acyl-CoA + FAD → trans-Δ2-Enoyl-CoA + FADH2 (Acyl-CoA dehydrogenase); Step 3 - + H2O → L-3-Hydroxyacyl-CoA (Enoyl-CoA hydratase); Step 4 - + NAD+ → 3-Ketoacyl-CoA + NADH (L-3-Hydroxyacyl-CoA dehydrogenase); Step 5 - + CoA → 2-carbon shorter Acyl-CoA + Acetyl-CoA (Thiolase). Acetyl-CoA enters Citric acid cycle producing 2CO2
Chemical equations for each step:
(Guyton & Hall Textbook of Medical Physiology, Fig. 69.3)
Beta-oxidation chemical equations: (1) Fatty acid + CoA + ATP → Fatty acyl-CoA + AMP + Pyrophosphate via Thiokinase; (2) Fatty acyl-CoA + FAD → Enoyl-CoA + FADH2 via Acyl dehydrogenase; (3) Enoyl-CoA + H2O → beta-Hydroxyacyl-CoA via Enoyl hydrase; (4) beta-Hydroxyacyl-CoA + NAD+ → beta-Ketoacyl-CoA + NADH + H+ via beta-Hydroxyacyl dehydrogenase; (5) beta-Ketoacyl-CoA + CoA → shorter Fatty acyl-CoA + Acetyl-CoA via Thiolase
Energy yield summary (Palmitate C16):
StepYieldATP
Activation-2 ATP used-2
7 cycles × FADH₂7 × 1.5+10.5
7 cycles × NADH7 × 2.5+17.5
8 Acetyl-CoA → TCA8 × 10+80
NET106 ATP

5. TCA Cycle — Steps + Energy Production

(Harper's Illustrated Biochemistry, 32nd ed., Fig. 16-3)
Complete TCA/Krebs/Citric Acid Cycle diagram showing all 8 steps: Acetyl-CoA + Oxaloacetate → Citrate (Citrate synthase); Citrate → Cis-aconitate → Isocitrate (Aconitase, requires Fe2+, inhibited by Fluoroacetate); Isocitrate → Oxalosuccinate → alpha-Ketoglutarate + CO2 + NADH (Isocitrate dehydrogenase, Mn2+); alpha-Ketoglutarate → Succinyl-CoA + CO2 + NADH (alpha-Ketoglutarate dehydrogenase complex, inhibited by Arsenite); Succinyl-CoA → Succinate + ATP from ADP+Pi (Succinate thiokinase, CoA-SH, Mg2+); Succinate → Fumarate + FADH2 (Succinate dehydrogenase, inhibited by Malonate); Fumarate + H2O → L-Malate (Fumarase); L-Malate → Oxaloacetate + NADH + H+ (Malate dehydrogenase, NAD+). Cycle repeats.
Energy per turn:
ProductNumberATP equivalent
NADH33 × 2.5 = 7.5
FADH₂11 × 1.5 = 1.5
GTP/ATP11.0
Total~10 ATP
Vet point: Note Fluoroacetate (1080 rodenticide - toxic to dogs, cats, livestock) blocks Aconitase → TCA stops → no ATP → cardiac arrest. Arsenite blocks α-KG dehydrogenase. Malonate competitively inhibits Succinate dehydrogenase.

6. Glycogenolysis

Loading Image
(Harper's Illustrated Biochemistry, 32nd ed., Fig. 18-4)
Steps in glycogenolysis: Step 1 - Phosphorylase cleaves alpha-1,4 glucosidic bonds from non-reducing ends releasing Glucose-1-phosphate, continuing until 4 glucose residues remain before a branch point. Step 2 - Glucan transferase (part of debranching enzyme) transfers 3 glucose units from branch to main chain. Step 3 - Debranching enzyme (alpha-1,6-glucosidase) cleaves the single remaining branch glucose releasing free glucose. Process repeats until glycogen is fully degraded. Blue circles = glucose in 1→4 bonds (main chain); orange circles = glucose in 1→4 bonds (branch); connection between orange and blue = 1→6 glucosidic bond (branch point).
Read the diagram:
  • Phosphorylase (needs PLP/Vit B6): removes glucose units one by one from non-reducing ends → Glucose-1-phosphate
  • Glucan transferase: shifts 3-unit block from branch to main chain (exposes the α-1,6 branch point)
  • Debranching enzyme (α-1,6-glucosidase): cleaves last branch glucose → releases free glucose (only free glucose in the whole pathway - not phosphorylated)
  • Glucose-1-P → Phosphoglucomutase → Glucose-6-P
  • Liver only: Glucose-6-phosphatase → Free glucose → blood
  • Muscle: No glucose-6-phosphatase → G-6-P enters glycolysis directly
Hormonal control:
Glucagon/Epinephrine → cAMP → PKA → Phosphorylase kinase (active)
                                          ↓
                              Glycogen phosphorylase b → a (ACTIVE)
                                          ↓
                                  GLYCOGENOLYSIS ↑

7. Enzyme-Substrate Complex Formation

A. Active site hydrogen bonding (lock-and-key basis):
(Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 8.5)
Glucose binding site in glucokinase showing hydrogen bond interactions (dashed lines) between each hydroxyl group of glucose (shown in red/pink) and specific active site amino acid residues: Asp-205, Asn-204, Asn-231, Glu-256, Glu-290, Gly-229. Multiple H-bonds anchor substrate. Panel B: galactose (differs only in one OH position shown in red) is NOT phosphorylated - demonstrates enzyme specificity
B. Induced Fit - BEFORE binding (enzyme open conformation):
(Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 8.6A)
Glucokinase enzyme in open conformation before substrate binding - large space-filling molecular model showing open cleft between two domains (white = one lobe, gray = other lobe). D-glucose substrate shown as small red sphere approaching but not yet bound. This represents the pre-binding state.
C. Induced Fit - AFTER binding (cleft closes around substrate):
(Basic Medical Biochemistry - A Clinical Approach, 6e, Fig. 8.6B)
Glucokinase enzyme AFTER glucose binding - the cleft between the two domains (white and gray lobes) has closed completely around the glucose molecule (small red sphere now trapped at the interface). The entire enzyme has changed conformation (induced fit). This closure improves ATP binding site and excludes water from active site preventing unwanted hydrolysis.
Read the 3 diagrams together:
  • Fig A (H-bond detail): Shows WHY the substrate fits - multiple specific hydrogen bonds between each -OH of glucose and named amino acid residues (Asp, Asn, Glu, Gly). Change even ONE -OH (like galactose) and the enzyme won't bind it.
  • Fig B (before): Enzyme has an open gap/cleft - substrate approaches freely
  • Fig C (after): Cleft snaps shut around substrate → Induced Fit confirmed. This repositions catalytic residues and sets up the transition state.
ModelConceptStatus
Lock & Key (Fischer 1894)Rigid enzyme, substrate fits pre-formed siteOutdated but still tested
Induced Fit (Koshland 1958)Enzyme changes shape when substrate bindsCurrently accepted model

8. Oxidative Phosphorylation (from Q.5)

(Lippincott Illustrated Reviews Biochemistry, 8th ed., Fig. 6.18)
Complete oxidative phosphorylation concept map and ETC diagram: TCA cycle and beta-oxidation produce NADH and FADH2 which donate electrons to ETC. ETC comprised of FMN/FAD-containing dehydrogenases, CoQ (coenzyme Q), Cytochrome bc1 (Complex III), Cytochrome c, Cytochrome a+a3/cytochrome c oxidase (Complex IV - only component that reacts directly with O2, involved in apoptosis). Electron flow couples with proton (H+) transport from mitochondrial matrix to intermembrane space, creating electrical and pH gradient across inner mitochondrial membrane (rich in protein, impermeable to most small molecules, contains specific transporters). H+ re-enters matrix through F0 channel of ATP synthase complex (Complex V), causing conformational changes in F1 domain synthesizing ATP from ADP + Pi. Electron transport and phosphorylation are tightly coupled - proton gradient is common intermediate.

Complete Diagram Index

#TopicSource
1Cori CycleBasic Medical Biochemistry, 6e
2Transamination (ALT/AST)Lippincott Biochemistry, 8th ed
3Oxidative Deamination (GDH)Lippincott Biochemistry, 8th ed
4Temp & pH effect on enzymesGenerated
5β-Oxidation full pathwayHarper's Biochemistry, 32nd ed
6β-Oxidation chemical equationsGuyton & Hall Physiology
7TCA Cycle completeHarper's Biochemistry, 32nd ed
8Glycogenolysis stepsHarper's Biochemistry, 32nd ed
9ES complex - H-bond active siteBasic Medical Biochemistry, 6e
10ES complex - Induced fit (before)Basic Medical Biochemistry, 6e
11ES complex - Induced fit (after)Basic Medical Biochemistry, 6e
12Oxidative PhosphorylationLippincott Biochemistry, 8th ed

Create a PDF summary of all diagrams with clinical vet applications

Reading File
Running Command

mkdir -p /home/daytona/workspace/vet-biochem-pdf/images && cd /home/daytona/workspace/vet-biochem-pdf/images && curl -s -o cori_cycle.png "https://cdn.orris.care/cdss_images/7c7602e0b4c7a145fd47852ff50752e459d5c1b65d3a92292c254c67735b225f.png" && curl -s -o transamination.png "https://cdn.orris.care/cdss_images/14d3204942c79439a8fc5c4e607cc2449e17e3e2f4a141b9b4f744503dee0864.png" && curl -s -o oxidative_deamination.png "https://cdn.orris.care/cdss_images/32215401426a4898a53b518ec0f765f96ece62927e478ea991132670add96941.png" && curl -s -o beta_oxidation_pathway.png "https://cdn.orris.care/cdss_images/9fbb04505324de89db91f4214d25d1e8bd9cbe822cbadf5463f83bc68f80652e.png" && curl -s -o beta_oxidation_equations.png "https://cdn.orris.care/cdss_images/f7e0b737aeec21f7eb23c7a5d2051c814a00ea4f92d2c6dcfb7946ae8b7eb878.png" && curl -s -o tca_cycle.png "https://cdn.orris.care/cdss_images/bbe2aec2fd0fa039ac47a20b42ffb328cbf0f0131480ba5c6ac0791e5628d872.png" && curl -s -o glycogenolysis.png "https://cdn.orris.care/cdss_images/d6eac9d3223a9317dd636fc00bc5ba6f47020e8d8c871a5b74b503c167cc281c.png" && curl -s -o es_hbonds.png "https://cdn.orris.care/cdss_images/993ae0be00374c404144ab5794ac42b3c3a0469fc47da0b960e5a78c974e52ea.png" && curl -s -o es_before.png "https://cdn.orris.care/cdss_images/b6645ef759a275b541ffe7b3f0b0d0ba341e93f54c23ac7062ebf1fab59cf4a3.png" && curl -s -o es_after.png "https://cdn.orris.care/cdss_images/a51e1b71746e84e0c85cf33dc33081a8f5a9f05943acdfcb5b68d841ce9eac54.png" && curl -s -o oxphos.png "https://cdn.orris.care/cdss_images/59d1f6cd79a2759682178191a657e4a202083a3514af04c4214cf6ab9b97b729.png" && curl -s -o temp_ph.png "https://cdn.orris.care/image-gen/be4cb605666144d980894b67ac61f5e0.png" && echo "All images downloaded" && ls -lh

All 12 images downloaded. Now building the PDF.
Writing File

~/vet-biochem-pdf/build_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Image,
                                 Table, TableStyle, PageBreak, HRFlowable,
                                 KeepTogether)
from reportlab.platypus.flowables import BalancedColumns
from reportlab.pdfgen import canvas
from reportlab.lib.colors import HexColor
import os

IMG_DIR = "/home/daytona/workspace/vet-biochem-pdf/images"
OUT_PATH = "/home/daytona/workspace/vet-biochem-pdf/Vet_Biochemistry_Diagrams_Clinical.pdf"

W, H = A4

# ── Colour palette ────────────────────────────────────────────────
DARK_BLUE   = HexColor("#1a3a5c")
MED_BLUE    = HexColor("#2e6da4")
LIGHT_BLUE  = HexColor("#dce8f5")
ACCENT_GOLD = HexColor("#c8860a")
VET_GREEN   = HexColor("#2d6a2d")
LIGHT_GREEN = HexColor("#e6f4e6")
WARN_RED    = HexColor("#b22222")
LIGHT_RED   = HexColor("#fde8e8")
LIGHT_GRAY  = HexColor("#f5f5f5")
MID_GRAY    = HexColor("#888888")

styles = getSampleStyleSheet()

def S(name, **kw):
    """Create a ParagraphStyle inheriting from base."""
    base = styles.get(name, styles["Normal"])
    return ParagraphStyle(name + "_custom_" + str(id(kw)), parent=base, **kw)

# Custom styles
TITLE_STYLE = S("Title", fontSize=26, textColor=DARK_BLUE, spaceAfter=4,
                alignment=TA_CENTER, fontName="Helvetica-Bold")
SUBTITLE_STYLE = S("Normal", fontSize=13, textColor=MED_BLUE, spaceAfter=2,
                   alignment=TA_CENTER, fontName="Helvetica")
DATE_STYLE = S("Normal", fontSize=9, textColor=MID_GRAY, spaceAfter=0,
               alignment=TA_CENTER, fontName="Helvetica-Oblique")

SECTION_STYLE = S("Heading1", fontSize=14, textColor=colors.white,
                  spaceBefore=6, spaceAfter=4,
                  fontName="Helvetica-Bold", leading=18)
SUBSEC_STYLE = S("Heading2", fontSize=11, textColor=DARK_BLUE,
                 spaceBefore=4, spaceAfter=3,
                 fontName="Helvetica-Bold", leading=14)
BODY_STYLE = S("Normal", fontSize=9, textColor=colors.black,
               spaceBefore=2, spaceAfter=2, leading=13,
               fontName="Helvetica", alignment=TA_JUSTIFY)
BULLET_STYLE = S("Normal", fontSize=9, textColor=colors.black,
                 spaceBefore=1, spaceAfter=1, leading=12,
                 leftIndent=12, bulletIndent=0,
                 fontName="Helvetica")
CAPTION_STYLE = S("Normal", fontSize=8, textColor=MID_GRAY,
                  alignment=TA_CENTER, fontName="Helvetica-Oblique",
                  spaceBefore=2, spaceAfter=6)
VET_BOX_STYLE = S("Normal", fontSize=9, textColor=VET_GREEN,
                  leading=13, fontName="Helvetica", alignment=TA_JUSTIFY)
WARN_BOX_STYLE = S("Normal", fontSize=9, textColor=WARN_RED,
                   leading=13, fontName="Helvetica", alignment=TA_JUSTIFY)
TABLE_HEADER = S("Normal", fontSize=8, textColor=colors.white,
                 fontName="Helvetica-Bold", alignment=TA_CENTER)
TABLE_CELL = S("Normal", fontSize=8, textColor=colors.black,
               fontName="Helvetica", alignment=TA_LEFT, leading=11)

def img(filename, width_cm=14, height_cm=None):
    path = os.path.join(IMG_DIR, filename)
    if not os.path.exists(path):
        return Paragraph(f"[Image not found: {filename}]", BODY_STYLE)
    w = width_cm * cm
    from PIL import Image as PILImage
    pil = PILImage.open(path)
    iw, ih = pil.size
    ratio = ih / iw
    h = height_cm * cm if height_cm else w * ratio
    # clamp height
    max_h = 17 * cm
    if h > max_h:
        h = max_h
        w = h / ratio
    return Image(path, width=w, height=h, hAlign="CENTER")

def section_header(text, color=DARK_BLUE):
    """Returns a coloured banner paragraph."""
    tbl = Table([[Paragraph(text, SECTION_STYLE)]], colWidths=[W - 4*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), color),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
        ("ROUNDEDCORNERS", [4]),
    ]))
    return tbl

def vet_box(title, *lines, color=LIGHT_GREEN, border=VET_GREEN, title_color=VET_GREEN):
    content = [Paragraph(f"<b>{title}</b>", S("Normal", fontSize=9,
               textColor=title_color, fontName="Helvetica-Bold", leading=13))]
    for line in lines:
        content.append(Paragraph(f"• {line}", VET_BOX_STYLE))
    tbl = Table([[content]], colWidths=[W - 4*cm])
    tbl.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (-1,-1), color),
        ("BOX",           (0,0), (-1,-1), 1.5, border),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 8),
        ("RIGHTPADDING",  (0,0), (-1,-1), 8),
    ]))
    return tbl

def warn_box(title, *lines):
    return vet_box(title, *lines, color=LIGHT_RED, border=WARN_RED, title_color=WARN_RED)

def key_table(headers, rows):
    data = [[Paragraph(h, TABLE_HEADER) for h in headers]]
    for row in rows:
        data.append([Paragraph(str(c), TABLE_CELL) for c in row])
    col_w = (W - 4*cm) / len(headers)
    tbl = Table(data, colWidths=[col_w]*len(headers), repeatRows=1)
    style = [
        ("BACKGROUND",    (0,0), (-1,0), MED_BLUE),
        ("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.white, LIGHT_BLUE]),
        ("GRID",          (0,0), (-1,-1), 0.5, HexColor("#aaaaaa")),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (0,0), (-1,-1), 5),
        ("VALIGN",        (0,0), (-1,-1), "TOP"),
    ]
    tbl.setStyle(TableStyle(style))
    return tbl

def divider():
    return HRFlowable(width="100%", thickness=0.5, color=LIGHT_BLUE, spaceAfter=4, spaceBefore=4)


# ── Page numbering canvas ─────────────────────────────────────────
class NumberedCanvas(canvas.Canvas):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self._saved_page_states = []

    def showPage(self):
        self._saved_page_states.append(dict(self.__dict__))
        self._startPage()

    def save(self):
        num_pages = len(self._saved_page_states)
        for state in self._saved_page_states:
            self.__dict__.update(state)
            self.draw_page_number(num_pages)
            canvas.Canvas.showPage(self)
        canvas.Canvas.save(self)

    def draw_page_number(self, page_count):
        page_num = self._saved_page_states.index(
            {k: v for k, v in self.__dict__.items()
             if k in self._saved_page_states[0]}) + 1
        self.setFont("Helvetica", 8)
        self.setFillColor(MID_GRAY)
        self.drawRightString(W - 2*cm, 1.2*cm,
                             f"Page {page_num} of {page_count}")
        self.drawString(2*cm, 1.2*cm, "Vet Biochemistry — Diagrams & Clinical Applications")
        self.setStrokeColor(LIGHT_BLUE)
        self.setLineWidth(0.5)
        self.line(2*cm, 1.5*cm, W - 2*cm, 1.5*cm)


# ── Build story ───────────────────────────────────────────────────
story = []

# ── COVER PAGE ───────────────────────────────────────────────────
story.append(Spacer(1, 3*cm))
story.append(Paragraph("VET BIOCHEMISTRY", TITLE_STYLE))
story.append(Paragraph("Diagrams &amp; Clinical Applications", SUBTITLE_STYLE))
story.append(Spacer(1, 0.5*cm))
story.append(HRFlowable(width="60%", thickness=2, color=ACCENT_GOLD,
                         hAlign="CENTER", spaceBefore=4, spaceAfter=4))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Complete Illustrated Reference for Exam Preparation", SUBTITLE_STYLE))
story.append(Spacer(1, 0.5*cm))

# topic list on cover
topics = [
    ("Q.6", "Short Notes"),
    ("1.", "Cori Cycle"),
    ("2.", "Deamination Reactions of Amino Acids"),
    ("3.", "Effects of Temperature & pH on Enzyme Activity"),
    ("Q.7", "Brief Descriptions"),
    ("4.", "Beta-Oxidation of Fatty Acids"),
    ("5.", "TCA (Krebs) Cycle — Energy Production"),
    ("6.", "Glycogenolysis"),
    ("7.", "Enzyme-Substrate Complex Formation"),
    ("Bonus", "Oxidative Phosphorylation"),
]
cover_data = [[Paragraph(f"<b>{n}</b>", S("Normal", fontSize=10,
               textColor=MED_BLUE, fontName="Helvetica-Bold")),
               Paragraph(t, S("Normal", fontSize=10, fontName="Helvetica"))]
              for n, t in topics]
cover_tbl = Table(cover_data, colWidths=[2.5*cm, 12*cm])
cover_tbl.setStyle(TableStyle([
    ("ROWBACKGROUNDS", (0,0), (-1,-1), [colors.white, LIGHT_BLUE]),
    ("TOPPADDING",     (0,0), (-1,-1), 5),
    ("BOTTOMPADDING",  (0,0), (-1,-1), 5),
    ("LEFTPADDING",    (0,0), (-1,-1), 8),
    ("BOX",            (0,0), (-1,-1), 1, MED_BLUE),
    ("LINEBELOW",      (0,0), (-1,-2), 0.3, LIGHT_BLUE),
]))
story.append(cover_tbl)
story.append(Spacer(1, 1*cm))
story.append(Paragraph("Sources: Lippincott Illustrated Reviews Biochemistry 8e • Harper's Illustrated Biochemistry 32e •<br/>Basic Medical Biochemistry 6e • Guyton &amp; Hall Medical Physiology • Harper's 32e", DATE_STYLE))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 1 — CORI CYCLE
# ════════════════════════════════════════════════════════════════
story.append(section_header("Q.6 — SHORT NOTES", DARK_BLUE))
story.append(Spacer(1, 0.3*cm))
story.append(section_header("1.  Cori Cycle (Lactic Acid Cycle)", MED_BLUE))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph(
    "<b>Definition:</b> The Cori cycle is the metabolic pathway by which lactate "
    "produced by anaerobic glycolysis in peripheral tissues (muscle, RBCs) is "
    "transported to the liver, reconverted to glucose via gluconeogenesis, and "
    "returned to blood for re-use.", BODY_STYLE))
story.append(Spacer(1, 0.2*cm))
story.append(img("cori_cycle.png", width_cm=14))
story.append(Paragraph(
    "Fig 1. Cori Cycle — Basic Medical Biochemistry 6e, Fig. 22.12",
    CAPTION_STYLE))

story.append(key_table(
    ["Feature", "Detail"],
    [
        ["Tissues involved", "Muscle, RBCs (anaerobic) → Liver (aerobic)"],
        ["Key enzymes - Muscle", "LDH: Pyruvate → Lactate (uses NADH)"],
        ["Key enzymes - Liver", "LDH + Gluconeogenic enzymes (PCK, FBPase, G6Pase)"],
        ["ATP balance", "Muscle gains 2 ATP; Liver spends 6 ATP → Net loss of 4 ATP"],
        ["Function", "Recycles lactate carbon; prevents lactic acidosis; maintains blood glucose"],
    ]
))
story.append(Spacer(1, 0.3*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "Racing horses / greyhounds: Massive lactate production during sprint exercise; "
    "Cori cycle keeps blood glucose from crashing post-race",
    "Capture myopathy (wild deer, zebra, kangaroo): Extreme exertion → lactic acidosis when "
    "Cori cycle is overwhelmed → pH drops → muscle necrosis → death if untreated",
    "Cattle with dystocia (prolonged difficult birth): Calf undergoes anaerobic glycolysis "
    "→ elevated blood lactate at birth; correction with IV glucose + bicarbonate",
    "Exertional rhabdomyolysis ('tying-up') in horses: Pyruvate/lactate accumulation → "
    "muscle damage; serum CK and AST markedly elevated",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 2 — DEAMINATION
# ════════════════════════════════════════════════════════════════
story.append(section_header("2.  Deamination Reactions of Amino Acids", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> Deamination is the removal of the amino (−NH₂) group from "
    "an amino acid, yielding an α-keto acid and releasing nitrogen. There are "
    "three main types: transamination, oxidative deamination, and non-oxidative "
    "deamination.", BODY_STYLE))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("<b>Step 1 — Transamination (ALT &amp; AST):</b>", SUBSEC_STYLE))
story.append(img("transamination.png", width_cm=9))
story.append(Paragraph(
    "Fig 2a. Transamination reactions — ALT (top) and AST (bottom). "
    "Both require PLP (Vitamin B6). — Lippincott Biochemistry 8e, Fig. 19.8",
    CAPTION_STYLE))

story.append(Paragraph("<b>Step 2 — Oxidative Deamination (Glutamate Dehydrogenase):</b>", SUBSEC_STYLE))
story.append(img("oxidative_deamination.png", width_cm=9))
story.append(Paragraph(
    "Fig 2b. Panel A: Disposal of amino acids via transamination + oxidative "
    "deamination → free NH₃. Panel B: Reductive amination (synthesis). "
    "— Lippincott Biochemistry 8e, Fig. 19.12",
    CAPTION_STYLE))

story.append(key_table(
    ["Type", "Enzyme", "Coenzyme", "Product"],
    [
        ["Transamination", "ALT (GPT), AST (GOT)", "PLP (Vit B6)", "α-Keto acid + Glutamate"],
        ["Oxidative Deamination", "Glutamate Dehydrogenase (GDH)", "NAD⁺ (catabolism)", "α-KG + NH₃ + NADH"],
        ["Non-oxidative Deamination", "Serine dehydratase", "PLP", "Pyruvate + NH₃"],
        ["D-amino acid oxidase", "DAO (peroxisomal)", "FAD", "α-Keto acid + NH₃ + H₂O₂"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "ALT (SGPT): Liver-specific in dogs & cats. Elevated in hepatitis, hepatic lipidosis "
    "(fatty liver in obese cats), toxin ingestion (xylitol, aflatoxin). Normal dog ALT: 10-100 U/L",
    "AST (SGOT): Elevated in both liver AND muscle disease in horses and ruminants. "
    "Must interpret with CK to differentiate; if CK normal → liver origin",
    "GDH: Liver-specific in cattle and sheep. Best single enzyme marker of "
    "hepatocellular necrosis in ruminants (e.g., ragwort toxicity, aflatoxicosis)",
    "Ammonia toxicity: When GDH is impaired (liver failure) → NH₃ accumulates → "
    "hepatic encephalopathy in dogs, horses (head pressing, ataxia, seizures)",
    "Thiamin (B6) deficiency → PLP deficiency → transamination impaired → "
    "polioencephalomalacia in cattle/sheep (cerebrocortical necrosis)",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 3 — TEMP & pH
# ════════════════════════════════════════════════════════════════
story.append(section_header("3.  Effects of Temperature &amp; pH on Enzyme Activity", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(img("temp_ph.png", width_cm=15))
story.append(Paragraph(
    "Fig 3. Left: Bell-curve effect of temperature (optimum 37-40°C for mammalian enzymes; "
    "denaturation above). Right: pH optima vary per enzyme — Pepsin (pH 2), "
    "Salivary amylase (pH 6.8), Trypsin (pH 7.5-8).",
    CAPTION_STYLE))

story.append(key_table(
    ["Enzyme", "Optimum pH", "Location / Species Relevance"],
    [
        ["Pepsin", "~2.0", "Stomach (monogastrics — dog, cat, pig, horse)"],
        ["Salivary amylase", "6.8–7.0", "Oral cavity (absent in cats; present in dogs, horses)"],
        ["Trypsin / Chymotrypsin", "7.5–8.0", "Pancreas → small intestine (all species)"],
        ["Alkaline Phosphatase (ALP)", "9–10", "Bone, liver, intestine — elevated in cholestasis"],
        ["Arginase", "~9.5", "Liver (urea cycle) — ruminants, dogs"],
        ["Acid Phosphatase", "~5.0", "Lysosomes, prostate"],
        ["Rumen microbial enzymes", "6.2–6.8", "Rumen — optimal for cellulolytic bacteria"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications — Temperature",
    "Fever (pyrexia) in animals: Moderate fever (39-40°C) initially enhances immune enzyme "
    "reactions. Hyperthermia >42°C (heat stroke in brachycephalic dogs, horses) denatures "
    "enzymes → multi-organ failure",
    "Hypothermia in neonates: Newborn lambs, piglets, foals in cold environments → "
    "metabolic enzyme rates halved per 10°C drop (Q10 effect) → hypoglycemia, bradycardia",
    "Thermostable enzymes: Rumen microbes have enzymes stable over wider temperature ranges; "
    "important in tropical veterinary nutrition",
    "Cold storage of blood/serum samples: Enzyme activity preserved at 4°C for clinical assays",
))
story.append(vet_box(
    "Veterinary Clinical Applications — pH",
    "Rumen acidosis (grain overload) in cattle/sheep: Rumen pH drops to 4.5-5.5 → "
    "inhibits cellulolytic bacteria enzymes → fermentation stops → D-lactic acidosis → "
    "ataxia ('drunken cow syndrome'), recumbency, death",
    "Abomasal displacement / volvulus in cows: Disrupts HCl production → enzyme pH disrupted",
    "Pancreatitis in dogs/cats: Trypsin activated prematurely within pancreas at wrong pH "
    "→ autodigestion of pancreatic tissue",
    "Alkalosis in milk fever (hypocalcaemia, parturient paresis): Systemic pH shift affects "
    "enzyme function; IV calcium gluconate treatment",
    "Clinical enzyme assays (ALT, ALP, CK): Must be run at controlled pH (phosphate "
    "buffer) and temperature (37°C) for accurate results",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 4 — BETA OXIDATION
# ════════════════════════════════════════════════════════════════
story.append(section_header("Q.7 — BRIEF DESCRIPTIONS", DARK_BLUE))
story.append(Spacer(1, 0.3*cm))
story.append(section_header("4.  β-Oxidation of Fatty Acids", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> β-Oxidation is the stepwise degradation of fatty acids in the "
    "<b>mitochondrial matrix</b> by sequential removal of 2-carbon (acetyl-CoA) units, "
    "producing NADH and FADH₂ per cycle.", BODY_STYLE))

story.append(Paragraph("<b>Full Pathway (activation + transport + 4 steps):</b>", SUBSEC_STYLE))
story.append(img("beta_oxidation_pathway.png", width_cm=9))
story.append(Paragraph(
    "Fig 4a. Complete β-oxidation pathway: activation → carnitine transport across "
    "inner mitochondrial membrane → 4-step repeating cycle → Acetyl-CoA → TCA cycle. "
    "— Harper's Illustrated Biochemistry 32e, Fig. 22-3",
    CAPTION_STYLE))

story.append(Paragraph("<b>Chemical equations for each step:</b>", SUBSEC_STYLE))
story.append(img("beta_oxidation_equations.png", width_cm=15))
story.append(Paragraph(
    "Fig 4b. β-oxidation reactions: (1) Activation by Thiokinase; (2) FAD-oxidation "
    "by Acyl dehydrogenase → FADH₂; (3) Hydration by Enoyl hydrase → β-OH-acyl-CoA; "
    "(4) NAD⁺-oxidation by β-Hydroxyacyl DH → NADH; (5) Thiolysis by Thiolase → "
    "Acetyl-CoA + shortened acyl-CoA. — Guyton & Hall Physiology",
    CAPTION_STYLE))

story.append(key_table(
    ["Step", "Enzyme", "Cofactor", "Product"],
    [
        ["0a. Activation", "Acyl-CoA synthetase (Thiokinase)", "ATP, CoA", "Fatty acyl-CoA + AMP + PPi (−2 ATP)"],
        ["0b. Transport", "CPT-I, CACT, CPT-II (Carnitine shuttle)", "Carnitine", "Acyl-CoA in mitochondrial matrix"],
        ["1. Oxidation", "Acyl-CoA dehydrogenase", "FAD", "trans-Δ²-Enoyl-CoA + FADH₂"],
        ["2. Hydration", "Enoyl-CoA hydratase", "H₂O", "L-3-Hydroxyacyl-CoA"],
        ["3. Oxidation", "L-3-Hydroxyacyl-CoA DH", "NAD⁺", "3-Ketoacyl-CoA + NADH"],
        ["4. Thiolysis", "β-Ketothiolase (Thiolase)", "CoA", "Acetyl-CoA + (n−2) Acyl-CoA"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(key_table(
    ["Palmitate (C16) Energy", "Cycles/Moles", "ATP/unit", "Total ATP"],
    [
        ["Activation cost", "—", "−2", "−2"],
        ["β-Oxidation FADH₂", "7", "×1.5", "+10.5"],
        ["β-Oxidation NADH", "7", "×2.5", "+17.5"],
        ["TCA (8 Acetyl-CoA)", "8", "×10", "+80"],
        ["NET TOTAL", "", "", "106 ATP"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "Ketosis / Acetonaemia in dairy cows (early lactation negative energy balance): "
    "Excess β-oxidation → Acetyl-CoA cannot enter TCA (OAA depleted) → ketone bodies "
    "(BOHB, acetoacetate, acetone). Blood BOHB >3 mmol/L = clinical ketosis. "
    "Treatment: IV glucose, propylene glycol, glucocorticoids",
    "Pregnancy toxaemia in ewes (twin-lamb disease): Same mechanism — twin fetuses "
    "consume glucose → ewe mobilises fat → ketosis. High mortality if untreated",
    "Feline hepatic lipidosis: Obese cats on starvation diet → massive fat mobilisation "
    "→ overwhelms hepatic β-oxidation → fat accumulates in liver → jaundice, liver failure",
    "CPT-I deficiency (dogs): Carnitine shuttle impaired → long-chain fatty acids cannot "
    "enter mitochondria → lipid myopathy, cardiomyopathy (seen in Boxers, Dobermans)",
    "L-carnitine supplementation: Used in dogs with dilated cardiomyopathy to improve "
    "fatty acid transport into cardiac mitochondria",
))
story.append(warn_box(
    "Exam Alert",
    "Remember: Activation uses 2 high-energy phosphates (ATP → AMP + PPi, equivalent to −2 ATP)",
    "FADH₂ from β-oxidation feeds directly into Complex II of ETC (bypasses Complex I) → 1.5 ATP each",
    "Odd-chain fatty acids (propionyl-CoA → succinyl-CoA via Vit B12) — glucogenic, "
    "important in ruminants (propionate from rumen)",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 5 — TCA CYCLE
# ════════════════════════════════════════════════════════════════
story.append(section_header("5.  TCA (Krebs / Citric Acid) Cycle", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> The TCA cycle is a series of 8 enzyme-catalysed reactions in "
    "the <b>mitochondrial matrix</b> that completely oxidise <b>Acetyl-CoA</b> to CO₂, "
    "capturing energy as NADH, FADH₂, and GTP.", BODY_STYLE))
story.append(Spacer(1, 0.2*cm))
story.append(img("tca_cycle.png", width_cm=13))
story.append(Paragraph(
    "Fig 5. Complete TCA (Krebs) Cycle showing all 8 steps, enzymes, cofactors, and "
    "inhibitors (red lines: Fluoroacetate blocks Aconitase; Arsenite blocks α-KG DH; "
    "Malonate blocks Succinate DH). — Harper's Illustrated Biochemistry 32e, Fig. 16-3",
    CAPTION_STYLE))

story.append(key_table(
    ["Step", "Reaction", "Enzyme", "Energy"],
    [
        ["1", "OAA (4C) + Acetyl-CoA (2C) → Citrate (6C)", "Citrate synthase", "—"],
        ["2", "Citrate → cis-Aconitate → Isocitrate", "Aconitase (Fe²⁺)", "—"],
        ["3", "Isocitrate → Oxalosuccinate → α-KG + CO₂", "Isocitrate DH (Mn²⁺)", "1 NADH"],
        ["4", "α-KG (5C) → Succinyl-CoA (4C) + CO₂", "α-KG DH complex (TPP, Lipoate, FAD)", "1 NADH"],
        ["5", "Succinyl-CoA → Succinate", "Succinyl-CoA synthetase (Mg²⁺)", "1 GTP"],
        ["6", "Succinate → Fumarate", "Succinate DH (Complex II of ETC)", "1 FADH₂"],
        ["7", "Fumarate + H₂O → L-Malate", "Fumarase", "—"],
        ["8", "L-Malate → OAA", "Malate dehydrogenase", "1 NADH"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(key_table(
    ["Product per turn", "Number", "ATP equivalent", "Cumulative"],
    [
        ["NADH (Steps 3,4,8)", "3", "× 2.5 = 7.5 ATP", "7.5"],
        ["FADH₂ (Step 6)", "1", "× 1.5 = 1.5 ATP", "9.0"],
        ["GTP (Step 5)", "1", "= 1 ATP", "10.0"],
        ["TOTAL per turn", "", "", "~10 ATP"],
        ["CO₂ released", "2", "—", "Metabolic waste"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "Acetonaemia/ketosis in dairy cattle: Negative energy balance → OAA diverted to "
    "gluconeogenesis → TCA cycle slows → Acetyl-CoA accumulates → ketogenesis. "
    "Blood glucose <2.2 mmol/L + BOHB >3 mmol/L = diagnosis",
    "Fluoroacetate (compound 1080) poisoning: Used as rodenticide; highly toxic to dogs, "
    "cats, foxes, livestock. Fluoroacetate → fluorocitrate → irreversibly blocks Aconitase "
    "→ citrate accumulates → TCA stops → cardiac arrest. No antidote; supportive care only",
    "Arsenite toxicity (arsenic poisoning in livestock from dipping vats, pasture): "
    "Inhibits α-KG dehydrogenase → TCA blocked → energy failure in heart and nervous system",
    "Thiamin (Vit B1) deficiency: α-KG DH complex requires TPP (thiamin pyrophosphate). "
    "Deficiency in ruminants (polioencephalomalacia) and horses (bracken fern toxicity) "
    "→ TCA impaired → brain energy failure. Treatment: IV thiamin",
    "Succinate dehydrogenase is Complex II of ETC — important junction between TCA and OXPHOS",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 6 — GLYCOGENOLYSIS
# ════════════════════════════════════════════════════════════════
story.append(section_header("6.  Glycogenolysis", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> Glycogenolysis is the enzymatic <b>degradation of stored glycogen</b> "
    "to yield glucose (liver) or glucose-6-phosphate (muscle). It is NOT the reverse of "
    "glycogen synthesis — it uses entirely different enzymes.", BODY_STYLE))
story.append(Spacer(1, 0.2*cm))
story.append(img("glycogenolysis.png", width_cm=13))
story.append(Paragraph(
    "Fig 6. Steps in Glycogenolysis: Phosphorylase cleaves α-1,4 bonds → Glucan transferase "
    "moves trisaccharide to expose branch → Debranching enzyme cleaves α-1,6 bond releasing "
    "free glucose. Blue = α-1,4 linked glucose; Orange = branch glucose; "
    "Branch point = α-1,6 bond. — Harper's Illustrated Biochemistry 32e, Fig. 18-4",
    CAPTION_STYLE))

story.append(key_table(
    ["Step", "Enzyme", "Bond cleaved", "Product"],
    [
        ["1. Chain shortening", "Glycogen phosphorylase (needs PLP)", "α-1,4 (phosphorolysis)", "Glucose-1-phosphate"],
        ["2. Branch transfer", "Glucan transferase (part of debranching enzyme)", "Transfers 3 units", "Exposed α-1,6 branch"],
        ["3. Branch removal", "α-1,6-Glucosidase (debranching enzyme)", "α-1,6 (hydrolysis)", "Free glucose (unphosphorylated!)"],
        ["4. Isomerisation", "Phosphoglucomutase", "—", "Glucose-6-phosphate"],
        ["5. Liver only", "Glucose-6-phosphatase (ER membrane)", "—", "Free glucose → blood"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(key_table(
    ["Hormone/Signal", "Mechanism", "Tissue", "Effect"],
    [
        ["Glucagon (low blood glucose)", "↑cAMP → PKA → Phosphorylase kinase → Phosphorylase b→a", "Liver", "↑ Glycogenolysis; glucose released to blood"],
        ["Epinephrine (stress/exercise)", "Same cAMP cascade + Ca²⁺", "Liver + Muscle", "↑ Glycogenolysis for fight-or-flight"],
        ["Ca²⁺ (muscle contraction)", "Directly activates phosphorylase kinase", "Muscle", "↑ Glycogenolysis during exercise"],
        ["AMP (low ATP)", "Allosteric activation of phosphorylase b", "Muscle", "↑ Glycogenolysis when energy low"],
        ["Insulin (fed state)", "Activates phosphatase → dephosphorylates phosphorylase", "Both", "↓ Glycogenolysis; ↑ Glycogen synthesis"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "Neonatal hypoglycaemia (piglets, lambs, foals): At birth, umbilical cord clamped → "
    "maternal glucose supply cut → epinephrine + glucagon activate glycogenolysis to restore "
    "blood glucose. Neonates with limited glycogen stores → fatal hypoglycaemia within hours. "
    "Rx: Oral or IV glucose",
    "Glycogen Storage Diseases (GSD) — Pompe disease (GSD Type II) in Brahman cattle: "
    "Acid maltase (lysosomal α-glucosidase) deficiency → glycogen accumulates in muscle "
    "and heart → cardiomyopathy, muscle weakness, respiratory failure",
    "GSD Type III (Debranching enzyme deficiency): Reported in German Shepherds → "
    "cannot debranch → glycogen accumulates → hypoglycaemia + hepatomegaly",
    "Capture myopathy in wild animals: Epinephrine surge → rapid glycogenolysis → "
    "glucose used for intense muscle work → lactate + glycogen depletion → muscle necrosis",
    "Hypoglycaemia in toy breed dogs (Chihuahuas, Yorkshire Terriers): "
    "Limited hepatic glycogen stores; stress → rapid glycogen depletion → seizures",
    "Diabetes mellitus in dogs/cats: Glucagon dominance → unregulated glycogenolysis "
    "→ persistent hyperglycaemia despite glucose excess",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  SECTION 7 — ENZYME-SUBSTRATE COMPLEX
# ════════════════════════════════════════════════════════════════
story.append(section_header("7.  Enzyme-Substrate Complex Formation", MED_BLUE))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> The enzyme-substrate (ES) complex is the transient molecular "
    "association formed when a substrate binds to the <b>active site</b> of an enzyme, "
    "preceding catalysis: <b>E + S ⇌ ES → E + P</b>", BODY_STYLE))
story.append(Spacer(1, 0.2*cm))

story.append(Paragraph("<b>Active site hydrogen bonding (basis of specificity):</b>", SUBSEC_STYLE))
story.append(img("es_hbonds.png", width_cm=11))
story.append(Paragraph(
    "Fig 7a. Glucose binding site in glucokinase — each -OH of glucose (red) is held by "
    "specific H-bonds (dashed) to Asp-205, Asn-204, Asn-231, Glu-256, Glu-290, Gly-229. "
    "Panel B: Galactose (differs by one -OH) is NOT phosphorylated → explains enzyme "
    "specificity. — Basic Medical Biochemistry 6e, Fig. 8.5",
    CAPTION_STYLE))

story.append(Paragraph("<b>Induced Fit Model — Before and After substrate binding:</b>", SUBSEC_STYLE))

# side by side images
before_img = img("es_before.png", width_cm=7)
after_img  = img("es_after.png",  width_cm=7)
side_tbl = Table([[before_img, after_img]], colWidths=[8*cm, 8*cm])
side_tbl.setStyle(TableStyle([
    ("ALIGN",         (0,0), (-1,-1), "CENTER"),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("LEFTPADDING",   (0,0), (-1,-1), 4),
    ("RIGHTPADDING",  (0,0), (-1,-1), 4),
]))
story.append(side_tbl)
story.append(Paragraph(
    "Fig 7b (left): Glucokinase BEFORE binding — open cleft, substrate approaching. "
    "Fig 7c (right): AFTER binding — cleft closes around glucose (red sphere) "
    "= Induced Fit. — Basic Medical Biochemistry 6e, Fig. 8.6",
    CAPTION_STYLE))

story.append(key_table(
    ["Model", "Proposed by", "Concept", "Status"],
    [
        ["Lock and Key", "Emil Fischer, 1894",
         "Enzyme has rigid pre-formed active site; substrate fits exactly like key in lock",
         "Outdated — does not explain enzyme flexibility"],
        ["Induced Fit", "Daniel Koshland, 1958",
         "Substrate binding induces conformational change in enzyme; cleft closes, "
         "improving catalysis, improving co-substrate binding, excluding water",
         "Currently accepted model"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(key_table(
    ["Stabilising Force", "Example in Glucokinase ES complex"],
    [
        ["Hydrogen bonds", "Each -OH of glucose H-bonds to Asp, Asn, Glu, Gly residues"],
        ["Electrostatic interactions", "Charged Asp/Glu attract polar glucose -OH groups"],
        ["Hydrophobic interactions", "Non-polar regions of substrate near hydrophobic pockets"],
        ["Van der Waals forces", "Short-range attractive forces at close contact"],
        ["Transient covalent bonds", "Serine proteases (trypsin) — acyl-enzyme intermediate"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications",
    "Organophosphate (OP) poisoning (cattle, dogs, sheep from pesticide/dip tank exposure): "
    "OP covalently binds Serine in active site of acetylcholinesterase (AChE) → ES complex "
    "permanently blocked → ACh accumulates at synapses → SLUD signs "
    "(Salivation, Lacrimation, Urination, Defaecation) + bradycardia, miosis, seizures. "
    "Treatment: Atropine (competitive blocker) + Pralidoxime/2-PAM (reactivates AChE if given early)",
    "Competitive enzyme inhibitors: Many drugs work by mimicking substrate to occupy active "
    "site — e.g., allopurinol (xanthine oxidase inhibitor) used in Dalmatians for urate urolithiasis",
    "Substrate specificity explained by ES complex: Glucokinase phosphorylates glucose but "
    "NOT galactose (differs by one -OH) → explains galactosaemia pathology in calves",
    "Km and Vmax: Derived from ES complex kinetics. High Km = weak substrate binding. "
    "Low Km = tight binding = high affinity. Clinically, enzyme Km determines drug dosing "
    "interactions in liver metabolism",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  BONUS — OXIDATIVE PHOSPHORYLATION
# ════════════════════════════════════════════════════════════════
story.append(section_header("BONUS: Oxidative Phosphorylation (OXPHOS)", HexColor("#5a1e82")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
    "<b>Definition:</b> Oxidative phosphorylation is the process by which ATP is synthesised "
    "from ADP + Pi, driven by the energy of electron flow through the mitochondrial electron "
    "transport chain (ETC) coupled to the proton-motive force (Mitchell's chemiosmotic theory).",
    BODY_STYLE))
story.append(Spacer(1, 0.2*cm))
story.append(img("oxphos.png", width_cm=15))
story.append(Paragraph(
    "Fig 8. Complete Oxidative Phosphorylation concept map and ETC diagram. "
    "TCA + β-oxidation → NADH/FADH₂ → ETC (Complexes I-IV) → H⁺ pumped out → "
    "gradient drives ATP synthase (Complex V). — Lippincott Biochemistry 8e, Fig. 6.18",
    CAPTION_STYLE))

story.append(key_table(
    ["Complex", "Name", "Electron carrier", "H⁺ pumped", "Inhibitor"],
    [
        ["I", "NADH-CoQ reductase", "NADH → FMN → Fe-S → CoQ", "4 H⁺", "Rotenone (insecticide); Amytal"],
        ["II", "Succinate-CoQ reductase", "FADH₂ → Fe-S → CoQ", "0 H⁺", "Malonate (competitive)"],
        ["III", "CoQ-Cyt c reductase", "CoQ → Cyt b → Fe-S → Cyt c₁ → Cyt c", "4 H⁺", "Antimycin A"],
        ["IV", "Cytochrome c oxidase", "Cyt c → CuA → Haem a → CuB/Haem a3 → O₂", "2 H⁺", "Cyanide, CO, Azide"],
        ["V", "ATP synthase (F₀F₁)", "H⁺ flows back in", "—", "Oligomycin (blocks F₀)"],
        ["Uncouplers", "Dissipate gradient without ATP", "DNP, Thermogenin (UCP1)", "—", "Heat produced instead of ATP"],
    ]
))
story.append(Spacer(1, 0.2*cm))
story.append(vet_box(
    "Veterinary Clinical Applications — Oxidative Phosphorylation",
    "Cyanide toxicity (cattle from sorghum/sudangrass/wild cherry leaves; dogs from "
    "smoke inhalation): CN⁻ binds Complex IV (cytochrome oxidase) → blocks O₂ reduction "
    "→ OXPHOS stops → histotoxic hypoxia → bright red venous blood (oxyHb not used). "
    "Treatment: Sodium nitrite + sodium thiosulphate (cattle); hydroxocobalamin (dogs)",
    "Carbon monoxide (CO) poisoning (animals in barn fires, faulty heaters): CO blocks "
    "Complex IV + binds Hb → double impairment of O₂ delivery and utilisation",
    "Rotenone: Natural insecticide/piscicide, inhibits Complex I. Toxic to fish and "
    "insects; used in aquaculture. Toxic to dogs and cats if ingested",
    "Thermogenin (UCP1) in brown adipose tissue: Present in neonatal lambs, piglets, "
    "foals, calves — uncouples OXPHOS to generate heat instead of ATP. "
    "Critical for thermoregulation at birth in cold environments",
    "Mitochondrial myopathies in horses and dogs: Defects in ETC complexes → exercise "
    "intolerance, lactic acidosis, muscle weakness",
    "ATP yield summary: NADH=2.5 ATP, FADH₂=1.5 ATP; 1 glucose → ~30-32 ATP total",
))
story.append(PageBreak())


# ════════════════════════════════════════════════════════════════
#  QUICK REVISION TABLE (last page)
# ════════════════════════════════════════════════════════════════
story.append(section_header("QUICK REVISION — Complete Summary Table", DARK_BLUE))
story.append(Spacer(1, 0.3*cm))
story.append(key_table(
    ["Topic", "Key Enzyme(s)", "Key Product(s)", "ATP Yield", "Vet Relevance"],
    [
        ["Cori Cycle",
         "LDH, Glucokinase, G6Pase",
         "Glucose ↔ Lactate",
         "Net −4 ATP",
         "Exercise lactate; capture myopathy; neonatal asphyxia"],
        ["Transamination",
         "ALT (GPT), AST (GOT)",
         "Glutamate + α-keto acid",
         "—",
         "ALT elevated in dog/cat liver disease; AST in horse muscle/liver"],
        ["Oxidative Deamination",
         "GDH (mitochondrial)",
         "α-KG + NH₃ + NADH",
         "+1 NADH",
         "GDH elevated in ruminant hepatocellular necrosis; hepatic encephalopathy"],
        ["Temp/pH effects",
         "All enzymes",
         "Optimum bell curve",
         "—",
         "Rumen acidosis; heat stroke; pancreatitis in dogs"],
        ["β-Oxidation",
         "Acyl-CoA DH, Enoyl hydratase, HADH, Thiolase",
         "Acetyl-CoA + NADH + FADH₂",
         "106 ATP (palmitate)",
         "Ketosis (cows/ewes); feline hepatic lipidosis; carnitine deficiency"],
        ["TCA Cycle",
         "Citrate synthase, Isocitrate DH, α-KG DH, Succinate DH, Malate DH",
         "3NADH + 1FADH₂ + 1GTP + 2CO₂",
         "~10 ATP/turn",
         "Ketosis; fluoroacetate poisoning; thiamin deficiency; arsenic toxicity"],
        ["Glycogenolysis",
         "Glycogen phosphorylase, Debranching enzyme, G6Pase",
         "Glucose (liver) / G-6-P (muscle)",
         "No ATP cost",
         "Neonatal hypoglycaemia; GSD in Brahman cattle; diabetes mellitus"],
        ["ES Complex",
         "Enzyme-specific",
         "Transition state complex",
         "—",
         "OP poisoning (AChE inhibition); allopurinol in Dalmatians; drug interactions"],
        ["Oxidative Phosphorylation",
         "Complexes I-IV + ATP Synthase (V)",
         "ATP + H₂O",
         "~30-32 ATP/glucose",
         "Cyanide poisoning; CO toxicity; thermogenin in neonates; mitochondrial myopathy"],
    ]
))
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph(
    "<b>Sources:</b> Lippincott Illustrated Reviews Biochemistry 8e • "
    "Harper's Illustrated Biochemistry 32e • Basic Medical Biochemistry 6e • "
    "Guyton &amp; Hall Textbook of Medical Physiology • Goldman-Cecil Medicine",
    DATE_STYLE))


# ── BUILD ─────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUT_PATH,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2*cm,  bottomMargin=2.5*cm,
    title="Vet Biochemistry — Diagrams & Clinical Applications",
    author="Orris AI",
    subject="Veterinary Biochemistry Exam Reference",
)
doc.build(story, canvasmaker=NumberedCanvas)
print(f"PDF created: {OUT_PATH}")
Running Command

cd /home/daytona/workspace/vet-biochem-pdf && python build_pdf.py 2>&1

Page numbering logic issue. Let me fix the NumberedCanvas class.
Editing File

~/vet-biochem-pdf/build_pdf.py

Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/vet-biochem-pdf/build_pdf.py'
Running Command

cd /home/daytona/workspace/vet-biochem-pdf && python build_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/vet-biochem-pdf/Vet_Biochemistry_Diagrams_Clinical.pdf

Your PDF is ready — 6.4 MB, fully illustrated:

Vet Biochemistry Diagrams Clinical

PDF Document · PDF


What's inside the PDF

SectionContent
Cover pageColour-coded topic index with all Q.6 and Q.7 headings
1. Cori CycleTextbook diagram + ATP balance table + 4 vet clinical cases
2. DeaminationTransamination (ALT/AST) diagram + GDH oxidative deamination diagram + enzyme table + vet cases (ALT/GDH in liver disease)
3. Temp & pHCustom dual-graph diagram + enzyme pH optimum table + rumen acidosis, pancreatitis, heat stroke cases
4. β-OxidationFull pathway diagram + chemical equations diagram + step table + energy yield table + ketosis/hepatic lipidosis/carnitine deficiency cases
5. TCA CycleComplete Krebs cycle diagram (with inhibitor sites) + 8-step table + energy table + fluoroacetate/thiamin/arsenite poisoning cases
6. GlycogenolysisStep-by-step glycogen debranching diagram + enzyme table + hormonal regulation table + neonatal hypoglycaemia/GSD/diabetes cases
7. ES ComplexActive site H-bond diagram + before/after induced fit diagrams side by side + Lock-and-Key vs Induced Fit table + OP poisoning/allopurinol cases
Bonus: OXPHOSFull ETC concept map + Complex I-V table with inhibitors + cyanide/CO/thermogenin/rotenone vet cases
Last pageMaster quick-revision table — all 9 topics in one view
Every page has page numbers, a footer line, and coloured section banners.

give me the pdf again

Here it is:

Vet Biochemistry Diagrams Clinical

PDF Document · PDF

If the link doesn't download, let me know and I'll regenerate the file fresh.

Create a second PDF with all answer for all questions mwntioned above with diagram if there

Running Command

ls -lh /home/daytona/workspace/vet-biochem-pdf/images/ && echo "---" && ls /home/daytona/workspace/vet-biochem-pdf/

All images present. Now I'll build the comprehensive answers PDF.
Writing File

~/vet-biochem-pdf/build_answers_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Image,
                                 Table, TableStyle, PageBreak, HRFlowable)
from reportlab.pdfgen import canvas
from reportlab.lib.colors import HexColor
from PIL import Image as PILImage
import os

IMG_DIR  = "/home/daytona/workspace/vet-biochem-pdf/images"
OUT_PATH = "/home/daytona/workspace/vet-biochem-pdf/Vet_Biochem_Complete_Answers.pdf"
W, H = A4

# ── Palette ──────────────────────────────────────────────────────
DARK_BLUE   = HexColor("#1a3a5c")
MED_BLUE    = HexColor("#2e6da4")
LIGHT_BLUE  = HexColor("#dce8f5")
DARK_GREEN  = HexColor("#1a5c2a")
MED_GREEN   = HexColor("#2e8a42")
LIGHT_GREEN = HexColor("#e0f4e4")
GOLD        = HexColor("#b8860b")
LIGHT_GOLD  = HexColor("#fdf6dc")
PURPLE      = HexColor("#5a1e82")
LIGHT_PURP  = HexColor("#f0e6fa")
WARN_RED    = HexColor("#b22222")
LIGHT_RED   = HexColor("#fde8e8")
MID_GRAY    = HexColor("#777777")
LIGHT_GRAY  = HexColor("#f8f8f8")

styles = getSampleStyleSheet()

def PS(base="Normal", **kw):
    return ParagraphStyle("x"+str(hash(str(kw))), parent=styles.get(base, styles["Normal"]), **kw)

# ── Styles ───────────────────────────────────────────────────────
TITLE_S   = PS("Title",   fontSize=28, textColor=DARK_BLUE, alignment=TA_CENTER,
                fontName="Helvetica-Bold", spaceAfter=6)
SUB_S     = PS("Normal",  fontSize=12, textColor=MED_BLUE,  alignment=TA_CENTER,
                fontName="Helvetica", spaceAfter=4)
DATE_S    = PS("Normal",  fontSize=8,  textColor=MID_GRAY,  alignment=TA_CENTER,
                fontName="Helvetica-Oblique")
Q_HEAD_S  = PS("Normal",  fontSize=13, textColor=colors.white, fontName="Helvetica-Bold",
                leading=18, spaceAfter=0)
ANS_HEAD_S= PS("Normal",  fontSize=11, textColor=DARK_BLUE, fontName="Helvetica-Bold",
                spaceBefore=6, spaceAfter=3, leading=15)
SUBHEAD_S = PS("Normal",  fontSize=10, textColor=MED_BLUE,  fontName="Helvetica-Bold",
                spaceBefore=4, spaceAfter=2, leading=13)
BODY_S    = PS("Normal",  fontSize=9,  textColor=colors.black, fontName="Helvetica",
                leading=13, spaceBefore=2, spaceAfter=2, alignment=TA_JUSTIFY)
BULLET_S  = PS("Normal",  fontSize=9,  textColor=colors.black, fontName="Helvetica",
                leading=12, spaceBefore=1, spaceAfter=1, leftIndent=14)
FORMULA_S = PS("Normal",  fontSize=9,  textColor=DARK_GREEN, fontName="Helvetica-Bold",
                leading=13, spaceBefore=2, spaceAfter=2, leftIndent=10)
CAPTION_S = PS("Normal",  fontSize=7.5,textColor=MID_GRAY,  fontName="Helvetica-Oblique",
                alignment=TA_CENTER, spaceBefore=1, spaceAfter=5)
TH_S      = PS("Normal",  fontSize=8,  textColor=colors.white, fontName="Helvetica-Bold",
                alignment=TA_CENTER)
TD_S      = PS("Normal",  fontSize=8,  textColor=colors.black, fontName="Helvetica",
                alignment=TA_LEFT, leading=11)
TD_C_S    = PS("Normal",  fontSize=8,  textColor=colors.black, fontName="Helvetica",
                alignment=TA_CENTER, leading=11)
MARK_S    = PS("Normal",  fontSize=9,  textColor=GOLD, fontName="Helvetica-Bold",
                alignment=TA_CENTER)

# ── Helpers ──────────────────────────────────────────────────────
def get_img(fname, max_w_cm=14, max_h_cm=16):
    path = os.path.join(IMG_DIR, fname)
    if not os.path.exists(path):
        return Paragraph(f"[Image missing: {fname}]", BODY_S)
    pil = PILImage.open(path)
    iw, ih = pil.size
    ratio = ih / iw
    w = max_w_cm * cm
    h = w * ratio
    if h > max_h_cm * cm:
        h = max_h_cm * cm
        w = h / ratio
    return Image(path, width=w, height=h, hAlign="CENTER")

def q_banner(text, bg=DARK_BLUE):
    row = [Paragraph(text, Q_HEAD_S)]
    t = Table([row], colWidths=[W - 4*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), bg),
        ("TOPPADDING",    (0,0),(-1,-1), 7),
        ("BOTTOMPADDING", (0,0),(-1,-1), 7),
        ("LEFTPADDING",   (0,0),(-1,-1), 12),
    ]))
    return t

def marks_tag(marks):
    return Paragraph(f"[{marks}]", MARK_S)

def info_box(title, lines, bg=LIGHT_BLUE, border=MED_BLUE, tc=DARK_BLUE):
    content = [Paragraph(f"<b>{title}</b>",
                PS("Normal", fontSize=9, textColor=tc, fontName="Helvetica-Bold", leading=13))]
    for l in lines:
        content.append(Paragraph(f"• {l}", PS("Normal", fontSize=8.5, textColor=colors.black,
                                               fontName="Helvetica", leading=12)))
    t = Table([[content]], colWidths=[W - 4*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,-1), bg),
        ("BOX",           (0,0),(-1,-1), 1.5, border),
        ("TOPPADDING",    (0,0),(-1,-1), 6),
        ("BOTTOMPADDING", (0,0),(-1,-1), 6),
        ("LEFTPADDING",   (0,0),(-1,-1), 8),
        ("RIGHTPADDING",  (0,0),(-1,-1), 8),
    ]))
    return t

def vet_box(title, *lines):
    return info_box(f"🐾 Vet Relevance — {title}", list(lines),
                    bg=LIGHT_GREEN, border=MED_GREEN, tc=DARK_GREEN)

def warn_box(title, *lines):
    return info_box(f"⚠ Exam Tip — {title}", list(lines),
                    bg=LIGHT_RED, border=WARN_RED, tc=WARN_RED)

def def_box(title, defn):
    return info_box(f"Definition: {title}", [defn],
                    bg=LIGHT_GOLD, border=GOLD, tc=GOLD)

def make_table(headers, rows, col_widths=None):
    data = [[Paragraph(h, TH_S) for h in headers]]
    for row in rows:
        data.append([Paragraph(str(c), TD_S) for c in row])
    cw = col_widths if col_widths else [(W - 4*cm)/len(headers)]*len(headers)
    t = Table(data, colWidths=cw, repeatRows=1)
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0),(-1,0), MED_BLUE),
        ("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.white, LIGHT_BLUE]),
        ("GRID",          (0,0),(-1,-1), 0.4, HexColor("#bbbbbb")),
        ("TOPPADDING",    (0,0),(-1,-1), 4),
        ("BOTTOMPADDING", (0,0),(-1,-1), 4),
        ("LEFTPADDING",   (0,0),(-1,-1), 5),
        ("VALIGN",        (0,0),(-1,-1), "TOP"),
    ]))
    return t

def sp(h=0.25): return Spacer(1, h*cm)
def hr(): return HRFlowable(width="100%", thickness=0.5, color=LIGHT_BLUE,
                             spaceBefore=4, spaceAfter=4)
def pb(): return PageBreak()

# ── Numbered canvas ───────────────────────────────────────────────
class NC(canvas.Canvas):
    def __init__(self, *a, **kw):
        super().__init__(*a, **kw)
        self._pages = []
        self._pn = 0

    def showPage(self):
        self._pn += 1
        self._pages.append(dict(self.__dict__))
        self._startPage()

    def save(self):
        n = len(self._pages)
        for i, st in enumerate(self._pages):
            self.__dict__.update(st)
            self._draw_footer(i+1, n)
            canvas.Canvas.showPage(self)
        canvas.Canvas.save(self)

    def _draw_footer(self, pn, total):
        self.setFont("Helvetica", 7.5)
        self.setFillColor(MID_GRAY)
        self.drawString(2*cm, 1.1*cm, "Vet Biochemistry — Complete Answers | Q.5, Q.6, Q.7")
        self.drawRightString(W-2*cm, 1.1*cm, f"Page {pn} of {total}")
        self.setStrokeColor(LIGHT_BLUE)
        self.setLineWidth(0.5)
        self.line(2*cm, 1.4*cm, W-2*cm, 1.4*cm)

# ═════════════════════════════════════════════════════════════════
#  BUILD STORY
# ═════════════════════════════════════════════════════════════════
story = []

# ── COVER ────────────────────────────────────────────────────────
story += [sp(3)]
story.append(Paragraph("VET BIOCHEMISTRY", TITLE_S))
story.append(Paragraph("Complete Exam Answers with Diagrams", SUB_S))
story += [sp(0.3)]
story.append(HRFlowable(width="55%", thickness=2.5, color=GOLD, hAlign="CENTER",
                         spaceBefore=4, spaceAfter=4))
story += [sp(0.3)]
story.append(Paragraph("Q.No.5 &nbsp;|&nbsp; Q.No.6 &nbsp;|&nbsp; Q.No.7", SUB_S))
story += [sp(0.5)]

cover_rows = [
    ("Q.5", "Definitions (2 × 5 = 10 marks)",
     "Intermediary Metabolism • Turnover Number • Specific Activity • Coenzymes • Oxidative Phosphorylation"),
    ("Q.6", "Short Notes — Any Two (2.5 × 2 = 5 marks)",
     "Cori Cycle • Deamination of Amino Acids • Effects of Temperature & pH on Enzyme Activity"),
    ("Q.7", "Brief Descriptions — Any Three (5 × 3 = 15 marks)",
     "β-Oxidation • TCA Cycle • Glycogenolysis • Enzyme-Substrate Complex Formation"),
]
for qn, title, topics in cover_rows:
    story.append(Table([[
        Paragraph(f"<b>{qn}</b>", PS("Normal", fontSize=11, textColor=colors.white,
                                      fontName="Helvetica-Bold", alignment=TA_CENTER)),
        [Paragraph(f"<b>{title}</b>", PS("Normal", fontSize=10, textColor=DARK_BLUE,
                                          fontName="Helvetica-Bold")),
         Paragraph(topics, PS("Normal", fontSize=8.5, textColor=MID_GRAY,
                               fontName="Helvetica-Oblique"))]
    ]], colWidths=[1.8*cm, W-5.8*cm],
        style=TableStyle([
            ("BACKGROUND",    (0,0),(0,-1), MED_BLUE),
            ("BACKGROUND",    (1,0),(1,-1), LIGHT_GRAY),
            ("BOX",           (0,0),(-1,-1), 1, MED_BLUE),
            ("TOPPADDING",    (0,0),(-1,-1), 8),
            ("BOTTOMPADDING", (0,0),(-1,-1), 8),
            ("LEFTPADDING",   (0,0),(-1,-1), 8),
            ("VALIGN",        (0,0),(-1,-1), "MIDDLE"),
        ])))
    story.append(sp(0.15))

story += [sp(1)]
story.append(Paragraph("Sources: Lippincott Illustrated Reviews Biochemistry 8e • Harper's Illustrated "
                        "Biochemistry 32e • Basic Medical Biochemistry 6e • Guyton &amp; Hall Physiology",
                        DATE_S))
story.append(pb())

# ═════════════════════════════════════════════════════════════════
#  Q.No.5  —  DEFINITIONS
# ═════════════════════════════════════════════════════════════════
story.append(q_banner("Q.No.5   Define the following                          (2 × 5 = 10 marks)", DARK_BLUE))
story += [sp(0.3)]

# ── i. Intermediary Metabolism ────────────────────────────────────
story.append(ANS_HEAD_S and Paragraph("<b>i. &nbsp; Intermediary Metabolism</b>", ANS_HEAD_S))
story.append(def_box("Intermediary Metabolism",
    "The totality of chemical reactions occurring in living cells that involve the "
    "breakdown (catabolism) and synthesis (anabolism) of molecules, and the "
    "interconversion of metabolic intermediates linking carbohydrate, lipid, and "
    "amino acid metabolism."))
story += [sp(0.15)]
story.append(Paragraph(
    "Intermediary metabolism refers to the reactions that connect the major metabolic pathways. "
    "It is the 'metabolic crossroads' of the cell.", BODY_S))
story.append(Paragraph("<b>Key features:</b>", SUBHEAD_S))
for pt in [
    "Occurs in all living cells; regulated by enzyme phosphorylation, allosteric control, and hormones",
    "Central hub = <b>Acetyl-CoA</b>, which links glycolysis, fatty acid oxidation, and amino acid catabolism",
    "Key intermediates: Pyruvate, Acetyl-CoA, Oxaloacetate, Glucose-6-phosphate, α-Ketoglutarate",
    "Pathways are interconvertible: Glucose → Fatty acids; Amino acid carbons → TCA cycle intermediates",
    "<b>Vet note:</b> In ruminants, intermediary metabolism revolves around propionate (from rumen fermentation) → gluconeogenesis, rather than dietary glucose as in monogastrics",
]:
    story.append(Paragraph(f"• {pt}", BULLET_S))
story += [sp(0.3)]
story.append(hr())

# ── ii. Turnover Number ───────────────────────────────────────────
story.append(Paragraph("<b>ii. &nbsp; Turnover Number (k<sub>cat</sub>)</b>", ANS_HEAD_S))
story.append(def_box("Turnover Number (kcat)",
    "The number of substrate molecules converted to product per enzyme molecule "
    "(or per active site) per unit time (per second), when the enzyme is fully "
    "saturated with substrate at Vmax."))
story += [sp(0.15)]
story.append(Paragraph("<b>Formula:</b>", SUBHEAD_S))
story.append(Paragraph("k<sub>cat</sub> = V<sub>max</sub> / [E<sub>t</sub>]     "
                        "(where E<sub>t</sub> = total enzyme concentration)", FORMULA_S))
story.append(Paragraph("k<sub>cat</sub> = V<sub>max</sub> / S<sub>t</sub>     "
                        "(where S<sub>t</sub> = total active sites)", FORMULA_S))
story += [sp(0.1)]
story.append(make_table(
    ["Parameter", "Value / Detail"],
    [
        ["Units", "reactions per second (s⁻¹) or per minute (min⁻¹)"],
        ["Typical range (mammalian enzymes)", "10² to 10⁴ s⁻¹"],
        ["Carbonic anhydrase (fastest)", "~4 × 10⁵ s⁻¹ — one of the fastest known enzymes"],
        ["Lysozyme (slowest common)", "~0.5 s⁻¹ (2 seconds per reaction)"],
        ["Acetylcholinesterase", "~14,000 s⁻¹"],
        ["Catalytic efficiency", "kcat / Km — best measure of enzyme performance"],
        ["Diffusion-limited enzymes", "kcat/Km approaches 10⁸–10¹⁰ M⁻¹s⁻¹ (catalytically perfect)"],
    ],
    col_widths=[7*cm, 9*cm]
))
story += [sp(0.15)]
story.append(vet_box("Turnover Number",
    "Organophosphate poisoning in cattle, dogs, sheep: OP compounds covalently inhibit "
    "acetylcholinesterase (AChE), reducing its effective kcat to near zero → ACh accumulates "
    "→ SLUD syndrome. Treatment: Pralidoxime (2-PAM) reactivates AChE if given early",
    "Measuring kcat helps evaluate enzyme deficiencies in Glycogen Storage Diseases "
    "(e.g., low phosphorylase kcat in GSD Type V — McArdle disease in horses/dogs)",
))
story += [sp(0.3)]
story.append(hr())

# ── iii. Specific Activity ────────────────────────────────────────
story.append(Paragraph("<b>iii. &nbsp; Specific Activity</b>", ANS_HEAD_S))
story.append(def_box("Specific Activity",
    "The enzyme activity (units of catalytic activity) per milligram of total protein "
    "in a preparation. It is a measure of enzyme purity — the higher the specific "
    "activity, the purer the enzyme."))
story += [sp(0.15)]
story.append(Paragraph("<b>Formula:</b>", SUBHEAD_S))
story.append(Paragraph("Specific Activity = V<sub>max</sub> (or enzyme units) / mg total protein",
                        FORMULA_S))
story.append(Paragraph("<b>Units:</b> μmol substrate/min/mg protein &nbsp; OR &nbsp; U/mg &nbsp; OR &nbsp; nmol/min/mg",
                        FORMULA_S))
story += [sp(0.1)]
story.append(make_table(
    ["Term", "Formula", "Meaning"],
    [
        ["Total Activity", "Units × total volume (mL)", "Total enzyme present in whole preparation"],
        ["Specific Activity", "Units / mg total protein", "Purity indicator — rises as enzyme is purified"],
        ["Turnover Number", "Vmax / [Et]", "Speed of catalysis by pure enzyme"],
        ["Pure enzyme", "Highest possible specific activity", "All protein present is the enzyme of interest"],
    ],
    col_widths=[4.5*cm, 5.5*cm, 6*cm]
))
story += [sp(0.15)]
story.append(Paragraph("<b>Purification steps and specific activity:</b>", SUBHEAD_S))
story.append(Paragraph(
    "As enzyme is purified (e.g., ammonium sulfate precipitation → dialysis → "
    "ion-exchange chromatography → affinity chromatography), total protein decreases "
    "while enzyme activity is preserved → specific activity increases progressively.",
    BODY_S))
story.append(vet_box("Specific Activity",
    "Clinical enzyme assays in vet diagnostics (ALT, AST, ALP, CK, LDH, GGT, GDH) are "
    "reported in U/L (units per litre of serum) — analogous to specific activity",
    "Elevated ALT specific activity in dogs/cats → hepatocyte damage (hepatitis, lipidosis, toxins)",
    "Elevated CK (creatine kinase) → muscle damage in horses (tying-up), cattle, dogs",
    "GDH most specific for hepatocellular necrosis in ruminants (cattle, sheep)",
))
story += [sp(0.3)]
story.append(hr())

# ── iv. Coenzymes ─────────────────────────────────────────────────
story.append(Paragraph("<b>iv. &nbsp; Coenzymes</b>", ANS_HEAD_S))
story.append(def_box("Coenzymes",
    "Small, nonprotein organic molecules that associate with certain enzymes and are "
    "essential for their catalytic activity. They act as carriers of specific chemical "
    "groups, electrons, hydrogen atoms, or atoms from one reaction to another."))
story += [sp(0.15)]
story.append(Paragraph("<b>Key terminology:</b>", SUBHEAD_S))
story.append(make_table(
    ["Term", "Definition"],
    [
        ["Apoenzyme", "Inactive protein portion of an enzyme alone (without cofactor)"],
        ["Cofactor", "Nonprotein component required for activity (metal ion OR organic molecule)"],
        ["Holoenzyme", "Apoenzyme + Cofactor = ACTIVE, functional enzyme"],
        ["Coenzyme", "Small organic cofactor; transiently associated; dissociates after reaction (e.g., NAD⁺)"],
        ["Prosthetic group", "Coenzyme permanently/covalently bound to enzyme (e.g., FAD, biotin)"],
    ],
    col_widths=[4.5*cm, 11.5*cm]
))
story += [sp(0.2)]
story.append(Paragraph("<b>Classification of coenzymes:</b>", SUBHEAD_S))
story.append(make_table(
    ["Coenzyme", "Derived from", "Function", "Example enzyme"],
    [
        ["NAD⁺/NADH", "Niacin (Vit B3)", "Oxidation-reduction (electron carrier)", "LDH, GDH, Malate DH"],
        ["FAD/FADH₂", "Riboflavin (Vit B2)", "Oxidation-reduction (electron carrier)", "Succinate DH, Acyl-CoA DH"],
        ["NADP⁺/NADPH", "Niacin (Vit B3)", "Anabolic redox reactions", "G6P-DH, Fatty acid synthase"],
        ["Coenzyme A (CoA)", "Pantothenic acid (Vit B5)", "Acyl group transfer", "Citrate synthase, Thiolase"],
        ["Thiamin PPi (TPP)", "Thiamin (Vit B1)", "Aldehyde/ketone transfer; decarboxylation", "Pyruvate DH, α-KG DH"],
        ["Pyridoxal phosphate (PLP)", "Pyridoxine (Vit B6)", "Amino group transfer (transamination)", "ALT, AST"],
        ["Biotin", "Biotin (Vit B7)", "CO₂ transfer (carboxylation)", "Pyruvate carboxylase"],
        ["Tetrahydrofolate (THF)", "Folic acid (Vit B9)", "One-carbon group transfer", "Thymidylate synthase"],
        ["Cobalamin (Vit B12)", "Cobalamin", "Methyl group transfer; rearrangements", "Methylmalonyl-CoA mutase"],
    ],
    col_widths=[3.8*cm, 3.2*cm, 4.5*cm, 4.5*cm]
))
story += [sp(0.15)]
story.append(vet_box("Coenzymes",
    "Thiamin (Vit B1 / TPP) deficiency in ruminants → Polioencephalomalacia (PEM / "
    "cerebrocortical necrosis): Pyruvate DH and α-KG DH require TPP → blocked → "
    "brain energy failure → blindness, opisthotonus, seizures. Treat: IV thiamin",
    "Riboflavin (Vit B2 / FAD) deficiency: Rare but causes dermatitis, peripheral "
    "neuropathy in poultry; reduced β-oxidation and TCA cycle activity",
    "Niacin (Vit B3 / NAD⁺) deficiency: 'Black tongue' in dogs (= pellagra equivalent); "
    "Tryptophan can be converted to niacin in liver (cats cannot do this efficiently)",
    "Vit B12 (cobalamin) deficiency in cobalt-deficient pastures: Methylmalonyl-CoA "
    "mutase impaired → propionate metabolism blocked in ruminants → 'pine' disease in sheep",
))
story += [sp(0.3)]
story.append(hr())

# ── v. Oxidative Phosphorylation ──────────────────────────────────
story.append(Paragraph("<b>v. &nbsp; Oxidative Phosphorylation</b>", ANS_HEAD_S))
story.append(def_box("Oxidative Phosphorylation (OXPHOS)",
    "The metabolic process by which ATP is synthesised from ADP and inorganic phosphate (Pi), "
    "driven by the energy released during the transfer of electrons along the mitochondrial "
    "electron transport chain (ETC) to molecular oxygen, coupled to the pumping of protons "
    "across the inner mitochondrial membrane (Mitchell's Chemiosmotic Theory)."))
story += [sp(0.2)]
story.append(Paragraph("<b>Diagram — Oxidative Phosphorylation:</b>", SUBHEAD_S))
story.append(get_img("oxphos.png", max_w_cm=15, max_h_cm=13))
story.append(Paragraph(
    "Fig. Oxidative Phosphorylation — ETC Complexes I–IV pump H⁺ from matrix to "
    "intermembrane space; H⁺ re-enters via ATP synthase (Complex V) → ATP synthesis. "
    "Source: Lippincott Illustrated Reviews Biochemistry 8e", CAPTION_S))
story += [sp(0.1)]
story.append(make_table(
    ["ETC Complex", "Name", "Inhibitor (Vet toxicology)"],
    [
        ["Complex I",  "NADH-CoQ reductase",      "Rotenone (insecticide; toxic to fish, cats)"],
        ["Complex II", "Succinate-CoQ reductase",  "Malonate (competitive inhibitor)"],
        ["Complex III","CoQ-Cyt c reductase",      "Antimycin A"],
        ["Complex IV", "Cytochrome c oxidase",     "Cyanide (CN⁻), Carbon monoxide (CO), Azide"],
        ["Complex V",  "ATP synthase (F₀F₁)",      "Oligomycin (blocks F₀ proton channel)"],
        ["Uncouplers", "Dissipate H⁺ gradient → heat instead of ATP",
         "DNP (2,4-dinitrophenol); Thermogenin/UCP1 in neonatal brown fat"],
    ],
    col_widths=[2.5*cm, 5.5*cm, 8*cm]
))
story += [sp(0.15)]
story.append(vet_box("Oxidative Phosphorylation",
    "Cyanide toxicity (cattle/horses from sorghum, sudangrass, wild cherry): CN⁻ blocks "
    "Complex IV → OXPHOS stops → bright red venous blood (oxyHb cannot unload O₂ as cells "
    "cannot use it). Rx: Sodium nitrite + sodium thiosulphate",
    "CO poisoning (barn fires, faulty heaters): Blocks Complex IV AND binds haemoglobin "
    "→ dual impairment. Animals found dead or unconscious",
    "Thermogenin (UCP1) in neonatal lambs, piglets, foals, calves: Uncouples OXPHOS "
    "→ heat generation for thermoregulation at birth. Hypothermic neonates lack this reserve",
    "ATP yield: NADH → 2.5 ATP; FADH₂ → 1.5 ATP; 1 glucose → ~30–32 ATP total",
))
story.append(pb())

# ═════════════════════════════════════════════════════════════════
#  Q.No.6  —  SHORT NOTES
# ═════════════════════════════════════════════════════════════════
story.append(q_banner("Q.No.6   Write short notes on Any TWO               (2.5 × 2 = 5 marks)", MED_BLUE))
story += [sp(0.3)]

# ── 1. Cori Cycle ─────────────────────────────────────────────────
story.append(Paragraph("<b>1. &nbsp; Cori Cycle — Diagrammatic Representation</b>", ANS_HEAD_S))
story.append(def_box("Cori Cycle (Lactic Acid Cycle)",
    "The metabolic cycle in which lactate produced by anaerobic glycolysis in peripheral "
    "tissues (muscle, RBCs) is transported to the liver, reconverted to glucose by "
    "gluconeogenesis, and returned to the blood — completing the cycle."))
story += [sp(0.2)]
story.append(get_img("cori_cycle.png", max_w_cm=14, max_h_cm=10))
story.append(Paragraph(
    "Fig. Cori Cycle — RBCs/Muscle: Glucose → Glycolysis → 2 Lactate (+ 2 ATP); "
    "Blood carries lactate to Liver: Lactate → Gluconeogenesis → Glucose (uses 6 ATP). "
    "Source: Basic Medical Biochemistry 6e, Fig. 22.12", CAPTION_S))
story += [sp(0.1)]
story.append(Paragraph("<b>Steps:</b>", SUBHEAD_S))
for step in [
    "<b>1.</b> Glucose delivered from liver via blood to muscle/RBC",
    "<b>2.</b> Anaerobic glycolysis in muscle/RBC: Glucose → Pyruvate → Lactate (LDH, uses NADH)",
    "<b>3.</b> Lactate transported via blood to <b>liver</b>",
    "<b>4.</b> In liver: Lactate → Pyruvate (LDH, NAD⁺ used) → Glucose (gluconeogenesis — needs 6 ATP)",
    "<b>5.</b> New glucose released back into blood → cycle repeats",
]:
    story.append(Paragraph(step, BULLET_S))
story += [sp(0.1)]
story.append(make_table(
    ["Feature", "Muscle/RBC", "Liver"],
    [
        ["Process", "Anaerobic glycolysis", "Gluconeogenesis"],
        ["ATP", "+2 ATP produced", "−6 ATP consumed"],
        ["Key enzyme", "LDH (Lactate DH)", "LDH + PEPCK, FBPase, G6Pase"],
        ["Net for cycle", "—", "Net energy cost = 4 ATP"],
    ],
    col_widths=[5*cm, 5.5*cm, 5.5*cm]
))
story.append(vet_box("Cori Cycle",
    "Exercising horses/greyhounds: Massive lactate production → Cori cycle recycles it",
    "Capture myopathy: Overwhelmed Cori cycle → fatal lactic acidosis in wild animals",
    "Neonatal asphyxia in calves (dystocia): Anaerobic metabolism → elevated blood lactate; Rx: IV glucose + NaHCO₃",
))
story += [sp(0.3)]
story.append(hr())

# ── 2. Deamination Reactions ──────────────────────────────────────
story.append(Paragraph("<b>2. &nbsp; Deamination Reactions of Amino Acids</b>", ANS_HEAD_S))
story.append(def_box("Deamination",
    "The removal of the amino (−NH₂) group from an amino acid, resulting in production "
    "of an α-keto acid and release of nitrogen, chiefly as ammonia (NH₃)."))
story += [sp(0.2)]
story.append(Paragraph("<b>Step 1 — Transamination (ALT &amp; AST reactions):</b>", SUBHEAD_S))
story.append(get_img("transamination.png", max_w_cm=9, max_h_cm=8))
story.append(Paragraph(
    "Fig. A: ALT — Alanine + α-KG → Pyruvate + Glutamate (coenzyme: PLP/Vit B6). "
    "B: AST — Aspartate + α-KG ↔ OAA + Glutamate (coenzyme: PLP). "
    "Source: Lippincott Biochemistry 8e, Fig. 19.8", CAPTION_S))
story += [sp(0.15)]
story.append(Paragraph("<b>Step 2 — Oxidative Deamination (Glutamate Dehydrogenase):</b>", SUBHEAD_S))
story.append(get_img("oxidative_deamination.png", max_w_cm=10, max_h_cm=9))
story.append(Paragraph(
    "Fig. Panel A: Disposal — NH₂ groups → Transamination → Glutamate → Oxidative "
    "Deamination (GDH + NAD⁺) → free NH₃ + NADH + α-KG. "
    "Panel B: Synthesis — Reverse via Reductive Amination (GDH + NADPH). "
    "Source: Lippincott Biochemistry 8e, Fig. 19.12", CAPTION_S))
story += [sp(0.1)]
story.append(make_table(
    ["Type", "Enzyme", "Coenzyme", "Products"],
    [
        ["Transamination", "ALT (SGPT), AST (SGOT)", "PLP (Vit B6)", "α-Keto acid + Glutamate"],
        ["Oxidative deamination", "Glutamate DH (GDH)", "NAD⁺ (catabolism)", "α-KG + NH₃ + NADH"],
        ["Non-oxidative deamination", "Serine dehydratase", "PLP", "Pyruvate + NH₃ (Serine)"],
        ["D-amino acid oxidase (DAO)", "DAO (peroxisomal, FAD-dep.)", "FAD", "α-Keto acid + NH₃ + H₂O₂"],
    ],
    col_widths=[4*cm, 4.5*cm, 3.5*cm, 4*cm]
))
story += [sp(0.1)]
story.append(Paragraph(
    "<b>Fate of NH₃:</b> Toxic → rapidly converted to <b>Urea</b> (liver urea cycle) "
    "for safe excretion. In birds/reptiles → uric acid.", BODY_S))
story.append(vet_box("Deamination",
    "ALT (SGPT): Liver-specific in dogs & cats. Reference range dog: 10–100 U/L. "
    "Elevated in hepatitis, hepatic lipidosis, aflatoxin/xylitol toxicity",
    "AST (SGOT): Elevated in both liver AND muscle disease in horses & ruminants. "
    "Always interpret alongside CK to differentiate source",
    "GDH: Best hepatocellular marker in cattle/sheep — elevated in ragwort toxicity, "
    "aflatoxicosis; hepatic encephalopathy when NH₃ accumulates",
))
story.append(pb())

# ── 3. Temperature and pH effects ────────────────────────────────
story.append(q_banner("Q.No.6 continued", MED_BLUE))
story += [sp(0.3)]
story.append(Paragraph("<b>3. &nbsp; Effects of Temperature and pH on Enzyme Activity</b>", ANS_HEAD_S))
story += [sp(0.2)]
story.append(get_img("temp_ph.png", max_w_cm=15, max_h_cm=9))
story.append(Paragraph(
    "Fig. Left: Effect of temperature — bell-shaped curve; optimum 37–40°C for mammalian enzymes; "
    "above optimum → denaturation. Right: Effect of pH — different enzymes have different "
    "optima (Pepsin pH 2; Salivary amylase pH 6.8; Trypsin pH 7.5–8).", CAPTION_S))
story += [sp(0.2)]
story.append(Paragraph("<b>A. Effect of Temperature:</b>", SUBHEAD_S))
story.append(make_table(
    ["Phase", "Mechanism", "Effect on Activity"],
    [
        ["Rising (below optimum)", "↑ kinetic energy → more frequent enzyme-substrate collisions; Q₁₀ = 2 (rate doubles per 10°C rise)",
         "Activity increases"],
        ["Optimum (~37–40°C)", "Maximum collision frequency + enzyme still properly folded",
         "Maximum activity"],
        ["Above optimum (>40–42°C)", "Heat breaks H-bonds, disrupts hydrophobic interactions → protein denaturation → active site lost",
         "Rapid, often irreversible decrease"],
    ],
    col_widths=[3.5*cm, 8.5*cm, 4*cm]
))
story += [sp(0.2)]
story.append(Paragraph("<b>B. Effect of pH:</b>", SUBHEAD_S))
story.append(make_table(
    ["Enzyme", "Optimum pH", "Location"],
    [
        ["Pepsin",                  "~2.0",    "Stomach (monogastrics — dog, cat, pig, horse)"],
        ["Salivary amylase",        "6.8–7.0", "Oral cavity (absent in cats; present in dogs, horses)"],
        ["Trypsin / Chymotrypsin",  "7.5–8.0", "Pancreas → small intestine (all species)"],
        ["Alkaline Phosphatase (ALP)", "9–10", "Bone, liver, intestinal mucosa"],
        ["Arginase",                "~9.5",    "Liver (urea cycle)"],
        ["Acid Phosphatase",        "~5.0",    "Lysosomes, prostate"],
        ["Rumen cellulases",        "6.2–6.8", "Rumen microbiota — cellulose digestion in cattle/sheep"],
    ],
    col_widths=[5*cm, 2.5*cm, 8.5*cm]
))
story += [sp(0.1)]
story.append(Paragraph(
    "<b>Why pH affects activity:</b> Changes ionisation state of active site amino acids "
    "(His, Asp, Glu, Lys, Cys) → alters substrate binding and catalytic mechanism. "
    "Extreme pH denatures the enzyme by breaking ionic bonds and H-bonds.", BODY_S))
story.append(vet_box("Temperature & pH Effects",
    "Rumen acidosis (grain overload) in cattle/sheep: pH 4.5–5.5 → inactivates cellulolytic "
    "enzymes → bloat, ataxia, death. Rx: NaHCO₃ + rumen transfaunation",
    "Heat stroke in brachycephalic dogs (Bulldogs, Pugs) and horses: Core temp >42°C → "
    "enzyme denaturation → multi-organ failure. Immediate cooling is life-saving",
    "Pancreatitis in dogs/cats: Premature trypsinogen activation at wrong pH within "
    "pancreas → autodigestion → acute abdomen, peritonitis",
    "Hypothermia in neonatal piglets/lambs in cold: Metabolic enzyme activity halved → "
    "hypoglycaemia, failure to thrive. Provide supplemental heat and colostrum",
    "Clinical assay quality control: ALT, ALP, CK assays run at 37°C in phosphate buffer "
    "(pH 7.4) for accurate results",
))
story.append(pb())

# ═════════════════════════════════════════════════════════════════
#  Q.No.7  —  BRIEF DESCRIPTIONS
# ═════════════════════════════════════════════════════════════════
story.append(q_banner("Q.No.7   Describe briefly Any THREE                (5 × 3 = 15 marks)", DARK_GREEN))
story += [sp(0.3)]

# ── 1. Beta Oxidation ─────────────────────────────────────────────
story.append(Paragraph("<b>1. &nbsp; Steps of β-Oxidation of Fatty Acids</b>", ANS_HEAD_S))
story.append(def_box("β-Oxidation",
    "The stepwise degradation of fatty acids in the mitochondrial matrix by sequential "
    "removal of 2-carbon acetyl-CoA units, producing NADH and FADH₂ per cycle, "
    "with the acetyl-CoA entering the TCA cycle for complete oxidation."))
story += [sp(0.15)]
story.append(Paragraph("<b>Pre-steps: Activation and Transport</b>", SUBHEAD_S))
story.append(Paragraph(
    "<b>Step 0a — Activation (cytoplasm / outer mitochondrial membrane):</b>", BODY_S))
story.append(Paragraph(
    "Fatty acid + CoA + ATP  ──[Acyl-CoA synthetase/Thiokinase]──▶  "
    "Fatty acyl-CoA + AMP + PPi  (costs 2 ATP equivalents)", FORMULA_S))
story.append(Paragraph(
    "<b>Step 0b — Carnitine shuttle (transport across inner mitochondrial membrane):</b>", BODY_S))
for pt in [
    "Long-chain acyl-CoA cannot cross inner mitochondrial membrane alone",
    "Transferred to <b>carnitine</b> by CPT-I (carnitine palmitoyltransferase-I) on outer membrane → acylcarnitine",
    "Acylcarnitine crosses via <b>CACT</b> (carnitine-acylcarnitine translocase)",
    "Reconverted to acyl-CoA inside by CPT-II; free carnitine returns",
]:
    story.append(Paragraph(f"• {pt}", BULLET_S))
story += [sp(0.2)]
story.append(Paragraph("<b>The 4 Repeating Steps of β-Oxidation:</b>", SUBHEAD_S))
story.append(get_img("beta_oxidation_pathway.png", max_w_cm=9, max_h_cm=13))
story.append(Paragraph(
    "Fig. β-Oxidation pathway: activation → carnitine transport → 4-step repeating cycle "
    "→ Acetyl-CoA → TCA cycle → 2CO₂. Each cycle shortens fatty acid chain by 2C. "
    "Source: Harper's Illustrated Biochemistry 32e, Fig. 22-3", CAPTION_S))
story += [sp(0.15)]
story.append(get_img("beta_oxidation_equations.png", max_w_cm=15, max_h_cm=5))
story.append(Paragraph(
    "Fig. Chemical equations for each step: (1) Activation; (2) FAD-oxidation → FADH₂; "
    "(3) Hydration → β-hydroxy intermediate; (4) NAD⁺-oxidation → NADH; "
    "(5) Thiolysis → Acetyl-CoA. Source: Guyton & Hall Medical Physiology, Fig. 69.3",
    CAPTION_S))
story += [sp(0.1)]
story.append(make_table(
    ["Step", "Enzyme", "Cofactor", "Product"],
    [
        ["1. FAD-dependent oxidation", "Acyl-CoA dehydrogenase",     "FAD",  "trans-Δ²-Enoyl-CoA + FADH₂"],
        ["2. Hydration",               "Enoyl-CoA hydratase",         "H₂O",  "L-3-Hydroxyacyl-CoA"],
        ["3. NAD⁺-dependent oxidation","L-3-Hydroxyacyl-CoA DH",     "NAD⁺", "3-Ketoacyl-CoA + NADH"],
        ["4. Thiolysis",               "β-Ketothiolase (Thiolase)",   "CoA",  "Acetyl-CoA + (n−2) Acyl-CoA"],
    ],
    col_widths=[4.5*cm, 5*cm, 2*cm, 4.5*cm]
))
story += [sp(0.15)]
story.append(Paragraph("<b>Energy yield for Palmitate (C16):</b>", SUBHEAD_S))
story.append(make_table(
    ["Stage", "Moles formed", "ATP per mole", "Total ATP"],
    [
        ["Activation (cost)", "—", "−2", "−2"],
        ["β-Oxidation: FADH₂ (7 cycles)", "7", "× 1.5", "+10.5"],
        ["β-Oxidation: NADH (7 cycles)",  "7", "× 2.5", "+17.5"],
        ["TCA cycle: 8 Acetyl-CoA",       "8", "× 10",  "+80"],
        ["NET TOTAL", "", "", "106 ATP"],
    ],
    col_widths=[7*cm, 3*cm, 3*cm, 3*cm]
))
story.append(vet_box("β-Oxidation",
    "Ketosis/Acetonaemia in dairy cows (periparturient): Negative energy balance → "
    "excess β-oxidation → acetyl-CoA cannot enter TCA (OAA depleted) → ketone bodies "
    "(BOHB, acetoacetate, acetone). Blood BOHB >3 mmol/L = clinical ketosis. "
    "Rx: IV 50% glucose, propylene glycol, dexamethasone",
    "Pregnancy toxaemia in ewes (twin-lamb disease): Same mechanism; high twin fetal "
    "demand depletes ewe's glucose → ketosis → CNS signs, recumbency, death",
    "Feline hepatic lipidosis: Obese cat anorexia → fat mobilisation overwhelms "
    "hepatic β-oxidation → fat accumulation → jaundice, liver failure",
    "CPT-I deficiency: Carnitine shuttle impaired → long-chain FA cannot enter "
    "mitochondria → lipid myopathy + dilated cardiomyopathy (Boxers, Dobermans)",
))
story.append(warn_box("β-Oxidation Exam Points",
    "Activation COSTS 2 high-energy phosphates (ATP → AMP + PPi); NOT just 1 ATP",
    "Odd-chain FA → propionyl-CoA → succinyl-CoA (requires Vit B12) → TCA; glucogenic; "
    "important in ruminants (propionate from rumen fermentation)",
    "Unsaturated FA: Require additional enzymes (isomerase / reductase); yield slightly less ATP",
))
story.append(pb())

# ── 2. TCA Cycle ──────────────────────────────────────────────────
story.append(Paragraph("<b>2. &nbsp; Steps of TCA Cycle including Energy Production</b>", ANS_HEAD_S))
story.append(def_box("TCA Cycle (Krebs / Citric Acid Cycle)",
    "A cyclic series of 8 enzyme-catalysed reactions in the mitochondrial matrix that "
    "completely oxidise acetyl-CoA (2C) to CO₂, capturing energy as NADH (3), "
    "FADH₂ (1), and GTP (1) per turn, yielding ~10 ATP per acetyl-CoA."))
story += [sp(0.2)]
story.append(get_img("tca_cycle.png", max_w_cm=13, max_h_cm=14))
story.append(Paragraph(
    "Fig. Complete TCA (Krebs) Cycle — all 8 steps with enzymes, cofactors, and inhibitor "
    "sites (red lines): Fluoroacetate → blocks Aconitase; Arsenite → blocks α-KG DH complex; "
    "Malonate → competitively inhibits Succinate DH. "
    "Source: Harper's Illustrated Biochemistry 32e, Fig. 16-3", CAPTION_S))
story += [sp(0.15)]
story.append(make_table(
    ["#", "Reaction", "Enzyme", "Cofactors", "Energy"],
    [
        ["1", "OAA (4C) + Acetyl-CoA (2C) → Citrate (6C)", "Citrate synthase", "CoA-SH, H₂O", "—"],
        ["2", "Citrate → cis-Aconitate → Isocitrate (6C)", "Aconitase", "Fe²⁺, H₂O", "—"],
        ["3", "Isocitrate → Oxalosuccinate → α-KG (5C) + CO₂", "Isocitrate dehydrogenase", "NAD⁺, Mn²⁺", "1 NADH"],
        ["4", "α-KG (5C) → Succinyl-CoA (4C) + CO₂", "α-KG dehydrogenase complex", "TPP, Lipoate, FAD, NAD⁺, CoA", "1 NADH"],
        ["5", "Succinyl-CoA → Succinate", "Succinyl-CoA synthetase", "Mg²⁺, GDP/ADP", "1 GTP"],
        ["6", "Succinate → Fumarate", "Succinate dehydrogenase (Complex II)", "FAD", "1 FADH₂"],
        ["7", "Fumarate + H₂O → L-Malate", "Fumarase", "H₂O", "—"],
        ["8", "L-Malate → Oxaloacetate", "Malate dehydrogenase", "NAD⁺", "1 NADH"],
    ],
    col_widths=[0.5*cm, 5.2*cm, 4*cm, 3.3*cm, 1.8*cm]
))
story += [sp(0.15)]
story.append(Paragraph("<b>Energy production per turn of TCA cycle:</b>", SUBHEAD_S))
story.append(make_table(
    ["Product", "Number per turn", "ATP equivalent", "Total ATP"],
    [
        ["NADH (steps 3, 4, 8)", "3", "× 2.5 ATP each", "7.5 ATP"],
        ["FADH₂ (step 6)",       "1", "× 1.5 ATP each", "1.5 ATP"],
        ["GTP (step 5)",         "1", "= 1 ATP",         "1.0 ATP"],
        ["CO₂ released",         "2", "—",               "Metabolic waste"],
        ["TOTAL per turn",       "",  "",                 "~10 ATP"],
    ],
    col_widths=[5.5*cm, 3.5*cm, 3.5*cm, 3.5*cm]
))
story += [sp(0.1)]
story.append(Paragraph("<b>Regulation — Key allosteric enzymes:</b>", SUBHEAD_S))
story.append(make_table(
    ["Enzyme", "Activated by", "Inhibited by"],
    [
        ["Citrate synthase", "ADP, low [NADH], low [Acetyl-CoA]", "ATP, NADH, Succinyl-CoA, Citrate"],
        ["Isocitrate DH",    "ADP, Ca²⁺ (muscle/heart)",          "ATP, NADH"],
        ["α-KG DH complex",  "Ca²⁺, ADP",                         "ATP, NADH, Succinyl-CoA"],
    ],
    col_widths=[5*cm, 5.5*cm, 5.5*cm]
))
story.append(vet_box("TCA Cycle",
    "Ketosis in dairy cows: Negative energy balance → OAA diverted to gluconeogenesis "
    "→ TCA cycle slows → acetyl-CoA excess → ketogenesis. BOHB, acetoacetate, acetone "
    "elevated. 'Sweet/acetone breath' in affected cows",
    "Fluoroacetate (compound 1080) poisoning: Dogs, foxes, native wildlife especially "
    "vulnerable. Fluoroacetate → fluorocitrate → blocks Aconitase (Step 2) → citrate "
    "accumulates → TCA stops → cardiac arrhythmia, seizures, death. No antidote",
    "Thiamin (Vit B1) deficiency: α-KG DH complex requires TPP. Polioencephalomalacia "
    "in cattle/sheep (bracken fern in horses) → brain energy failure → seizures, "
    "blindness. IV thiamin 10–20 mg/kg is curative if given early",
    "Arsenite/arsenic poisoning (old sheep dip vats): Binds lipoate in α-KG DH → TCA "
    "block → energy failure. Chelation with DMSA or BAL",
))
story.append(pb())

# ── 3. Glycogenolysis ─────────────────────────────────────────────
story.append(Paragraph("<b>3. &nbsp; Glycogenolysis</b>", ANS_HEAD_S))
story.append(def_box("Glycogenolysis",
    "The enzymatic degradation of stored glycogen to yield glucose (in liver, for blood "
    "glucose maintenance) or glucose-6-phosphate (in muscle, for ATP synthesis via "
    "glycolysis). It is NOT the reverse of glycogen synthesis."))
story += [sp(0.2)]
story.append(get_img("glycogenolysis.png", max_w_cm=13, max_h_cm=10))
story.append(Paragraph(
    "Fig. Steps in Glycogenolysis: Phosphorylase cleaves α-1,4 bonds → Glucan transferase "
    "moves 3 glucose units to expose branch → Debranching enzyme (α-1,6-glucosidase) "
    "releases free glucose at branch point. Blue circles = α-1,4 linked glucose; "
    "Orange = branch chain glucose; branch point = α-1,6 bond. "
    "Source: Harper's Illustrated Biochemistry 32e, Fig. 18-4", CAPTION_S))
story += [sp(0.15)]
story.append(Paragraph("<b>Steps of Glycogenolysis:</b>", SUBHEAD_S))
story.append(make_table(
    ["Step", "Enzyme", "Bond", "Product"],
    [
        ["1. Chain removal", "Glycogen phosphorylase (PLP cofactor, Vit B6)",
         "Cleaves α-1,4 (phosphorolysis)", "Glucose-1-phosphate"],
        ["2. Branch transfer (debranching)", "Glucan transferase (part of debranching enzyme)",
         "Transfers 3 glucose units to main chain", "Exposed α-1,6 branch"],
        ["3. Branch cleavage", "α-1,6-Glucosidase (debranching enzyme)",
         "Cleaves α-1,6 (hydrolysis)", "Free glucose (only unphosphorylated product!)"],
        ["4. Isomerisation", "Phosphoglucomutase",
         "Isomerisation", "Glucose-6-phosphate"],
        ["5. Liver only", "Glucose-6-phosphatase (ER lumen)",
         "Hydrolysis", "Free glucose → released to blood"],
    ],
    col_widths=[3*cm, 5*cm, 4*cm, 4*cm]
))
story += [sp(0.15)]
story.append(Paragraph("<b>Hormonal Regulation:</b>", SUBHEAD_S))
story.append(Paragraph(
    "Glucagon/Epinephrine → adenylate cyclase → ↑ cAMP → "
    "Protein Kinase A (PKA) → phosphorylates Phosphorylase kinase (active) → "
    "phosphorylates Glycogen phosphorylase b → <b>Phosphorylase a (ACTIVE)</b> → "
    "Glycogenolysis ↑", FORMULA_S))
story += [sp(0.1)]
story.append(make_table(
    ["Signal", "Tissue", "Mechanism", "Result"],
    [
        ["Glucagon (low blood glucose)", "Liver",         "↑cAMP → PKA cascade",        "Glycogenolysis ↑; glucose → blood"],
        ["Epinephrine (stress/exercise)","Liver + Muscle","↑cAMP + Ca²⁺ cascade",        "Glycogenolysis ↑ (fight-or-flight)"],
        ["Ca²⁺ (muscle contraction)",   "Muscle",        "Direct activation of Phos. kinase","Glycogenolysis ↑ during exercise"],
        ["AMP (energy depletion)",       "Muscle",        "Allosteric activation of Phos. b","Glycogenolysis ↑ when ATP low"],
        ["Insulin (fed state)",          "Both",          "Activates phosphatase",        "Glycogenolysis ↓; glycogen synthesis ↑"],
    ],
    col_widths=[4*cm, 2.5*cm, 4*cm, 5.5*cm]
))
story += [sp(0.1)]
story.append(make_table(
    ["Tissue", "Final product", "Fate"],
    [
        ["Liver",  "Free glucose (via Glucose-6-phosphatase)", "Released to blood → maintains blood glucose ~80 mg/dL"],
        ["Muscle", "Glucose-6-phosphate (NO G-6-Pase)", "Enters glycolysis → ATP for muscle contraction"],
    ],
    col_widths=[2.5*cm, 6*cm, 7.5*cm]
))
story.append(vet_box("Glycogenolysis",
    "Neonatal hypoglycaemia (piglets, lambs, foals): After birth cord is clamped → "
    "epinephrine + glucagon activate hepatic glycogenolysis to restore blood glucose. "
    "Neonates with limited stores → fatal hypoglycaemia within hours. Rx: Oral/IV glucose",
    "GSD Type II (Pompe disease) in Brahman cattle: Acid maltase deficiency → glycogen "
    "accumulates in muscle/heart → cardiomyopathy, progressive muscle weakness",
    "GSD Type III (Debranching enzyme deficiency) in German Shepherds: Cannot debranch "
    "→ glycogen accumulates → hypoglycaemia + hepatomegaly",
    "Capture myopathy in deer, zebra, kangaroo: Epinephrine surge → rapid glycogenolysis "
    "+ lactate accumulation → muscle necrosis → fatal rhabdomyolysis",
    "Diabetes mellitus in dogs/cats: Glucagon dominance → uncontrolled glycogenolysis "
    "→ hyperglycaemia despite adequate glucose. Insulin therapy required",
))
story.append(pb())

# ── 4. Enzyme-Substrate Complex Formation ────────────────────────
story.append(Paragraph("<b>4. &nbsp; Enzyme-Substrate Complex Formation</b>", ANS_HEAD_S))
story.append(def_box("Enzyme-Substrate (ES) Complex",
    "The transient non-covalent molecular complex formed when a substrate molecule "
    "binds to the specific active site of an enzyme, preceding catalytic conversion "
    "to product. General equation: E + S ⇌ ES → E + P"))
story += [sp(0.2)]
story.append(Paragraph("<b>Nature of the Active Site:</b>", SUBHEAD_S))
for pt in [
    "A 3-dimensional cleft or pocket formed by a small number of specific amino acid residues",
    "Contains a <b>binding site</b> (holds substrate in correct orientation) and a <b>catalytic site</b> (performs chemical transformation)",
    "Key residues: Ser, His, Asp, Cys, Lys, Glu — vary by enzyme type",
    "Represents only ~10–15% of total enzyme surface area",
]:
    story.append(Paragraph(f"• {pt}", BULLET_S))
story += [sp(0.15)]
story.append(Paragraph("<b>Active site H-bond interactions (basis of substrate specificity):</b>",
                        SUBHEAD_S))
story.append(get_img("es_hbonds.png", max_w_cm=11, max_h_cm=8))
story.append(Paragraph(
    "Fig. Glucose binding site in glucokinase — each -OH of glucose (red) is held by "
    "multiple H-bonds (dashed lines) to specific amino acid residues: Asp-205, Asn-204, "
    "Asn-231, Glu-256, Glu-290, Gly-229. Panel B: Galactose (one -OH differs) is NOT "
    "phosphorylated — demonstrates exquisite enzyme specificity. "
    "Source: Basic Medical Biochemistry 6e, Fig. 8.5", CAPTION_S))
story += [sp(0.15)]
story.append(Paragraph("<b>Two Models of ES Complex Formation:</b>", SUBHEAD_S))
story.append(make_table(
    ["Model", "Proposed", "Key Concept", "Status"],
    [
        ["Lock and Key", "Emil Fischer, 1894",
         "Enzyme has rigid, pre-formed active site; substrate fits exactly like key in lock; "
         "no conformational change occurs",
         "Outdated — cannot explain enzyme flexibility or allosteric effects"],
        ["Induced Fit", "Daniel Koshland, 1958",
         "Substrate binding induces conformational change in enzyme; active site cleft "
         "closes around substrate; improves co-substrate binding; excludes water from active site",
         "Currently accepted model"],
    ],
    col_widths=[2.5*cm, 2.5*cm, 7*cm, 4*cm]
))
story += [sp(0.15)]
story.append(Paragraph("<b>Induced Fit — Before and After substrate binding:</b>", SUBHEAD_S))
before = get_img("es_before.png", max_w_cm=7.2, max_h_cm=7)
after  = get_img("es_after.png",  max_w_cm=7.2, max_h_cm=7)
side = Table([[before, after]], colWidths=[8.2*cm, 8.2*cm])
side.setStyle(TableStyle([
    ("ALIGN",         (0,0),(-1,-1), "CENTER"),
    ("VALIGN",        (0,0),(-1,-1), "MIDDLE"),
    ("LEFTPADDING",   (0,0),(-1,-1), 3),
    ("RIGHTPADDING",  (0,0),(-1,-1), 3),
]))
story.append(side)
story.append(Paragraph(
    "Fig. Left (Before): Glucokinase in open conformation; D-glucose (red) approaching. "
    "Right (After): Cleft closes completely around glucose = Induced Fit. Conformational "
    "change improves ATP binding site and excludes water. "
    "Source: Basic Medical Biochemistry 6e, Fig. 8.6", CAPTION_S))
story += [sp(0.1)]
story.append(Paragraph("<b>Forces stabilising the ES complex:</b>", SUBHEAD_S))
story.append(make_table(
    ["Force", "Description"],
    [
        ["Hydrogen bonds",          "Between -OH, -NH₂ of substrate and enzyme Asp, Asn, Glu, Gly residues"],
        ["Electrostatic/ionic",     "Charged groups on substrate ↔ oppositely charged enzyme residues"],
        ["Hydrophobic interactions","Nonpolar substrate regions fit into hydrophobic pockets in active site"],
        ["Van der Waals forces",    "Short-range attractive forces at very close contact distances"],
        ["Transient covalent bonds","E.g., acyl-enzyme intermediate in serine proteases (trypsin, chymotrypsin)"],
    ],
    col_widths=[4*cm, 12*cm]
))
story += [sp(0.1)]
story.append(Paragraph(
    "<b>Significance of ES complex:</b> Lowers activation energy (Ea) by correctly "
    "orienting substrate and stressing key bonds; explains substrate specificity and "
    "competitive inhibition (inhibitor occupies active site).", BODY_S))
story.append(vet_box("ES Complex",
    "Organophosphate (OP) poisoning (cattle from dips, dogs/cats from sprays): OP forms "
    "covalent bond with Ser in AChE active site → ES complex permanently blocked → "
    "ACh accumulates → SLUD syndrome (salivation, lacrimation, urination, defaecation) + "
    "bradycardia, miosis, seizures, bronchospasm. "
    "Rx: Atropine (competitive ACh blocker) + Pralidoxime/2-PAM (reactivates AChE if early)",
    "Competitive inhibition in vet pharmacy: Allopurinol blocks xanthine oxidase active "
    "site (competitive) → used in Dalmatians for urate urolithiasis",
    "Substrate specificity explained: Glucokinase phosphorylates only glucose (not galactose) "
    "→ basis of galactosaemia in calves (congenital galactose-1-phosphate uridyltransferase deficiency)",
    "Drug-enzyme Km: High Km = weak binding = lower drug efficacy at physiological "
    "substrate concentrations; important for antimicrobial target selection",
))
story.append(pb())

# ── MASTER REVISION TABLE ─────────────────────────────────────────
story.append(q_banner("COMPLETE QUICK REVISION — All Questions Summary", PURPLE))
story += [sp(0.3)]
story.append(make_table(
    ["Question", "Topic", "Key Enzyme(s)", "Key Product(s)", "ATP", "Vet Relevance"],
    [
        ["Q5-i",  "Intermediary metabolism", "All metabolic enzymes",
         "Acetyl-CoA, OAA, α-KG", "—",
         "Ruminant propionate metabolism; ketosis"],
        ["Q5-ii", "Turnover number (kcat)", "Any enzyme",
         "Reactions/sec at Vmax", "—",
         "OP poisoning reduces AChE kcat to zero"],
        ["Q5-iii","Specific activity", "Any enzyme",
         "Units/mg protein", "—",
         "ALT, AST, ALP, CK in serum biochemistry"],
        ["Q5-iv", "Coenzymes", "ALT (PLP), LDH (NAD⁺), Succinate DH (FAD)",
         "Varied (NADH, FADH₂, etc.)", "—",
         "B-vitamin deficiencies; PEM, black tongue, B12 deficiency"],
        ["Q5-v",  "Oxidative phosphorylation", "Complex I–IV + ATP synthase",
         "ATP + H₂O", "30–32 ATP/glucose",
         "Cyanide poisoning; CO toxicity; thermogenin in neonates"],
        ["Q6-1",  "Cori cycle", "LDH, G6Pase", "Glucose ↔ Lactate", "Net −4 ATP",
         "Capture myopathy; exercising horses; neonatal asphyxia"],
        ["Q6-2",  "Deamination", "ALT, AST, GDH, DAO",
         "α-Keto acids + NH₃ → Urea", "+1 NADH (GDH)",
         "Liver enzyme panels in dogs/cats; hepatic encephalopathy"],
        ["Q6-3",  "Temp & pH on enzymes", "All enzymes",
         "Bell-shaped activity curve", "—",
         "Rumen acidosis; heat stroke; pancreatitis; hypothermic neonates"],
        ["Q7-1",  "β-Oxidation", "Acyl-CoA DH, Enoyl hydratase, HADH, Thiolase",
         "Acetyl-CoA + NADH + FADH₂", "106 ATP (C16)",
         "Ketosis in cows/ewes; hepatic lipidosis in cats; CPT deficiency"],
        ["Q7-2",  "TCA cycle", "Citrate synthase, Isocitrate DH, α-KG DH, Succinate DH, Malate DH",
         "3NADH + 1FADH₂ + 1GTP + 2CO₂", "~10 ATP/turn",
         "Acetonaemia; fluoroacetate poisoning; thiamin deficiency"],
        ["Q7-3",  "Glycogenolysis", "Glycogen phosphorylase, Debranching enzyme, G6Pase",
         "Glucose (liver) / G-6-P (muscle)", "None",
         "Neonatal hypoglycaemia; GSD in Brahman cattle; DM in dogs"],
        ["Q7-4",  "ES Complex", "Glucokinase (example)",
         "Transition state complex → Product", "—",
         "OP poisoning; allopurinol in Dalmatians; substrate specificity"],
    ],
    col_widths=[1.2*cm, 3*cm, 4*cm, 3.2*cm, 1.8*cm, 3*cm]
))
story += [sp(0.5)]
story.append(Paragraph(
    "<b>Sources:</b> Lippincott Illustrated Reviews Biochemistry 8e • "
    "Harper's Illustrated Biochemistry 32e • Basic Medical Biochemistry 6e • "
    "Guyton &amp; Hall Textbook of Medical Physiology • Goldman-Cecil Medicine",
    DATE_S))

# ── BUILD ─────────────────────────────────────────────────────────
doc = SimpleDocTemplate(
    OUT_PATH,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2*cm,  bottomMargin=2.5*cm,
    title="Vet Biochemistry — Complete Exam Answers with Diagrams",
    author="Orris AI",
    subject="Veterinary Biochemistry Q5 Q6 Q7 Complete Answers",
)
doc.build(story, canvasmaker=NC)
print(f"PDF created: {OUT_PATH}")
import os
size = os.path.getsize(OUT_PATH)
print(f"File size: {size/1024/1024:.1f} MB")
Running Command

cd /home/daytona/workspace/vet-biochem-pdf && python build_answers_pdf.py 2>&1

Your second PDF is ready — 6.4 MB, fully illustrated exam answer booklet:

Vet Biochem Complete Answers

PDF Document · PDF


What's inside this PDF

PagesContent
CoverColour-coded index of Q.5, Q.6, Q.7 topics
Q.5 — Definitions (5 definitions, full answers)i. Intermediary Metabolism · ii. Turnover Number (with formula + table) · iii. Specific Activity (formula + purification table) · iv. Coenzymes (full classification table: NAD, FAD, TPP, PLP, CoA, Biotin, THF, B12) · v. Oxidative Phosphorylation (with ETC diagram + Complex I–V inhibitor table)
Q.6 — Short Notes1. Cori Cycle (diagram + ATP balance table + vet cases) · 2. Deamination (transamination diagram + GDH diagram + enzyme table) · 3. Temperature & pH effects (dual graph + pH optimum table + vet cases)
Q.7 — Brief Descriptions1. β-Oxidation (full pathway diagram + chemical equations diagram + step table + energy yield table) · 2. TCA Cycle (complete Krebs cycle diagram + 8-step table + energy table + regulation table) · 3. Glycogenolysis (debranching diagram + step table + hormonal regulation table) · 4. ES Complex (H-bond diagram + before/after induced fit diagrams side by side + model comparison table)
Last pageMaster 12-row revision table covering all questions with key enzymes, products, ATP yield, and vet relevance
Every page has page numbers, footer, and coloured section banners distinguishing Q.5 (dark blue), Q.6 (medium blue), and Q.7 (dark green).
This is a shared conversation. Sign in to Orris to start your own chat.