help me with biochemistry and physiology we have to complete it by 2 weeks i already have some idea about everything its gonna be like a revision
What level is this for? · How would you like to revise? · Which areas do you want to focus on? (pick all that apply)
| Week | Topics |
|---|---|
| Week 1 (Days 1-3) | Carbohydrate metabolism - glycolysis, TCA, glycogen, gluconeogenesis |
| Week 1 (Days 4-5) | Lipid metabolism - fatty acid oxidation, ketone bodies, cholesterol |
| Week 1 (Days 6-7) | Protein & amino acid metabolism - urea cycle, transamination, special AAs |
| Week 2 (Days 1-2) | Molecular biology - DNA replication, transcription, translation, mutations |
| Week 2 (Day 3) | Vitamins, enzymes & integration of metabolism |
| Week | Topics |
|---|---|
| Week 1 (Days 1-3) | Cardiovascular - cardiac cycle, ECG, BP regulation, heart sounds |
| Week 1 (Days 4-5) | Respiratory - lung volumes, gas exchange, control of breathing |
| Week 1 (Days 6-7) | Renal - GFR, tubular function, acid-base, concentration |
| Week 2 (Days 1-2) | GI - motility, secretion, digestion & absorption |
| Week 2 (Days 3-4) | Endocrine - pituitary, thyroid, adrenal, pancreas, gonads |
| Week 2 (Day 5) | Nerve & muscle - resting potential, action potential, NMJ |
"Start with glycolysis" or "Give me cardiovascular high-yield bullets" or "Quiz me on the urea cycle"
Start with glycolysis and carbohydrate metabolism
| Step | Reaction | Enzyme | Notes |
|---|---|---|---|
| 1 | Glucose → Glucose-6-P | Hexokinase (or Glucokinase in liver) | Irreversible; traps glucose in cell |
| 2 | G-6-P → Fructose-6-P | Phosphoglucose isomerase | Reversible |
| 3 | F-6-P → Fructose-1,6-bisP | Phosphofructokinase-1 (PFK-1) | Rate-limiting step; irreversible |
| 4 | F-1,6-bisP → DHAP + G-3-P | Aldolase | Splits 6C → two 3C |
| 5 | DHAP ⇌ G-3-P | Triose phosphate isomerase | Only G-3-P proceeds |
| Step | Reaction | Enzyme | Notes |
|---|---|---|---|
| 6 | G-3-P + NAD⁺ → 1,3-bisphosphoglycerate | G-3-P dehydrogenase | Produces NADH; inhibited by arsenic |
| 7 | 1,3-BPG → 3-phosphoglycerate | Phosphoglycerate kinase | 1st substrate-level phosphorylation; makes ATP |
| 8 | 3-PG → 2-PG | Phosphoglycerate mutase | |
| 9 | 2-PG → Phosphoenolpyruvate (PEP) | Enolase | Inhibited by fluoride |
| 10 | PEP → Pyruvate | Pyruvate kinase | 2nd substrate-level phosphorylation; irreversible |
| Feature | Hexokinase (I-III) | Glucokinase (IV) |
|---|---|---|
| Location | All tissues | Liver, pancreatic β-cells |
| Km for glucose | Low (high affinity) | High (low affinity) |
| Inhibited by G-6-P? | Yes (product inhibition) | No |
| Induced by insulin? | No | Yes |
| Function | Works at low glucose | Works only when glucose is high (after meals) |
| Activated by | Inhibited by |
|---|---|
| AMP, ADP | ATP, Citrate |
| Fructose-2,6-bisphosphate (most potent activator) | Glucagon (via lowering F-2,6-bisP) |
| Low pH activates... | ...actually inhibits (protective in ischemia) |
Insulin raises F-2,6-bisP → activates PFK-1 → promotes glycolysis Glucagon lowers F-2,6-bisP → inhibits PFK-1 → promotes gluconeogenesis
| Condition | ATP per glucose |
|---|---|
| Anaerobic glycolysis | 2 ATP |
| Aerobic glycolysis (full oxidation) | ~30-32 ATP (older textbooks say 36-38) |
| GLUT | Location | Special Feature |
|---|---|---|
| GLUT-1 | RBCs, brain, most tissues | Basal uptake; always present |
| GLUT-2 | Liver, kidney, pancreatic β-cells, small intestine | High Km - glucose sensor |
| GLUT-3 | Brain (neurons) | High affinity - brain gets glucose first |
| GLUT-4 | Muscle, adipose | Insulin-stimulated - most clinically important |
| GLUT-5 | Small intestine | Transports fructose |
┌─→ Acetyl-CoA (aerobic) → TCA cycle
Glucose → Pyruvate ─┤
├─→ Lactate (anaerobic)
├─→ Alanine (transamination)
├─→ Oxaloacetate (gluconeogenesis via pyruvate carboxylase)
└─→ Ethanol (yeast/microorganisms)
PFK-1 (phosphofructokinase-1)
No mitochondria - cannot do oxidative phosphorylation or TCA
Fructose-2,6-bisphosphate (produced by PFK-2, activated by insulin)
Glucokinase - it has high Km so only fires when glucose is high
It is reoxidized to NAD⁺ when pyruvate is reduced to lactate by lactate dehydrogenase (LDH) - this regenerates NAD⁺ to keep glycolysis running
Steps 1, 3, 10 - catalyzed by Hexokinase, PFK-1, Pyruvate kinase
RBCs need ATP from PK for the Na⁺/K⁺-ATPase pump to maintain cell shape. Without PK, ATP falls → cell swells → hemolysis
generate a pdf
ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /home/daytona/workspace/biochem-revision && python3 -c "from reportlab.lib.pagesizes import A4; print('reportlab ok')"
~/biochem-revision/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_LEFT, TA_CENTER, TA_JUSTIFY
OUTPUT = "/home/daytona/workspace/biochem-revision/Glycolysis_CarbohydrateMetabolism_Revision.pdf"
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=2*cm,
rightMargin=2*cm,
topMargin=2*cm,
bottomMargin=2*cm,
title="Glycolysis & Carbohydrate Metabolism - MBBS Revision",
author="Orris Medical Revision"
)
styles = getSampleStyleSheet()
# Custom styles
TEAL = colors.HexColor("#0D7377")
DARK = colors.HexColor("#1a1a2e")
LIGHT_TEAL = colors.HexColor("#e8f8f5")
LIGHT_YELLOW = colors.HexColor("#fffde7")
LIGHT_RED = colors.HexColor("#fdecea")
LIGHT_BLUE = colors.HexColor("#e3f2fd")
LIGHT_PURPLE = colors.HexColor("#f3e5f5")
LIGHT_GREEN = colors.HexColor("#e8f5e9")
GREY = colors.HexColor("#f5f5f5")
MID_GREY = colors.HexColor("#eceff1")
title_style = ParagraphStyle("Title", parent=styles["Title"],
fontSize=22, textColor=TEAL, spaceAfter=4, fontName="Helvetica-Bold",
alignment=TA_CENTER)
subtitle_style = ParagraphStyle("Subtitle", parent=styles["Normal"],
fontSize=11, textColor=colors.HexColor("#546e7a"), spaceAfter=14,
alignment=TA_CENTER)
h1_style = ParagraphStyle("H1", parent=styles["Heading1"],
fontSize=14, textColor=colors.white, spaceBefore=14, spaceAfter=4,
fontName="Helvetica-Bold", backColor=TEAL,
borderPad=6, leftIndent=-6, rightIndent=-6)
h2_style = ParagraphStyle("H2", parent=styles["Heading2"],
fontSize=12, textColor=TEAL, spaceBefore=10, spaceAfter=4,
fontName="Helvetica-Bold", borderWidth=0, borderPad=0)
body_style = ParagraphStyle("Body", parent=styles["Normal"],
fontSize=9.5, leading=14, spaceAfter=4, alignment=TA_JUSTIFY)
bullet_style = ParagraphStyle("Bullet", parent=styles["Normal"],
fontSize=9.5, leading=14, leftIndent=14, spaceAfter=3,
bulletIndent=4)
bold_bullet_style = ParagraphStyle("BoldBullet", parent=styles["Normal"],
fontSize=9.5, leading=14, leftIndent=14, spaceAfter=3,
bulletIndent=4, fontName="Helvetica-Bold")
note_style = ParagraphStyle("Note", parent=styles["Normal"],
fontSize=9, leading=13, backColor=LIGHT_YELLOW,
borderPad=6, spaceAfter=6, leftIndent=6, rightIndent=6,
textColor=colors.HexColor("#5d4037"))
qa_q_style = ParagraphStyle("QAQ", parent=styles["Normal"],
fontSize=9.5, leading=13, fontName="Helvetica-Bold",
textColor=colors.HexColor("#1565c0"), spaceAfter=2)
qa_a_style = ParagraphStyle("QAA", parent=styles["Normal"],
fontSize=9.5, leading=13, textColor=colors.HexColor("#2e7d32"),
spaceAfter=6, leftIndent=12)
source_style = ParagraphStyle("Source", parent=styles["Normal"],
fontSize=8, textColor=colors.HexColor("#9e9e9e"),
alignment=TA_CENTER, spaceBefore=10)
def section_header(text, color=TEAL):
return [
Spacer(1, 8),
Table([[Paragraph(text, ParagraphStyle("SH", parent=styles["Normal"],
fontSize=13, textColor=colors.white, fontName="Helvetica-Bold",
alignment=TA_LEFT))]],
colWidths=[17*cm],
style=TableStyle([
("BACKGROUND", (0,0), (-1,-1), color),
("TOPPADDING", (0,0), (-1,-1), 7),
("BOTTOMPADDING", (0,0), (-1,-1), 7),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("ROUNDEDCORNERS", [4], (0,0), (-1,-1)),
])),
Spacer(1, 6),
]
def two_col_table(headers, rows, col_widths=None, header_bg=TEAL):
if col_widths is None:
col_widths = [17*cm / len(headers)] * len(headers)
data = [[Paragraph(f"<b>{h}</b>", ParagraphStyle("TH", parent=styles["Normal"],
fontSize=9, textColor=colors.white, fontName="Helvetica-Bold")) for h in headers]]
for i, row in enumerate(rows):
bg = GREY if i % 2 == 0 else colors.white
data.append([Paragraph(str(cell), ParagraphStyle("TD", parent=styles["Normal"],
fontSize=9, leading=13)) for cell in row])
style = TableStyle([
("BACKGROUND", (0, 0), (-1, 0), header_bg),
("ROWBACKGROUNDS", (0, 1), (-1, -1), [GREY, colors.white]),
("GRID", (0, 0), (-1, -1), 0.4, colors.HexColor("#cfd8dc")),
("VALIGN", (0, 0), (-1, -1), "MIDDLE"),
("TOPPADDING", (0, 0), (-1, -1), 5),
("BOTTOMPADDING", (0, 0), (-1, -1), 5),
("LEFTPADDING", (0, 0), (-1, -1), 6),
("RIGHTPADDING", (0, 0), (-1, -1), 6),
])
return Table(data, colWidths=col_widths, style=style, hAlign="LEFT")
def highlight_box(text, bg=LIGHT_TEAL, border_color=TEAL):
return Table([[Paragraph(text, ParagraphStyle("HB", parent=styles["Normal"],
fontSize=9.5, leading=14))]],
colWidths=[17*cm],
style=TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
("LINEAFTER", (0,0), (0,-1), 3, border_color),
]))
# ─── Build content ─────────────────────────────────────────────────────────────
story = []
# ── Cover block ─────────────────────────────────────────────────────────────
story.append(Spacer(1, 0.5*cm))
story.append(Paragraph("Glycolysis & Carbohydrate Metabolism", title_style))
story.append(Paragraph("MBBS 1st Year · Biochemistry Revision Notes", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=TEAL, spaceAfter=10))
# ─── PART 1 - Overview ─────────────────────────────────────────────────────────
story += section_header("PART 1 — Overview")
story.append(Paragraph(
"Glycolysis is the <b>universal 10-step cytosolic pathway</b> that converts "
"<b>1 glucose (6C) → 2 pyruvate (3C)</b>. It is the hub of carbohydrate metabolism — "
"virtually all dietary sugars (fructose, galactose) are channelled into it.",
body_style))
story.append(Spacer(1, 4))
overview_data = [
["Type", "O₂ needed?", "End product", "Where?", "ATP yield"],
["Aerobic glycolysis", "Yes", "Pyruvate → Acetyl-CoA → TCA", "Mitochondria-containing cells", "30–32 ATP total"],
["Anaerobic glycolysis", "No", "Pyruvate → Lactate", "RBCs, cornea, hypoxic muscle", "2 ATP net"],
]
story.append(two_col_table(overview_data[0], overview_data[1:],
col_widths=[3*cm, 2.5*cm, 4.5*cm, 4.5*cm, 2.5*cm]))
story.append(Spacer(1, 8))
# ─── PART 2 - 10 Steps ────────────────────────────────────────────────────────
story += section_header("PART 2 — The 10 Steps of Glycolysis")
story.append(Paragraph("<b>Phase 1: Energy Investment (Steps 1–5) — costs 2 ATP</b>", h2_style))
phase1_data = [
["Step", "Reaction", "Enzyme", "Key Points"],
["1", "Glucose → Glucose-6-P", "Hexokinase / Glucokinase", "Irreversible; traps glucose in cell; uses 1 ATP"],
["2", "G-6-P → Fructose-6-P", "Phosphoglucose isomerase", "Reversible; aldose → ketose isomerisation"],
["3", "F-6-P → Fructose-1,6-bisP", "PFK-1 ⭐ Rate-limiting", "Irreversible; uses 1 ATP; KEY regulatory step"],
["4", "F-1,6-bisP → DHAP + G-3-P", "Aldolase", "Splits 6C sugar into two 3C compounds"],
["5", "DHAP ⇌ G-3-P", "Triose phosphate isomerase", "Only G-3-P proceeds; DHAP is converted"],
]
story.append(two_col_table(phase1_data[0], phase1_data[1:],
col_widths=[1.2*cm, 4.3*cm, 4.5*cm, 7*cm],
header_bg=colors.HexColor("#0D7377")))
story.append(Spacer(1, 8))
story.append(Paragraph("<b>Phase 2: Energy Generation (Steps 6–10) — produces 4 ATP + 2 NADH</b>", h2_style))
phase2_data = [
["Step", "Reaction", "Enzyme", "Key Points"],
["6", "G-3-P + NAD⁺ → 1,3-BPG", "G-3-P dehydrogenase", "Produces NADH; inhibited by arsenic poisoning"],
["7", "1,3-BPG → 3-PG", "Phosphoglycerate kinase", "1st substrate-level phosphorylation — makes ATP"],
["8", "3-PG → 2-PG", "Phosphoglycerate mutase", "Simple rearrangement"],
["9", "2-PG → PEP", "Enolase", "Inhibited by fluoride (used in blood tubes)"],
["10", "PEP → Pyruvate", "Pyruvate kinase ⭐", "2nd substrate-level phosphorylation; irreversible"],
]
story.append(two_col_table(phase2_data[0], phase2_data[1:],
col_widths=[1.2*cm, 4.3*cm, 4.5*cm, 7*cm],
header_bg=colors.HexColor("#00695c")))
story.append(Spacer(1, 6))
story.append(highlight_box(
"⚡ <b>Net yield per glucose:</b> 2 ATP + 2 NADH + 2 Pyruvate | "
"<b>3 irreversible steps:</b> Steps 1, 3, 10 (Hexokinase, PFK-1, Pyruvate Kinase)",
bg=LIGHT_TEAL, border_color=TEAL))
story.append(Spacer(1, 10))
# ─── PART 3 - Regulatory Enzymes ──────────────────────────────────────────────
story += section_header("PART 3 — Regulatory Enzymes (Most Exam-Favourite!)", color=colors.HexColor("#1565c0"))
story.append(Paragraph("<b>1. Hexokinase vs Glucokinase</b>", h2_style))
hk_data = [
["Feature", "Hexokinase (I–III)", "Glucokinase (IV)"],
["Location", "All tissues", "Liver, pancreatic β-cells"],
["Km for glucose", "Low (high affinity)", "High (low affinity — glucose sensor)"],
["Inhibited by G-6-P?", "Yes (product inhibition)", "No"],
["Induced by insulin?", "No", "Yes"],
["Clinical role", "Works even at low blood glucose", "Works only after high-carb meals"],
]
story.append(two_col_table(hk_data[0], hk_data[1:],
col_widths=[4*cm, 6.5*cm, 6.5*cm],
header_bg=colors.HexColor("#1565c0")))
story.append(Spacer(1, 8))
story.append(Paragraph("<b>2. PFK-1 — The Rate-Limiting Enzyme</b>", h2_style))
pfk_data = [
["Activated by", "Inhibited by"],
["AMP, ADP (low energy state)", "ATP (high energy — no need for more)"],
["Fructose-2,6-bisphosphate ← most potent", "Citrate (TCA intermediates high)"],
["Insulin (↑ F-2,6-bisP via PFK-2)", "Glucagon (↓ F-2,6-bisP via PKA)"],
["Low pH mildly activates", "Severe acidosis inhibits"],
]
story.append(two_col_table(pfk_data[0], pfk_data[1:],
col_widths=[8.5*cm, 8.5*cm],
header_bg=colors.HexColor("#1565c0")))
story.append(Spacer(1, 6))
story.append(highlight_box(
"🔑 <b>Insulin</b> raises Fructose-2,6-bisphosphate → activates PFK-1 → promotes glycolysis<br/>"
"🔑 <b>Glucagon</b> lowers Fructose-2,6-bisphosphate → inhibits PFK-1 → promotes gluconeogenesis",
bg=LIGHT_BLUE, border_color=colors.HexColor("#1565c0")))
story.append(Spacer(1, 8))
story.append(Paragraph("<b>3. Pyruvate Kinase</b>", h2_style))
pk_data = [
["Activated by", "Inhibited by"],
["Fructose-1,6-bisphosphate (feedforward)", "ATP, Alanine, Acetyl-CoA"],
["—", "Glucagon (via phosphorylation by PKA)"],
]
story.append(two_col_table(pk_data[0], pk_data[1:],
col_widths=[8.5*cm, 8.5*cm],
header_bg=colors.HexColor("#1565c0")))
story.append(Spacer(1, 4))
story.append(highlight_box(
"⚠️ <b>Pyruvate Kinase Deficiency</b> → Hemolytic anemia. RBCs rely solely on glycolysis for ATP "
"(no mitochondria). Without PK, ATP falls → Na⁺/K⁺-ATPase fails → cell swells → hemolysis.",
bg=LIGHT_RED, border_color=colors.HexColor("#c62828")))
story.append(Spacer(1, 10))
# ─── PART 4 - ATP Yield ───────────────────────────────────────────────────────
story += section_header("PART 4 — ATP Yield Summary", color=colors.HexColor("#4a148c"))
atp_data = [
["Condition", "ATP per Glucose", "Notes"],
["Anaerobic glycolysis", "2 ATP (net)", "Substrate-level phosphorylation only"],
["Aerobic (full oxidation)", "~30–32 ATP", "Includes TCA + oxidative phosphorylation"],
["Steps 1 & 3 use", "2 ATP (investment)", "\"Priming the pump\""],
["Steps 7 & 10 × 2 units", "4 ATP (generated)", "Net +2 per glucose"],
]
story.append(two_col_table(atp_data[0], atp_data[1:],
col_widths=[5.5*cm, 4*cm, 7.5*cm],
header_bg=colors.HexColor("#4a148c")))
story.append(Spacer(1, 10))
# ─── PART 5 - GLUT Transporters ───────────────────────────────────────────────
story += section_header("PART 5 — Glucose Transporters (GLUTs)", color=colors.HexColor("#e65100"))
glut_data = [
["GLUT", "Location", "Special Feature"],
["GLUT-1", "RBCs, brain, most tissues", "Basal constitutive uptake; always present"],
["GLUT-2", "Liver, kidney, pancreatic β-cells, small intestine", "High Km — glucose sensor; not saturated at physiologic levels"],
["GLUT-3", "Brain neurons", "Very high affinity — brain gets glucose first"],
["GLUT-4", "Muscle, adipose tissue", "Insulin-stimulated — most clinically important (diabetes)"],
["GLUT-5", "Small intestine, sperm", "Transports fructose (not glucose)"],
]
story.append(two_col_table(glut_data[0], glut_data[1:],
col_widths=[2*cm, 6*cm, 9*cm],
header_bg=colors.HexColor("#e65100")))
story.append(Spacer(1, 10))
# ─── PART 6 - Fates of Pyruvate ───────────────────────────────────────────────
story += section_header("PART 6 — Fates of Pyruvate", color=colors.HexColor("#2e7d32"))
fate_data = [
["Fate", "Enzyme", "Condition / Significance"],
["→ Acetyl-CoA", "Pyruvate dehydrogenase (PDH)", "Aerobic; requires B1 (thiamine); enters TCA cycle"],
["→ Lactate", "Lactate dehydrogenase (LDH)", "Anaerobic; regenerates NAD⁺; seen in exercise, ischemia"],
["→ Oxaloacetate", "Pyruvate carboxylase", "Gluconeogenesis; requires biotin (B7); activated by Acetyl-CoA"],
["→ Alanine", "Alanine aminotransferase (ALT)", "Glucose-alanine cycle; transport of NH₃ from muscle to liver"],
["→ Ethanol", "Pyruvate decarboxylase", "Yeast/microorganisms only; not in mammals"],
]
story.append(two_col_table(fate_data[0], fate_data[1:],
col_widths=[3*cm, 5*cm, 9*cm],
header_bg=colors.HexColor("#2e7d32")))
story.append(Spacer(1, 10))
# ─── PART 7 - High-Yield Bullets ──────────────────────────────────────────────
story += section_header("PART 7 — High-Yield Exam Points ⭐", color=colors.HexColor("#b71c1c"))
bullets = [
("<b>Fluoride</b> inhibits <b>enolase</b> (Step 9) → used in grey-top blood collection tubes to prevent glycolysis in vitro.", LIGHT_RED),
("<b>Arsenic</b> inhibits G-3-P dehydrogenase (Step 6) → uncouples substrate-level phosphorylation.", LIGHT_RED),
("<b>RBCs</b> have no mitochondria → depend entirely on anaerobic glycolysis for ALL their ATP.", LIGHT_YELLOW),
("<b>2,3-BPG</b> is made from 1,3-BPG via the Luebering-Rapoport shunt in RBCs → decreases Hb O₂ affinity (right shift of O₂-Hb curve).", LIGHT_BLUE),
("<b>Pasteur effect</b>: O₂ inhibits anaerobic glycolysis — when O₂ is present, less lactate is produced.", LIGHT_GREEN),
("<b>Warburg effect</b>: Cancer cells preferentially use glycolysis even in the presence of O₂ (aerobic glycolysis) → useful for PET scan imaging (↑ ¹⁸F-FDG uptake).", LIGHT_PURPLE),
("<b>Lactic acidosis</b> causes: Shock, thiamine (B1) deficiency (beri-beri), metformin overdose, liver failure, sepsis.", LIGHT_RED),
("<b>Thiamine (B1)</b> deficiency blocks pyruvate dehydrogenase → pyruvate accumulates → converts to lactate → lactic acidosis.", LIGHT_YELLOW),
]
for text, bg in bullets:
story.append(Table(
[[Paragraph("▶ " + text, ParagraphStyle("BulletRow", parent=styles["Normal"],
fontSize=9.5, leading=14))]],
colWidths=[17*cm],
style=TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 8),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,-1), (-1,-1), 5),
])))
story.append(Spacer(1, 3))
story.append(Spacer(1, 10))
# ─── PART 8 - Q&A ─────────────────────────────────────────────────────────────
story += section_header("PART 8 — Q&A Drill", color=colors.HexColor("#4a148c"))
qa_pairs = [
("Q1. Which enzyme is the rate-limiting/regulatory enzyme of glycolysis?",
"PFK-1 (Phosphofructokinase-1) — Step 3, irreversible."),
("Q2. Why can RBCs only perform anaerobic glycolysis?",
"RBCs lack mitochondria, so they cannot perform oxidative phosphorylation or the TCA cycle. All ATP comes from substrate-level phosphorylation."),
("Q3. What is the most potent activator of PFK-1?",
"Fructose-2,6-bisphosphate (F-2,6-bisP), produced by PFK-2 (a bifunctional enzyme). Insulin increases it; glucagon decreases it."),
("Q4. Glucokinase vs Hexokinase — which works after a big carbohydrate meal?",
"Glucokinase (high Km) — it only becomes active when blood glucose is high, making it ideal as a liver/pancreatic glucose sensor."),
("Q5. What happens to NADH produced in glycolysis when there is no O₂?",
"NADH is reoxidized to NAD⁺ when pyruvate is reduced to lactate by lactate dehydrogenase (LDH). This regenerates NAD⁺ to keep glycolysis running."),
("Q6. Name the 3 irreversible (commitment) steps of glycolysis.",
"Steps 1, 3, 10 — catalyzed by Hexokinase (or Glucokinase), PFK-1, and Pyruvate Kinase respectively."),
("Q7. A patient with hemolytic anemia is found to have pyruvate kinase deficiency. Explain the mechanism.",
"RBCs depend on PK for ATP production. Without PK, the Na⁺/K⁺-ATPase pump fails → Na⁺ accumulates → osmotic water entry → cell swells → hemolysis."),
("Q8. Which blood collection tube prevents glycolysis and why?",
"Grey-top tube (contains sodium fluoride) — fluoride inhibits enolase (Step 9), halting glycolysis and preserving glucose levels for measurement."),
("Q9. What is the Warburg effect and its clinical relevance?",
"Cancer cells use aerobic glycolysis (glycolysis even in O₂). This allows rapid ATP production and biosynthetic precursors. Clinically exploited in PET scans — tumours show high ¹⁸F-FDG (glucose analogue) uptake."),
("Q10. How does glucagon inhibit glycolysis?",
"Glucagon activates PKA → phosphorylates PFK-2 → lowers Fructose-2,6-bisP → less PFK-1 activation → glycolysis inhibited. Also phosphorylates Pyruvate Kinase → inhibits it."),
]
for q, a in qa_pairs:
story.append(Paragraph(q, qa_q_style))
story.append(Paragraph("→ " + a, qa_a_style))
story.append(Spacer(1, 2))
story.append(Spacer(1, 10))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor("#b0bec5"), spaceAfter=6))
story.append(Paragraph(
"Sources: Lippincott Illustrated Reviews: Biochemistry 8e | Harper's Illustrated Biochemistry 32e | Basic Medical Biochemistry: A Clinical Approach 6e",
source_style))
# ─── Build ──────────────────────────────────────────────────────────────────────
doc.build(story)
print("PDF generated:", OUTPUT)
python3 /home/daytona/workspace/biochem-revision/generate_pdf.py
ROUNDEDCORNERS syntax is wrong. Let me fix it.~/biochem-revision/generate_pdf.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/biochem-revision/generate_pdf.py'
python3 /home/daytona/workspace/biochem-revision/generate_pdf.py
Glycolysis CarbohydrateMetabolism Revision
PDF Document · PDF