,easy ans with digram and flow chart easy to learn easy to understand in 10 marks eloborate properly university level examm explain properly ....easy for seucring marks easy to learn easy for the checker to give the marks explain all create mind map pdf to qucik recap adding all point in short point super easy to learn last summarise also
mkdir -p /home/daytona/workspace/biochem-notes && ls /home/daytona/workspace/biochem-notes/
~/biochem-notes/create_notes.py
#!/usr/bin/env python3
"""
Clinical Biochemistry - Units VI to X
University Exam Notes + Mind Map PDF
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus.flowables import Flowable
import io
# ── colours ──────────────────────────────────────────────────────────────────
BLUE = colors.HexColor("#1565C0")
DKBLUE = colors.HexColor("#0D47A1")
LTBLUE = colors.HexColor("#BBDEFB")
GREEN = colors.HexColor("#2E7D32")
LTGREEN = colors.HexColor("#C8E6C9")
ORANGE = colors.HexColor("#E65100")
LTORANGE = colors.HexColor("#FFE0B2")
RED = colors.HexColor("#B71C1C")
LTRED = colors.HexColor("#FFCDD2")
PURPLE = colors.HexColor("#4A148C")
LTPURPLE = colors.HexColor("#E1BEE7")
TEAL = colors.HexColor("#006064")
LTTEAL = colors.HexColor("#B2EBF2")
YELLOW = colors.HexColor("#F9A825")
LTYELLOW = colors.HexColor("#FFF9C4")
GREY = colors.HexColor("#37474F")
LTGREY = colors.HexColor("#ECEFF1")
WHITE = colors.white
BLACK = colors.black
# ── styles ────────────────────────────────────────────────────────────────────
base = getSampleStyleSheet()
def mks(name, parent="Normal", **kw):
return ParagraphStyle(name, parent=base[parent], **kw)
COVER_TITLE = mks("CoverTitle", fontSize=28, textColor=WHITE,
alignment=TA_CENTER, spaceAfter=8, fontName="Helvetica-Bold")
COVER_SUB = mks("CoverSub", fontSize=14, textColor=LTBLUE,
alignment=TA_CENTER, spaceAfter=4, fontName="Helvetica")
UNIT_HDR = mks("UnitHdr", fontSize=18, textColor=WHITE,
alignment=TA_CENTER, spaceAfter=6, fontName="Helvetica-Bold")
SECTION_HDR = mks("SectionHdr", fontSize=13, textColor=DKBLUE,
spaceBefore=10, spaceAfter=4, fontName="Helvetica-Bold")
SUBSEC_HDR = mks("SubsecHdr", fontSize=11, textColor=GREEN,
spaceBefore=6, spaceAfter=3, fontName="Helvetica-Bold")
BODY = mks("Body", fontSize=10, leading=15, spaceAfter=4,
alignment=TA_JUSTIFY)
BULLET = mks("Bullet", fontSize=10, leading=14, leftIndent=14,
spaceAfter=2)
NOTE = mks("Note", fontSize=9, textColor=RED, leftIndent=10,
fontName="Helvetica-Oblique", spaceAfter=3)
MINDMAP_HDR = mks("MMHdr", fontSize=20, textColor=WHITE,
alignment=TA_CENTER, fontName="Helvetica-Bold", spaceAfter=6)
MINDMAP_UNIT = mks("MMUnit", fontSize=13, textColor=WHITE,
alignment=TA_CENTER, fontName="Helvetica-Bold")
MINDMAP_PT = mks("MMPt", fontSize=9, textColor=BLACK, leading=12)
Q_STYLE = mks("QStyle", fontSize=10, textColor=ORANGE,
fontName="Helvetica-Bold", spaceAfter=2)
A_STYLE = mks("AStyle", fontSize=10, leading=14, leftIndent=12,
spaceAfter=5)
W, H = A4
CONTENT_W = W - 4*cm
# ── helper flowables ──────────────────────────────────────────────────────────
def unit_banner(text, bg=DKBLUE):
data = [[Paragraph(text, UNIT_HDR)]]
t = Table(data, colWidths=[CONTENT_W])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("TOPPADDING", (0,0), (-1,-1), 10),
("BOTTOMPADDING", (0,0), (-1,-1), 10),
("ROUNDEDCORNERS", [6]),
]))
return t
def info_box(title, items, bg=LTBLUE, title_bg=BLUE):
"""Coloured box: bold header row + bullet rows."""
rows = [[Paragraph(f"<b>{title}</b>", mks("H", fontSize=11,
textColor=WHITE, fontName="Helvetica-Bold"))]]
for it in items:
rows.append([Paragraph(f"• {it}", MINDMAP_PT)])
t = Table(rows, colWidths=[CONTENT_W])
style = [
("BACKGROUND", (0,0), (0,0), title_bg),
("BACKGROUND", (0,1), (-1,-1), bg),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 10),
("GRID", (0,0), (-1,-1), 0.3, colors.grey),
("ROWBACKGROUNDS", (0,1), (-1,-1), [bg, colors.lighten(bg, 0.3)]),
]
t.setStyle(TableStyle(style))
return t
def two_col_table(headers, rows, col_bg=DKBLUE, alt=LTGREY):
col_w = [CONTENT_W/len(headers)] * len(headers)
hrow = [Paragraph(f"<b>{h}</b>", mks("TH", fontSize=10,
textColor=WHITE, fontName="Helvetica-Bold")) for h in headers]
data = [hrow]
for r in rows:
data.append([Paragraph(str(c), BODY) for c in r])
t = Table(data, colWidths=col_w, repeatRows=1)
ts = [
("BACKGROUND", (0,0), (-1,0), col_bg),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
("GRID", (0,0), (-1,-1), 0.5, colors.grey),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, alt]),
("VALIGN", (0,0), (-1,-1), "TOP"),
]
t.setStyle(TableStyle(ts))
return t
def flowchart_table(steps, bg=LTBLUE, arrow_color=DKBLUE):
"""Simple vertical flowchart using table cells."""
data = []
for i, step in enumerate(steps):
data.append([Paragraph(step, mks("FC", fontSize=10,
textColor=BLACK, fontName="Helvetica", alignment=TA_CENTER))])
if i < len(steps)-1:
data.append([Paragraph("<b>▼</b>", mks("AR", fontSize=14,
textColor=arrow_color, alignment=TA_CENTER))])
t = Table(data, colWidths=[CONTENT_W*0.6])
ts = []
for i in range(len(data)):
if i % 2 == 0: # step rows
ts += [("BACKGROUND", (0,i), (0,i), bg),
("GRID", (0,i), (0,i), 0.5, colors.grey),
("TOPPADDING", (0,i), (0,i), 6),
("BOTTOMPADDING", (0,i), (0,i), 6),
("LEFTPADDING", (0,i), (0,i), 8),
("RIGHTPADDING", (0,i), (0,i), 8)]
else: # arrow rows
ts += [("BACKGROUND", (0,i), (0,i), WHITE),
("TOPPADDING", (0,i), (0,i), 0),
("BOTTOMPADDING", (0,i), (0,i), 0)]
t.setStyle(TableStyle(ts))
# centre it
wrapper = Table([[t]], colWidths=[CONTENT_W])
wrapper.setStyle(TableStyle([("ALIGN", (0,0), (-1,-1), "CENTER"),
("VALIGN",(0,0), (-1,-1), "MIDDLE")]))
return wrapper
def sp(h=6):
return Spacer(1, h)
def hr(color=LTBLUE):
return HRFlowable(width="100%", thickness=1, color=color, spaceAfter=4, spaceBefore=4)
# ══════════════════════════════════════════════════════════════════════════════
# CONTENT BUILDER
# ══════════════════════════════════════════════════════════════════════════════
def build_story():
story = []
# ─── COVER ───────────────────────────────────────────────────────────────
story += [sp(60),
Paragraph("CLINICAL BIOCHEMISTRY", COVER_TITLE),
Paragraph("University Exam Notes — Units VI to X", COVER_SUB),
sp(10),
Paragraph("Complete Study Guide with Flowcharts, Diagrams & Mind Map", COVER_SUB),
sp(20)]
cover_data = [[Paragraph(
"<b>Unit VI</b> — Nucleic Acid Metabolism<br/>"
"<b>Unit VII</b> — Introduction to Clinical Chemistry<br/>"
"<b>Unit VIII</b> — Liver Function Tests<br/>"
"<b>Unit IX</b> — Lipid Profile Tests<br/>"
"<b>Unit X</b> — Electrolytes",
mks("CL", fontSize=13, textColor=BLACK, leading=22))]]
cov = Table(cover_data, colWidths=[CONTENT_W])
cov.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), LTYELLOW),
("TOPPADDING", (0,0), (-1,-1), 20),
("BOTTOMPADDING", (0,0), (-1,-1), 20),
("LEFTPADDING", (0,0), (-1,-1), 30),
("GRID", (0,0), (-1,-1), 1, YELLOW),
]))
story += [cov, sp(20),
Paragraph("Prepared for 10-mark University Examinations", NOTE),
PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# UNIT VI — NUCLEIC ACID METABOLISM
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("UNIT VI — NUCLEIC ACID METABOLISM", DKBLUE), sp(8)]
story.append(Paragraph("1. INTRODUCTION", SECTION_HDR))
story.append(Paragraph(
"Nucleic acids (DNA & RNA) are polymers of <b>nucleotides</b>. "
"A nucleotide = Nitrogenous base + Pentose sugar + Phosphate group. "
"Metabolism includes <b>de novo synthesis</b> (from small molecules) "
"and <b>salvage pathway</b> (recycling free bases).", BODY))
# Nucleotide table
story.append(Paragraph("2. KEY COMPONENTS", SECTION_HDR))
story.append(two_col_table(
["Component", "Purines", "Pyrimidines"],
[["Bases", "Adenine (A), Guanine (G)", "Cytosine (C), Thymine (T), Uracil (U)"],
["Found in", "DNA & RNA", "DNA & RNA"],
["Structure", "Double ring (bicyclic)", "Single ring (monocyclic)"],
["End product of catabolism", "Uric acid", "CO2 + NH3 + Beta-alanine"]],
col_bg=DKBLUE
))
story += [sp(6)]
story.append(Paragraph("3. DE NOVO SYNTHESIS OF PURINES — Flowchart", SECTION_HDR))
story.append(Paragraph("<b>Precursors:</b> Glycine, Glutamine, Aspartate, CO2, Formate (THF), Ribose-5-phosphate", BODY))
story += [flowchart_table([
"Ribose-5-Phosphate (from HMP shunt)",
"PRPP (5-phosphoribosyl-1-pyrophosphate) [PRPP synthetase]",
"Phosphoribosylamine (PRA) [Amidophosphoribosyltransferase — rate-limiting step]",
"10 more steps adding Gly, Gln, Asp, CO2, Formate",
"IMP (Inosine Monophosphate) — First purine nucleotide",
"AMP (2 steps via adenylosuccinate) | GMP (2 steps via XMP)",
"ADP / GDP → ATP / GTP → DNA/RNA"
], bg=LTBLUE, arrow_color=DKBLUE), sp(6)]
story.append(Paragraph("4. DE NOVO SYNTHESIS OF PYRIMIDINES — Flowchart", SECTION_HDR))
story.append(Paragraph("<b>Key difference:</b> Ring is built FIRST, then attached to ribose. Precursors: Carbamoyl phosphate + Aspartate", BODY))
story += [flowchart_table([
"CO2 + Glutamine + ATP → Carbamoyl phosphate (CPS II — cytoplasmic)",
"Carbamoyl phosphate + Aspartate → Carbamoyl aspartate",
"Dihydroorotate → Orotate",
"Orotate + PRPP → OMP (Orotidine monophosphate)",
"OMP → UMP (Uridine monophosphate) — first pyrimidine nucleotide",
"UMP → UDP → UTP → CTP (cytidine triphosphate)",
"UDP → dUDP → dUMP → dTMP (thymidine)"
], bg=LTGREEN, arrow_color=GREEN), sp(6)]
story.append(Paragraph("5. SALVAGE PATHWAY", SECTION_HDR))
story += [info_box("Salvage Pathway — Key Points", [
"Recycling of free bases from nucleic acid degradation",
"More energy-efficient than de novo synthesis",
"Key enzyme for purines: HGPRT (Hypoxanthine-Guanine PhosphoRibosylTransferase)",
"HGPRT deficiency → Lesch-Nyhan Syndrome (self-mutilation, gout, neurological problems)",
"Key enzyme for pyrimidines: UPRT (Uracil phosphoribosyltransferase)",
"ADA deficiency → Severe Combined Immunodeficiency (SCID)"
], bg=LTBLUE, title_bg=BLUE), sp(6)]
story.append(Paragraph("6. DNA REPLICATION — Semi-Conservative Model", SECTION_HDR))
story.append(Paragraph(
"<b>Okazaki Fragments</b> are short DNA fragments synthesized on the lagging strand "
"(3'→5' template) in the 5'→3' direction. They are later joined by DNA Ligase.", BODY))
story += [flowchart_table([
"Helicase unwinds double helix at Origin of Replication",
"SSB proteins stabilize single strands",
"Primase lays RNA primer (5'→3')",
"DNA Pol III extends primer: Leading strand — continuous | Lagging strand — Okazaki fragments",
"DNA Pol I removes RNA primers, fills gaps",
"DNA Ligase seals nicks → Two identical daughter DNA molecules"
], bg=LTYELLOW, arrow_color=ORANGE), sp(6)]
story.append(Paragraph("7. MUTATIONS", SECTION_HDR))
story.append(two_col_table(
["Type of Mutation", "Definition", "Example / Effect"],
[["Point Mutation", "Single base change", "Sickle cell anaemia (GAG→GTG)"],
["Transition", "Purine↔Purine or Pyrimidine↔Pyrimidine", "A→G or C→T"],
["Transversion", "Purine↔Pyrimidine", "A→C or G→T"],
["Frameshift", "Insertion/deletion of bases (not in 3s)", "Shifts reading frame"],
["Nonsense", "Creates stop codon", "Premature termination"]],
col_bg=GREEN
))
story += [sp(6)]
story.append(Paragraph("EXAM TIP — 10 MARKS ANSWER STRUCTURE", SUBSEC_HDR))
story += [info_box("Unit VI — Exam Answer Template", [
"1. Introduction (1 mark): Definition of nucleotides, DNA/RNA",
"2. Types of bases — Purines vs Pyrimidines table (2 marks)",
"3. De novo synthesis flowchart — Purine (2 marks): PRPP→IMP→AMP/GMP",
"4. De novo synthesis flowchart — Pyrimidine (2 marks): CPS II→OMP→UMP",
"5. Salvage pathway + enzyme + disease (2 marks): HGPRT→Lesch-Nyhan",
"6. DNA replication — Semi-conservative + Okazaki fragments (1 mark)"
], bg=LTYELLOW, title_bg=ORANGE), PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# UNIT VII — INTRODUCTION TO CLINICAL CHEMISTRY
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("UNIT VII — INTRODUCTION TO CLINICAL CHEMISTRY", GREEN), sp(8)]
story.append(Paragraph("1. CLINICAL LABORATORY", SECTION_HDR))
story.append(Paragraph(
"A clinical laboratory is a facility where biological specimens (blood, urine, CSF) "
"are analyzed to diagnose, monitor, and prevent disease. It includes clinical chemistry, "
"haematology, microbiology, and immunology sections.", BODY))
story.append(Paragraph("2. KIDNEY FUNCTION TESTS", SECTION_HDR))
story.append(Paragraph(
"Kidneys filter ~180 L of plasma per day. Function is assessed by measuring filtration, "
"reabsorption, and excretion of various substances.", BODY))
story += [flowchart_table([
"BLOOD arrives at Glomerulus",
"Filtration: GFR ~125 mL/min (Creatinine clearance test measures GFR)",
"Proximal Tubule: Reabsorbs glucose, amino acids, Na+, HCO3-",
"Loop of Henle: Concentrates urine (countercurrent mechanism)",
"Distal Tubule + Collecting Duct: Fine-tune Na+/K+/H2O under ADH/Aldosterone",
"URINE excreted: 1-1.5 L/day"
], bg=LTGREEN, arrow_color=GREEN), sp(6)]
story.append(Paragraph("3. NPN (Non-Protein Nitrogen) CONSTITUENTS", SECTION_HDR))
story.append(two_col_table(
["NPN Constituent", "Normal Value (Blood)", "Clinical Significance"],
[["Urea (BUN)", "10-40 mg/dL", "Elevated in renal failure, dehydration"],
["Creatinine", "0.6-1.2 mg/dL (M), 0.5-1.1 (F)", "Best marker of GFR; elevated in renal disease"],
["Uric Acid", "3.5-7.2 mg/dL (M)", "Elevated in gout, Lesch-Nyhan syndrome"],
["Ammonia", "15-45 mcg/dL", "Elevated in liver failure, Reye syndrome"],
["Creatine", "0.2-0.8 mg/dL", "Muscle disease marker"]],
col_bg=TEAL
))
story += [sp(6)]
story.append(Paragraph("4. URINE ANALYSIS", SECTION_HDR))
story.append(Paragraph("<b>Normal urine constituents:</b> Water, Urea, Creatinine, NaCl, Uric acid, NH3, Phosphates, Sulphates", BODY))
story.append(two_col_table(
["Abnormal Finding", "Called", "Indicates"],
[["Glucose in urine", "Glycosuria", "Diabetes mellitus (blood glucose > 180 mg/dL)"],
["Protein in urine", "Proteinuria", "Nephrotic syndrome, glomerulonephritis"],
["Ketones in urine", "Ketonuria", "Diabetic ketoacidosis, starvation"],
["Blood in urine", "Haematuria", "Kidney stones, infection, tumour"],
["Bilirubin in urine", "Bilirubinuria", "Obstructive jaundice"],
["Pus cells in urine", "Pyuria", "Urinary tract infection (UTI)"]],
col_bg=PURPLE
))
story += [sp(6)]
story.append(Paragraph("5. URINARY TRACT CALCULI (STONES)", SECTION_HDR))
story += [info_box("Types of Urinary Stones", [
"Calcium Oxalate (most common ~80%): Hard, spiky, radiopaque",
"Calcium Phosphate: Struvite stones — associated with Proteus UTI",
"Uric Acid stones: Radiolucent, associated with gout",
"Cystine stones: Rare, due to cystinuria (amino acid transport defect)",
"Treatment: Hydration, dietary modification, alkalinisation of urine"
], bg=LTPURPLE, title_bg=PURPLE), sp(6)]
story.append(Paragraph("6. CREATININE CLEARANCE TEST", SECTION_HDR))
story += [info_box("Creatinine Clearance — Formula", [
"Clearance (mL/min) = [Urine Creatinine (mg/dL) × Urine Volume (mL/min)] / Serum Creatinine (mg/dL)",
"Normal: 80-120 mL/min (male), 75-115 mL/min (female)",
"Best test for estimating GFR (Glomerular Filtration Rate)",
"Decreased in: Chronic Kidney Disease, Acute Renal Failure, Dehydration"
], bg=LTTEAL, title_bg=TEAL), sp(6)]
story.append(Paragraph("EXAM TIP — 10 MARKS ANSWER STRUCTURE", SUBSEC_HDR))
story += [info_box("Unit VII — Exam Answer Template", [
"1. Introduction: Role of clinical chemistry lab (1 mark)",
"2. Kidney anatomy + function diagram — filtration, reabsorption, secretion (2 marks)",
"3. NPN constituents table — Urea, Creatinine, Uric acid, values (2 marks)",
"4. Creatinine clearance formula + significance (2 marks)",
"5. Urine analysis — normal vs abnormal constituents table (2 marks)",
"6. Urinary tract calculi — types + causes (1 mark)"
], bg=LTYELLOW, title_bg=ORANGE), PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# UNIT VIII — LIVER FUNCTION TESTS
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("UNIT VIII — LIVER FUNCTION TESTS (LFTs)", TEAL), sp(8)]
story.append(Paragraph("1. FUNCTIONS OF THE LIVER", SECTION_HDR))
story += [info_box("Major Liver Functions (Mnemonics: MEDS-PC)", [
"M — Metabolism: Carbohydrate, protein, lipid metabolism (gluconeogenesis, glycogen storage)",
"E — Excretion: Bile pigments (bilirubin), drugs, toxins",
"D — Detoxification: Converts ammonia → urea (urea cycle); Phase I & II drug metabolism",
"S — Synthesis: Albumin, clotting factors (I, II, V, VII, IX, X), complement",
"P — Production: Bile acids (from cholesterol) — essential for fat digestion",
"C — Conjugation: Bilirubin conjugation with glucuronic acid"
], bg=LTTEAL, title_bg=TEAL), sp(6)]
story.append(Paragraph("2. BILIRUBIN METABOLISM — Flowchart", SECTION_HDR))
story += [flowchart_table([
"Haemoglobin breakdown (RBCs destroyed in spleen/liver — 120 days)",
"Haem → Biliverdin → Unconjugated Bilirubin (indirect, fat-soluble, toxic)",
"Unconjugated bilirubin + Albumin → Transported to liver",
"Liver: UDP-glucuronyltransferase conjugates bilirubin → Conjugated Bilirubin (direct, water-soluble)",
"Conjugated bilirubin secreted into bile → Intestine",
"Intestinal bacteria: Bilirubin → Urobilinogen → Stercobilin (brown stool colour)",
"Some urobilinogen reabsorbed → Kidney → Urobilin (yellow urine colour)"
], bg=LTYELLOW, arrow_color=ORANGE), sp(6)]
story.append(Paragraph("3. JAUNDICE — TYPES & DIFFERENTIATION", SECTION_HDR))
story.append(two_col_table(
["Feature", "Pre-hepatic (Haemolytic)", "Hepatic (Hepatocellular)", "Post-hepatic (Obstructive)"],
[["Cause", "Excess RBC destruction", "Liver cell damage (hepatitis, cirrhosis)", "Bile duct blockage (stones, tumour)"],
["Unconjugated Bil", "↑↑ Increased", "↑ Increased", "Normal/slight ↑"],
["Conjugated Bil", "Normal", "↑ Increased", "↑↑ Increased"],
["Urine Bilirubin", "Absent", "Present", "Present (dark urine)"],
["Stool colour", "Normal/dark", "Pale", "Clay-coloured (pale)"],
["SGOT/SGPT", "Normal", "Very high", "Moderately elevated"],
["ALP", "Normal", "Elevated", "Very high"]],
col_bg=TEAL
))
story += [sp(6)]
story.append(Paragraph("4. LIVER ENZYMES — SGOT & SGPT", SECTION_HDR))
story += [info_box("SGOT (AST) vs SGPT (ALT)", [
"SGPT (ALT = Alanine Aminotransferase): LIVER-SPECIFIC — most sensitive marker",
"SGOT (AST = Aspartate Aminotransferase): Found in liver, heart, muscle, kidney",
"Normal SGPT: 7-56 U/L | Normal SGOT: 10-40 U/L",
"De Ritis Ratio = AST/ALT: >2 suggests alcoholic liver disease; <1 suggests viral hepatitis",
"Principle: Amino group transfer from alanine/aspartate → alpha-ketoglutarate → pyruvate/oxaloacetate",
"Measured by colorimetric or UV spectrophotometric method"
], bg=LTTEAL, title_bg=TEAL), sp(6)]
story.append(Paragraph("5. OTHER LIVER FUNCTION TESTS", SECTION_HDR))
story.append(two_col_table(
["Test", "Normal Value", "What It Tests", "Clinical Use"],
[["Serum Bilirubin (Total)", "0.3-1.2 mg/dL", "Bilirubin metabolism", "Jaundice diagnosis"],
["Serum Albumin", "3.5-5.5 g/dL", "Synthetic function", "Chronic liver disease"],
["Prothrombin Time (PT)", "11-13 seconds", "Clotting factor synthesis", "Liver synthetic function"],
["Alkaline Phosphatase (ALP)", "44-147 U/L", "Cholestasis/bone", "Obstructive jaundice"],
["Gamma GT (GGT)", "0-51 U/L", "Alcohol intake, cholestasis", "Alcohol liver disease"],
["Serum Proteins", "6.5-8.5 g/dL", "Total + albumin/globulin ratio", "Liver protein synthesis"]],
col_bg=TEAL
))
story += [sp(6)]
story.append(Paragraph("6. HEPATIC DYSFUNCTION TESTS", SECTION_HDR))
story += [info_box("Tests for Hepatic Dysfunction — Metabolic & Detoxification Capacity", [
"Bromsulphalein (BSP) Retention Test: Dye injected IV; liver clears it. Retention >5% at 45 min = hepatic dysfunction",
"Serum Hippuric Acid Test (Quick test): Sodium benzoate given → liver conjugates → hippuric acid in urine. Reduced in liver damage",
"Blood Ammonia: Elevated in hepatic encephalopathy (liver fails to convert NH3 → urea)",
"Indocyanine Green (ICG) Clearance: Gold standard for hepatic blood flow and function",
"Galactose Elimination Capacity: Tests hepatocyte mass"
], bg=LTRED, title_bg=RED), sp(6)]
story.append(Paragraph("EXAM TIP — 10 MARKS ANSWER STRUCTURE", SUBSEC_HDR))
story += [info_box("Unit VIII — Exam Answer Template", [
"1. Functions of liver — MEDS-PC mnemonic table (2 marks)",
"2. Bilirubin metabolism flowchart (2 marks)",
"3. Types of jaundice table — 3 types, 5 differentiating features (3 marks)",
"4. SGOT/SGPT — principle, normal values, De Ritis ratio (2 marks)",
"5. Other LFTs table — Albumin, ALP, PT (1 mark)"
], bg=LTYELLOW, title_bg=ORANGE), PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# UNIT IX — LIPID PROFILE TESTS
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("UNIT IX — LIPID PROFILE TESTS", PURPLE), sp(8)]
story.append(Paragraph("1. PHOSPHOLIPIDS", SECTION_HDR))
story += [info_box("Phospholipids — Structure & Functions", [
"Structure: Glycerol backbone + 2 fatty acids + Phosphate group + Polar head",
"Examples: Lecithin (phosphatidylcholine), Cephalin, Sphingomyelin, Cardiolipin",
"Functions: Major component of cell membranes (bilayer structure)",
"Act as emulsifiers for lipid digestion (bile contains lecithin)",
"Lung surfactant — Lecithin prevents alveolar collapse (L:S ratio >2 = lung maturity)",
"Blood clotting: Cephalin (thromboplastin) activates clotting cascade"
], bg=LTPURPLE, title_bg=PURPLE), sp(6)]
story.append(Paragraph("2. LIPOPROTEINS — Structure, Types & Functions", SECTION_HDR))
story.append(Paragraph("Lipoproteins transport lipids in blood (lipids are insoluble in water). Structure: Core (cholesteryl esters + triglycerides) surrounded by phospholipid shell + apoproteins.", BODY))
story.append(two_col_table(
["Lipoprotein", "Density", "Composition", "Function", "Clinical Link"],
[["Chylomicrons", "Lowest", "90% TG", "Transport dietary fat from gut to tissues", "Elevated in familial hypertriglyceridaemia"],
["VLDL", "Very Low", "55% TG, 15% Chol", "Endogenous TG transport liver→tissues", "Precursor to LDL"],
["IDL", "Intermediate", "TG+Chol", "Transient; converted to LDL", "Elevated in Type III hyperlipidaemia"],
["LDL", "Low", "45% Chol", "Transport cholesterol to cells — 'BAD'", "Major risk factor for atherosclerosis"],
["HDL", "High", "50% Protein", "Reverse cholesterol transport — 'GOOD'", "Protective against CVD"]],
col_bg=PURPLE
))
story += [sp(6)]
story.append(Paragraph("3. TOTAL CHOLESTEROL DETERMINATION", SECTION_HDR))
story.append(Paragraph("<b>Liebermann-Burchard Method (Classic):</b>", SUBSEC_HDR))
story += [flowchart_table([
"Serum + Acetic Anhydride + H2SO4 (Liebermann-Burchard reagent)",
"Cholesterol is dehydrated and oxidised",
"Green colour develops (via polyene formation)",
"Read at 620 nm (spectrophotometer)",
"Calculate concentration from standard curve",
"Normal: Total Cholesterol <200 mg/dL (desirable)"
], bg=LTPURPLE, arrow_color=PURPLE), sp(4)]
story.append(Paragraph("<b>Enzymatic Method (Modern/Preferred):</b> Cholesterol Oxidase-Peroxidase (CHOD-PAP) method — more accurate, automated.", BODY))
story += [sp(6)]
story.append(Paragraph("4. HDL & LDL DETERMINATION", SECTION_HDR))
story += [info_box("HDL and LDL Measurement", [
"HDL-C: Direct method (homogeneous assay) or after precipitation of LDL/VLDL with phosphotungstate-MgCl2",
"LDL-C: Friedewald Formula: LDL = Total Cholesterol - HDL - (Triglycerides/5) [valid if TG <400 mg/dL]",
"Normal HDL: >40 mg/dL (M), >50 mg/dL (F) — higher is better",
"Normal LDL: <100 mg/dL (optimal), 100-129 near optimal, >160 high risk",
"Atherogenic Index = LDL/HDL — should be <3.5"
], bg=LTPURPLE, title_bg=PURPLE), sp(6)]
story.append(Paragraph("5. RIA (RADIOIMMUNOASSAY)", SECTION_HDR))
story += [flowchart_table([
"Principle: Competition between labelled antigen (Ag*) and unlabelled antigen for limited antibody (Ab)",
"Step 1: Fixed amount of Ab + known Ag* (radiolabelled) + unknown sample Ag added",
"Step 2: Ag and Ag* compete for Ab binding sites",
"Step 3: Separate bound (Ag*-Ab) from free (Ag*) using precipitation",
"Step 4: Measure radioactivity of bound fraction (Gamma counter)",
"Step 5: More sample Ag → Less Ag* bound → Less radioactivity → Calculate concentration"
], bg=LTRED, arrow_color=RED), sp(4)]
story += [info_box("RIA — Advantages & Disadvantages", [
"Advantages: Extremely sensitive (detects pg/mL), highly specific, quantitative",
"Advantages: Can measure any antigen if antibody available (hormones, drugs, lipoproteins)",
"Disadvantages: Radioactive hazard, short shelf life of reagents, expensive, requires special facility",
"Disadvantages: Strict regulations for isotope handling (125-Iodine most commonly used)",
"Applications: Measuring hormones (insulin, TSH), drugs, lipoproteins, vitamins"
], bg=LTRED, title_bg=RED), sp(6)]
story.append(Paragraph("6. ELISA (Enzyme-Linked Immunosorbent Assay)", SECTION_HDR))
story += [flowchart_table([
"Step 1: Coat microtitre plate wells with capture antibody (Ab1)",
"Step 2: Add patient sample — antigen binds to Ab1 (INCUBATE + WASH)",
"Step 3: Add enzyme-linked detection antibody (Ab2-Enzyme conjugate) — SANDWICH ELISA",
"Step 4: Add substrate — enzyme converts substrate → coloured product",
"Step 5: Stop reaction with H2SO4 (acid)",
"Step 6: Read Absorbance at 450 nm → proportional to antigen concentration"
], bg=LTBLUE, arrow_color=DKBLUE), sp(4)]
story += [info_box("ELISA — Key Facts", [
"Types: Direct ELISA, Indirect ELISA, Sandwich ELISA (most sensitive), Competitive ELISA",
"Enzyme used: HRP (Horseradish Peroxidase) or Alkaline Phosphatase",
"Substrate for HRP: TMB (turns blue) → Yellow after stopping",
"Advantages: No radioactivity, safe, cheap, automated, long shelf life",
"Disadvantages: Less sensitive than RIA, matrix effects possible",
"Applications: HIV diagnosis, Hepatitis B, lipid-associated proteins, drug monitoring"
], bg=LTBLUE, title_bg=DKBLUE), sp(6)]
story.append(Paragraph("EXAM TIP — 10 MARKS ANSWER STRUCTURE", SUBSEC_HDR))
story += [info_box("Unit IX — Exam Answer Template", [
"1. Lipoproteins table — 5 types, density, function (3 marks)",
"2. Total cholesterol determination — Liebermann-Burchard method/CHOD-PAP (2 marks)",
"3. HDL/LDL — direct methods + Friedewald formula (1 mark)",
"4. RIA — principle + flowchart + advantages/disadvantages (2 marks)",
"5. ELISA — principle + flowchart + sandwich ELISA diagram (2 marks)"
], bg=LTYELLOW, title_bg=ORANGE), PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# UNIT X — ELECTROLYTES
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("UNIT X — ELECTROLYTES", RED), sp(8)]
story.append(Paragraph("1. BODY FLUID COMPARTMENTS", SECTION_HDR))
story.append(Paragraph(
"Total Body Water (TBW) = 60% of body weight. Divided into:", BODY))
story.append(two_col_table(
["Compartment", "% Body Weight", "Volume (70 kg)", "Major Ions"],
[["Intracellular Fluid (ICF)", "40%", "28 L", "K+, Mg2+, HPO4-"],
["Extracellular Fluid (ECF)", "20%", "14 L", "Na+, Cl-, HCO3-"],
[" → Plasma (Intravascular)", "5%", "3.5 L", "Na+, Proteins"],
[" → Interstitial Fluid", "15%", "10.5 L", "Na+, Cl-"],
["Transcellular Fluid", "1-2%", "<1 L", "Variable (CSF, joint fluid)"]],
col_bg=RED
))
story += [sp(6)]
story.append(Paragraph("2. SODIUM (Na+) — DETERMINATION & REGULATION", SECTION_HDR))
story.append(Paragraph(
"Sodium is the major extracellular cation. Normal serum Na+: <b>135-145 mEq/L</b>. "
"It determines plasma osmolality and ECF volume.", BODY))
story += [info_box("Methods to Determine Sodium in Body Fluids", [
"Flame Photometry (Flame Emission Spectroscopy): GOLD STANDARD — sodium burns orange-yellow at 589 nm",
"Ion-Selective Electrode (ISE): Most commonly used in automated analysers; measures Na+ activity",
"Atomic Absorption Spectroscopy: Highly accurate but expensive",
"Colorimetric methods: Uranyl zinc acetate method (less common)"
], bg=LTRED, title_bg=RED), sp(6)]
story.append(Paragraph("3. REGULATION OF SODIUM & OSMOLARITY", SECTION_HDR))
story += [flowchart_table([
"Low BP / Low Na+ / Low ECF Volume detected by Juxtaglomerular cells in kidney",
"Renin released → Angiotensinogen → Angiotensin I (in plasma)",
"ACE (Angiotensin-Converting Enzyme) converts → Angiotensin II",
"Angiotensin II → Stimulates Adrenal Cortex → Aldosterone released",
"Aldosterone → Acts on DCT/Collecting duct → ↑ Na+ reabsorption + K+ excretion",
"Na+ retained → Water follows osmotically → ECF volume restored",
"High osmolarity → ADH (Vasopressin) released from posterior pituitary → Water retention"
], bg=LTRED, arrow_color=RED), sp(6)]
story.append(Paragraph("4. CHLORIDE (Cl-) DETERMINATION", SECTION_HDR))
story += [info_box("Chloride in Body Fluids", [
"Normal serum Cl-: 95-105 mEq/L (follows Na+ changes)",
"Schales and Schales Method: Titration with mercuric nitrate using diphenylcarbazone indicator — endpoint = blue-violet colour",
"Cotlove's Coulometric Titration: Silver ions generated electrochemically react with Cl-",
"ISE (Ion-Selective Electrode): Routine automated method",
"ORS (Oral Rehydration Solution): NaCl + KCl + Glucose + Na-Citrate — WHO formula",
"Hyperchloric acidosis: ↑ Cl- with ↓ HCO3-"
], bg=LTRED, title_bg=RED), sp(6)]
story.append(Paragraph("5. WATER DEPLETION & WATER EXCESS", SECTION_HDR))
story.append(two_col_table(
["Parameter", "Water Depletion (Dehydration)", "Water Excess (Overhydration)"],
[["Serum Na+", "↑ Hypernatraemia", "↓ Hyponatraemia"],
["Serum Osmolality", "↑ High", "↓ Low"],
["Urine Output", "↓ Oliguria/Anuria", "↑ Polyuria"],
["Clinical Features", "Thirst, dry mucous membranes, tachycardia", "Oedema, weight gain, confusion"],
["Causes", "Vomiting, diarrhoea, burns, inadequate intake", "Excess IV fluids, SIADH, cardiac failure"],
["Treatment", "Oral/IV fluid replacement, ORS", "Fluid restriction, diuretics"]],
col_bg=RED
))
story += [sp(6)]
story.append(Paragraph("6. HYPOKALAEMIA & HYPERKALAEMIA", SECTION_HDR))
story.append(Paragraph("Normal serum K+: <b>3.5-5.0 mEq/L</b>. Potassium is the major intracellular cation.", BODY))
story.append(two_col_table(
["Feature", "Hypokalaemia (K+ < 3.5)", "Hyperkalaemia (K+ > 5.0)"],
[["Causes", "Vomiting, diarrhoea, diuretics, hyperaldosteronism", "Renal failure, ACE inhibitors, acidosis, Addison's disease"],
["ECG Changes", "U waves, flat T waves, prolonged QT", "Peaked T waves, wide QRS, sine wave pattern"],
["Symptoms", "Muscle weakness, cramps, paralysis, arrhythmias", "Palpitations, weakness, cardiac arrest"],
["Treatment", "K+ supplementation (oral/IV KCl)", "Calcium gluconate, insulin+dextrose, dialysis"]],
col_bg=RED
))
story += [sp(6)]
story.append(Paragraph("7. HYPONATRAEMIA & HYPERNATRAEMIA", SECTION_HDR))
story.append(two_col_table(
["Feature", "Hyponatraemia (Na+ < 135)", "Hypernatraemia (Na+ > 145)"],
[["Causes", "SIADH, heart failure, cirrhosis, hypothyroidism", "Dehydration, diabetes insipidus, excess salt intake"],
["Symptoms", "Headache, confusion, seizures, coma", "Thirst, fever, restlessness, muscle twitching"],
["Treatment", "Fluid restriction (dilutional), hypertonic saline (severe)", "Free water replacement (oral/IV), treat cause"]],
col_bg=RED
))
story += [sp(6)]
story.append(Paragraph("8. ROLE OF ALDOSTERONE IN ELECTROLYTE REGULATION", SECTION_HDR))
story += [info_box("Aldosterone — Key Points", [
"Produced by Zona Glomerulosa of Adrenal Cortex (mineralocorticoid)",
"Stimulus: Low Na+, High K+, Low blood volume, Angiotensin II, ACTH",
"Action: ↑ Na+ reabsorption at DCT/CD by upregulating ENaC (Na+ channel) and Na+/K+ ATPase",
"Effect: Na+ retained + K+ excreted + H+ excreted + Water retained (via osmosis)",
"Primary Hyperaldosteronism (Conn's Syndrome): High BP, Low K+, Low Renin",
"Primary Hypoaldosteronism (Addison's Disease): Low Na+, High K+, Low BP"
], bg=LTRED, title_bg=RED), sp(6)]
story.append(Paragraph("EXAM TIP — 10 MARKS ANSWER STRUCTURE", SUBSEC_HDR))
story += [info_box("Unit X — Exam Answer Template", [
"1. Body fluid compartments diagram — ICF/ECF table (2 marks)",
"2. Sodium determination methods — Flame photometry + ISE principle (2 marks)",
"3. Aldosterone regulation flowchart — RAAS pathway (2 marks)",
"4. Hypo/Hypernatraemia + Hypo/Hyperkalaemia tables (2 marks)",
"5. Water depletion vs excess table + ORS composition (2 marks)"
], bg=LTYELLOW, title_bg=ORANGE), PageBreak()]
# ══════════════════════════════════════════════════════════════════════════
# MIND MAP — QUICK RECAP
# ══════════════════════════════════════════════════════════════════════════
story += [unit_banner("MIND MAP — QUICK RECAP (All Units)", GREY), sp(10)]
# One large mind map table
mm_data = [
# Header row
[Paragraph("<b>UNIT VI</b><br/>Nucleic Acid<br/>Metabolism", MINDMAP_UNIT),
Paragraph("<b>UNIT VII</b><br/>Clinical<br/>Chemistry", MINDMAP_UNIT),
Paragraph("<b>UNIT VIII</b><br/>Liver Function<br/>Tests", MINDMAP_UNIT),
Paragraph("<b>UNIT IX</b><br/>Lipid Profile<br/>Tests", MINDMAP_UNIT),
Paragraph("<b>UNIT X</b><br/>Electrolytes", MINDMAP_UNIT)],
# Row 1
[Paragraph("• Nucleotides = Base + Sugar + Pi\n• Purines: A, G (bicyclic)\n• Pyrimidines: C, T, U (monocyclic)", MINDMAP_PT),
Paragraph("• Lab: Blood, Urine, CSF analysis\n• GFR = 125 mL/min\n• NPN = Urea + Creatinine + Uric acid", MINDMAP_PT),
Paragraph("• MEDS-PC functions\n• Bilirubin: Unconjugated→Conjugated\n• UDP-glucuronyl transferase", MINDMAP_PT),
Paragraph("• Phospholipids: Cell membrane\n• Lipoproteins: Chylomicron, VLDL, LDL, HDL\n• HDL = GOOD, LDL = BAD", MINDMAP_PT),
Paragraph("• TBW = 60% body wt\n• ICF: K+ dominant (40%)\n• ECF: Na+ dominant (20%)", MINDMAP_PT)],
# Row 2
[Paragraph("• De novo Purines: PRPP→IMP→AMP/GMP\n• Rate-limiting: amidoPRTase\n• Pyrimidines: CPS II→OMP→UMP", MINDMAP_PT),
Paragraph("• Creatinine clearance: best GFR test\n• Formula: UV/P\n• Abnormal urine: Glycosuria, Proteinuria", MINDMAP_PT),
Paragraph("• Jaundice types: Pre/Hepatic/Post-hepatic\n• SGPT = liver-specific (ALT)\n• SGOT = heart+liver (AST)\n• De Ritis ratio = AST/ALT", MINDMAP_PT),
Paragraph("• Cholesterol: LB method / CHOD-PAP\n• LDL = TC - HDL - TG/5\n• Normal TC <200 mg/dL", MINDMAP_PT),
Paragraph("• Na+ normal: 135-145 mEq/L\n• K+ normal: 3.5-5.0 mEq/L\n• Cl- normal: 95-105 mEq/L", MINDMAP_PT)],
# Row 3
[Paragraph("• Salvage pathway: HGPRT\n• HGPRT deficiency → Lesch-Nyhan\n• ADA deficiency → SCID\n• Okazaki fragments: lagging strand", MINDMAP_PT),
Paragraph("• Urinary stones: Ca-oxalate most common\n• Uric acid stones: radiolucent\n• Cystine stones: cystinuria", MINDMAP_PT),
Paragraph("• Albumin: 3.5-5.5 g/dL (synthetic fn)\n• ALP: Obstructive jaundice marker\n• BSP test: detox capacity\n• PT: clotting factor synthesis", MINDMAP_PT),
Paragraph("• RIA: Radiolabelled Ag* vs Ag for Ab\n• Advantages: Very sensitive (pg/mL)\n• Dis: Radioactive hazard", MINDMAP_PT),
Paragraph("• Flame photometry: Na+ at 589 nm\n• ISE: routine automated\n• Aldosterone: Na+ retention, K+ excretion", MINDMAP_PT)],
# Row 4
[Paragraph("• Mutations: Point, Transition, Transversion, Frameshift, Nonsense\n• Semi-conservative replication\n• Helicase→Primase→DNA Pol III→Ligase", MINDMAP_PT),
Paragraph("• Bile salts: Conjugated bile acids\n• Bile pigments: Bilirubin/Urobilinogen\n• Serum protein electrophoresis", MINDMAP_PT),
Paragraph("• Hepatic dysfunction: blood ammonia↑\n• Ammonia→Urea (fails in liver disease)\n• ICG clearance: hepatic blood flow", MINDMAP_PT),
Paragraph("• ELISA: Ab coated plate→Ag→Ab2-Enzyme\n• Substrate→Colour→Absorbance at 450nm\n• Sandwich ELISA most sensitive", MINDMAP_PT),
Paragraph("• RAAS: Renin→Ang I→Ang II→Aldosterone\n• ADH: Water retention (posterior pit.)\n• ORS: NaCl+KCl+Glucose+Na-Citrate", MINDMAP_PT)],
]
col_w = [CONTENT_W/5]*5
mm_table = Table(mm_data, colWidths=col_w)
ts = [
("BACKGROUND", (0,0), (0,0), DKBLUE),
("BACKGROUND", (1,0), (1,0), GREEN),
("BACKGROUND", (2,0), (2,0), TEAL),
("BACKGROUND", (3,0), (3,0), PURPLE),
("BACKGROUND", (4,0), (4,0), RED),
("BACKGROUND", (0,1), (0,-1), LTBLUE),
("BACKGROUND", (1,1), (1,-1), LTGREEN),
("BACKGROUND", (2,1), (2,-1), LTTEAL),
("BACKGROUND", (3,1), (3,-1), LTPURPLE),
("BACKGROUND", (4,1), (4,-1), LTRED),
("GRID", (0,0), (-1,-1), 0.5, colors.grey),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 6),
("BOTTOMPADDING", (0,0), (-1,-1), 6),
("LEFTPADDING", (0,0), (-1,-1), 6),
("ALIGN", (0,0), (-1,0), "CENTER"),
]
mm_table.setStyle(TableStyle(ts))
story.append(mm_table)
story += [sp(10)]
# ── SUMMARY TABLE ─────────────────────────────────────────────────────────
story += [unit_banner("FINAL SUMMARY — LAST MINUTE REVISION", GREY), sp(8)]
story.append(two_col_table(
["Unit", "Most Important Exam Points"],
[["VI: Nucleic Acid", "PRPP synthetase (rate-limiting) → IMP → AMP/GMP | HGPRT deficiency = Lesch-Nyhan | Okazaki fragments on lagging strand | Pyrimidines: CPS II → OMP → UMP"],
["VII: Clinical Chem", "GFR = 125 mL/min | Creatinine clearance = best GFR test | Ca-oxalate = most common stone | Glycosuria when blood glucose >180 mg/dL"],
["VIII: LFT", "Conjugated bilirubin = direct = water-soluble | SGPT = liver-specific (ALT) | De Ritis ratio >2 = alcoholic liver | ALP very high = obstructive jaundice"],
["IX: Lipid Profile", "LDL = TC - HDL - TG/5 (Friedewald) | HDL = good, LDL = bad | RIA = radiolabelled antigen competition | ELISA = enzyme-linked, 450 nm"],
["X: Electrolytes", "Na+ = 135-145, K+ = 3.5-5.0, Cl- = 95-105 mEq/L | Aldosterone: Na+ up, K+ down | Flame photometry = 589 nm | ORS = NaCl+KCl+Glucose"]],
col_bg=GREY
))
story += [sp(10)]
story.append(Paragraph(
"<b>Good Luck in Your Exams!</b> Remember: Draw flowcharts and tables — they earn marks faster than paragraphs.",
mks("GL", fontSize=13, textColor=DKBLUE, alignment=TA_CENTER, fontName="Helvetica-Bold")))
return story
# ── BUILD PDF ─────────────────────────────────────────────────────────────────
OUT = "/home/daytona/workspace/biochem-notes/ClinicalBiochem_UnitsVI_X_ExamNotes.pdf"
doc = SimpleDocTemplate(
OUT, pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Clinical Biochemistry Units VI-X — University Exam Notes",
author="Orris AI Study Assistant"
)
doc.build(build_story())
print(f"PDF created: {OUT}")
cd /home/daytona/workspace/biochem-notes && python3 create_notes.py 2>&1
~/biochem-notes/create_notes.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/biochem-notes/create_notes.py'
cd /home/daytona/workspace/biochem-notes && python3 create_notes.py 2>&1
ls -lh /home/daytona/workspace/biochem-notes/ClinicalBiochem_UnitsVI_X_ExamNotes.pdf
ClinicalBiochem UnitsVI X ExamNotes
PDF Document · PDF
Ribose-5-P (HMP shunt)
↓
PRPP (PRPP synthetase)
↓
PRA (amidoPRTase — RATE-LIMITING STEP)
↓
10 more steps (Gly, Gln, Asp, CO2, Formate)
↓
IMP (Inosine Monophosphate) — 1st purine
↓ ↓
AMP (2 steps) GMP (2 steps)
↓ ↓
ATP GTP → DNA/RNA
CO2 + Glutamine + ATP → Carbamoyl phosphate (CPS II — cytoplasmic)
↓
Carbamoyl phosphate + Aspartate
↓
Dihydroorotate → Orotate
↓
Orotate + PRPP → OMP
↓
OMP → UMP (1st pyrimidine nucleotide)
↓ ↓
UTP → CTP dUDP → dTMP
| Enzyme | Reaction | Disease if Deficient |
|---|---|---|
| HGPRT | Hypoxanthine/Guanine + PRPP → IMP/GMP | Lesch-Nyhan Syndrome (self-mutilation, gout) |
| ADA | Adenosine → Inosine | SCID (severe combined immunodeficiency) |
Helicase (unwinds) → SSB proteins (stabilize) → Primase (RNA primer)
→ DNA Pol III [Leading strand: continuous | Lagging strand: Okazaki fragments]
→ DNA Pol I (removes primers) → DNA Ligase (seals) → 2 daughter DNA molecules
| NPN Compound | Normal Blood Value | Disease if Elevated |
|---|---|---|
| Urea (BUN) | 10-40 mg/dL | Renal failure, dehydration |
| Creatinine | 0.6-1.2 mg/dL | Renal disease (best GFR marker) |
| Uric acid | 3.5-7.2 mg/dL | Gout, Lesch-Nyhan |
| Ammonia | 15-45 mcg/dL | Liver failure, Reye syndrome |
| Finding | Term | Cause |
|---|---|---|
| Glucose | Glycosuria | Blood glucose >180 mg/dL (diabetes) |
| Protein | Proteinuria | Nephrotic syndrome |
| Ketones | Ketonuria | DKA, starvation |
| Bilirubin | Bilirubinuria | Obstructive jaundice |
Haemoglobin (RBC breakdown)
↓
Haem → Biliverdin → Unconjugated Bilirubin (indirect, fat-soluble, TOXIC)
↓ binds Albumin → transported to liver
Liver: UDP-glucuronyltransferase
↓
Conjugated Bilirubin (direct, water-soluble) → secreted into bile
↓ intestine
Urobilinogen → Stercobilin (brown stool) | some reabsorbed → Urobilin (yellow urine)
| Feature | Pre-hepatic | Hepatic | Post-hepatic |
|---|---|---|---|
| Cause | Excess RBC destruction | Hepatitis/cirrhosis | Bile duct blockage |
| Unconjugated Bil | ↑↑ | ↑ | Normal |
| Conjugated Bil | Normal | ↑ | ↑↑ |
| Urine bilirubin | Absent | Present | Present (dark) |
| Stool | Dark | Pale | Clay-coloured |
| ALP | Normal | Elevated | Very HIGH |
| Lipoprotein | Density | Main Content | Function |
|---|---|---|---|
| Chylomicrons | Lowest | 90% TG | Dietary fat gut → tissues |
| VLDL | Very Low | 55% TG | Endogenous TG liver → tissues |
| LDL | Low | 45% Chol | Cholesterol to cells (BAD) |
| HDL | High | 50% Protein | Reverse cholesterol transport (GOOD) |
Serum + Acetic Anhydride + H2SO4
↓
Green colour develops
↓
Read at 620 nm → Calculate from standard curve
Normal: <200 mg/dL
LDL = Total Cholesterol - HDL - (Triglycerides / 5)
Valid only when TG <400 mg/dL
Labelled Ag* + Unknown Ag + Limited Ab
↓ Competition for binding
Ag*-Ab (bound) separated from free Ag*
↓
Measure radioactivity (Gamma counter)
More Ag in sample → Less Ag* bound → Less radioactivity → Higher concentration
Ab1 coated on microtitre plate
↓ + Patient sample
Ag binds Ab1 (wash)
↓ + Enzyme-linked Ab2
Sandwich formed (wash)
↓ + Substrate (TMB)
Coloured product → Stop with H2SO4
↓
Read absorbance at 450 nm → Concentration
| Compartment | % Body Wt | Dominant Ion |
|---|---|---|
| ICF (Intracellular) | 40% | K+, Mg2+, HPO4- |
| ECF (Extracellular) | 20% | Na+, Cl-, HCO3- |
Low BP / Low Na+ → Kidney JG cells → Renin
↓
Angiotensinogen → Angiotensin I → (ACE) → Angiotensin II
↓
Adrenal cortex → Aldosterone
↓
DCT/CD: ↑ Na+ reabsorption + ↑ K+ excretion + Water retention
↓
BP and ECF volume restored
| Feature | Hyponatraemia (Na+ <135) | Hypernatraemia (Na+ >145) |
|---|---|---|
| Cause | SIADH, heart failure, cirrhosis | Dehydration, diabetes insipidus |
| Symptoms | Headache, confusion, seizures | Thirst, fever, restlessness |
| Treatment | Fluid restriction / hypertonic saline | Free water replacement |
ClinicalBiochem UnitsVI X ExamNotes
PDF Document · PDF