attachment
attachment

i want this kind of notes for my neet pg exam for biochemistry subject

analyse_media
Asking for Preferences
Reading File
Finding Sources
Reading File
Finding Sources
Reading File
Finding Sources
Running Command

mkdir -p /home/daytona/workspace/biochem-atlas && ls /home/daytona/workspace/bio…

Writing File

~/biochem-atlas/build.js

const pptxgen = require("pptxgenjs");

const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"

// ─── COLORS ───────────────────────────────────────────────────────────────────
const C = {
  navyDark:   "0D1B4B",   // header dark bg
  navyMid:    "1B3A7A",   // left column header
  purple:     "5C2D91",   // right column header
  teal:       "00838F",   // gold standards header
  orange:     "D4680A",   // key principles header
  purpleHY:   "6A1B9A",   // high yield header
  blueLight:  "E8F0FB",   // left col bg
  purpleLight:"F3E8FB",   // right col bg
  tealLight:  "E0F4F5",   // gold standards bg
  orangeLight:"FFF3E0",   // key principles bg
  purpleLightHY: "F3E5F5",
  defBlue:    "E3EAF8",
  abbrTeal:   "E0F7FA",
  examPink:   "FCE4EC",
  white:      "FFFFFF",
  black:      "1A1A1A",
  yellow:     "FFD600",
  red:        "C62828",
  green:      "1B6B2F",
  tealMed:    "00ACC1",
  orangeMed:  "EF8C00",
  pinkFt:     "D81B60",
  goldStar:   "F9A825",
};

const slide = pres.addSlide();

// ─── BACKGROUND ──────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 7.5, fill: { color: C.white } });

// ─── HEADER BAND ─────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 13.3, h: 0.72, fill: { color: C.navyDark } });

// Page number box
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: 0.06, w: 0.52, h: 0.60, fill: { color: "1A3068" }, line: { color: C.white, width: 1 } });
slide.addText([{ text: "PAGE", options: { fontSize: 5.5, bold: true, breakLine: true } }, { text: "1", options: { fontSize: 14, bold: true } }], {
  x: 0.08, y: 0.06, w: 0.52, h: 0.60, color: C.white, align: "center", valign: "middle", margin: 0
});

// Title center
slide.addText("BIOCHEMISTRY 700+ BOOTCAMP ATLAS", {
  x: 0.68, y: 0.04, w: 10.4, h: 0.32,
  fontSize: 17.5, bold: true, color: C.white, align: "center", fontFace: "Arial Black", charSpacing: 1, margin: 0
});
slide.addText("MASTER MAP OF BIOCHEMISTRY", {
  x: 0.68, y: 0.36, w: 10.4, h: 0.2,
  fontSize: 9, bold: false, color: "B0C4FF", align: "center", fontFace: "Arial", charSpacing: 2, margin: 0
});

// Stars row
slide.addText([
  { text: "★ High Yield  ", options: { color: C.yellow, bold: true } },
  { text: "   Exam Focused  ", options: { color: C.white } },
  { text: "   Concept Based  ", options: { color: C.white } },
  { text: "   PYQ Driven", options: { color: C.white } },
], { x: 2.2, y: 0.54, w: 7.0, h: 0.18, fontSize: 7, align: "center", margin: 0 });

// Vision badge
slide.addShape(pres.ShapeType.rect, { x: 11.82, y: 0.05, w: 1.40, h: 0.62, fill: { color: "1A3068" }, line: { color: C.yellow, width: 1.5 } });
slide.addText([
  { text: "VISION\n", options: { bold: true, fontSize: 7.5, breakLine: true } },
  { text: "Understand\nOrganize\nRemember\nScore 700+", options: { fontSize: 5.5 } },
], { x: 11.82, y: 0.05, w: 1.40, h: 0.62, color: C.white, align: "center", valign: "middle", margin: 0 });

// ─── LEFT COLUMN: CORE DOMAINS A ─────────────────────────────────────────────
const leftX = 0.08, midX = 3.62, rightX = 9.58;
const tier1Y = 0.78, tier1H = 2.72;

// Left header
slide.addShape(pres.ShapeType.rect, { x: leftX, y: tier1Y, w: 3.48, h: 0.26, fill: { color: C.navyMid } });
slide.addText("CORE DOMAINS — METABOLISM", { x: leftX, y: tier1Y, w: 3.48, h: 0.26, fontSize: 7.5, bold: true, color: C.white, align: "center", margin: 0 });

slide.addShape(pres.ShapeType.rect, { x: leftX, y: tier1Y + 0.26, w: 3.48, h: tier1H - 0.26, fill: { color: C.blueLight } });

const leftTopics = [
  ["●", "Carbohydrate Metabolism", "Glycolysis, TCA, Gluconeogenesis, Glycogen"],
  ["●", "Lipid Metabolism", "Fatty acid synth/oxidation, Ketones, Cholesterol"],
  ["●", "Amino Acid Metabolism", "Transamination, Urea cycle, Deamination"],
  ["●", "Protein Structure & Function", "1°–4° structure, Enzymes, Hemoglobin"],
  ["●", "Nucleotide Metabolism", "Purine, Pyrimidine, Salvage pathways"],
  ["●", "Integration & Hormonal Control", "Fed/fasting state, Insulin, Glucagon"],
  ["●", "Vitamins & Cofactors", "Water/fat soluble, Coenzymes, Deficiency Dx"],
];

leftTopics.forEach((t, i) => {
  slide.addText([
    { text: t[0] + " ", options: { color: C.navyMid, bold: true, fontSize: 7 } },
    { text: t[1] + "\n", options: { color: C.black, bold: true, fontSize: 7 } },
    { text: "    " + t[2], options: { color: "555555", fontSize: 5.8 } },
  ], { x: leftX + 0.08, y: tier1Y + 0.30 + i * 0.34, w: 3.30, h: 0.33, margin: 0 });
});

// ─── RIGHT COLUMN: CORE DOMAINS B ────────────────────────────────────────────
const rightW = 3.62;
slide.addShape(pres.ShapeType.rect, { x: rightX, y: tier1Y, w: rightW, h: 0.26, fill: { color: C.purple } });
slide.addText("CORE DOMAINS — MOLECULAR & CLINICAL", { x: rightX, y: tier1Y, w: rightW, h: 0.26, fontSize: 7, bold: true, color: C.white, align: "center", margin: 0 });

slide.addShape(pres.ShapeType.rect, { x: rightX, y: tier1Y + 0.26, w: rightW, h: tier1H - 0.26, fill: { color: C.purpleLight } });

const rightTopics = [
  ["●", "Molecular Biology", "DNA replication, Transcription, Translation"],
  ["●", "Genetics & Mutations", "Point mutations, Frameshift, Epigenetics"],
  ["●", "Enzyme Kinetics", "Km, Vmax, Inhibition types, Cooperativity"],
  ["●", "Acid-Base & pH", "Henderson-Hasselbalch, Buffers, pKa"],
  ["●", "Porphyrin & Heme", "Heme synthesis, Jaundice, Porphyrias"],
  ["●", "Plasma Proteins", "Albumin, Globulins, Acute phase reactants"],
  ["●", "Clinical Biochemistry", "LFTs, RFTs, Diabetes markers, Tumor markers"],
];
rightTopics.forEach((t, i) => {
  slide.addText([
    { text: t[0] + " ", options: { color: C.purple, bold: true, fontSize: 7 } },
    { text: t[1] + "\n", options: { color: C.black, bold: true, fontSize: 7 } },
    { text: "    " + t[2], options: { color: "555555", fontSize: 5.8 } },
  ], { x: rightX + 0.08, y: tier1Y + 0.30 + i * 0.34, w: rightW - 0.12, h: 0.33, margin: 0 });
});

// ─── CENTER MIND MAP ──────────────────────────────────────────────────────────
const cx = 6.65, cy = tier1Y + tier1H / 2 + 0.05;
const hubR = 0.68;
// Outer ring background circle
slide.addShape(pres.ShapeType.ellipse, { x: cx - 1.18, y: cy - 1.15, w: 2.36, h: 2.30, fill: { color: "EEF2FF" }, line: { color: "9DB2F0", width: 1 } });
// Inner dark hub
slide.addShape(pres.ShapeType.ellipse, { x: cx - hubR, y: cy - hubR, w: hubR * 2, h: hubR * 2, fill: { color: C.navyDark }, line: { color: C.yellow, width: 2 } });
slide.addText([
  { text: "BIO-\n", options: { fontSize: 12, bold: true, breakLine: true } },
  { text: "CHEM\n", options: { fontSize: 12, bold: true, breakLine: true } },
  { text: "MASTER MAP", options: { fontSize: 5.5, bold: false } },
], { x: cx - hubR, y: cy - hubR, w: hubR * 2, h: hubR * 2, color: C.white, align: "center", valign: "middle", margin: 0 });

// Satellite nodes
const satellites = [
  { label: "CARB\nMETAB",    angle: -90, color: "1565C0", bg: "DBEAFE" },
  { label: "LIPID\nMETAB",   angle: -30, color: "6A1B9A", bg: "EDE7F6" },
  { label: "PROTEIN &\nENZYMES", angle: 30, color: "00695C", bg: "E0F2F1" },
  { label: "MOL\nBIOLOGY",   angle: 90, color: "1B5E20", bg: "E8F5E9" },
  { label: "VITAMINS\n& COFAC", angle: 150, color: "E65100", bg: "FFF3E0" },
  { label: "AMINO\nACIDS",   angle: 210, color: "880E4F", bg: "FCE4EC" },
];
const OR = 1.0; // orbit radius
satellites.forEach(s => {
  const rad = (s.angle * Math.PI) / 180;
  const sx = cx + OR * Math.cos(rad) - 0.36;
  const sy = cy + OR * Math.sin(rad) * 0.82 - 0.22;
  // line
  slide.addShape(pres.ShapeType.line, {
    x: cx + (hubR + 0.02) * Math.cos(rad), y: cy + (hubR + 0.02) * Math.sin(rad) * 0.82,
    w: (OR - hubR - 0.38) * Math.abs(Math.cos(rad)) + 0.01,
    h: (OR - hubR - 0.38) * Math.abs(Math.sin(rad)) + 0.01,
    line: { color: "AABDE0", width: 0.8, dashType: "dash" }
  });
  slide.addShape(pres.ShapeType.roundRect, {
    x: sx, y: sy, w: 0.72, h: 0.44,
    fill: { color: s.bg }, line: { color: s.color, width: 1.2 }, rectRadius: 0.06
  });
  slide.addText(s.label, { x: sx, y: sy, w: 0.72, h: 0.44, fontSize: 5.2, bold: true, color: s.color, align: "center", valign: "middle", margin: 0 });
});

// ─── TIER 2: THREE COLUMNS ────────────────────────────────────────────────────
const t2Y = 3.56, t2H = 1.75;
const colW = 4.28;

// --- GOLD STANDARDS ---
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: t2Y, w: colW, h: 0.26, fill: { color: C.teal } });
slide.addText("⚡ GOLD STANDARDS", { x: 0.08, y: t2Y, w: colW, h: 0.26, fontSize: 8.5, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: t2Y + 0.26, w: colW, h: t2H - 0.26, fill: { color: C.tealLight } });

const goldStds = [
  ["Enzyme diagnosis (MI)", "Troponin I/T > CK-MB"],
  ["Diabetes diagnosis", "HbA1c ≥ 6.5% / FPG ≥ 126 mg/dL"],
  ["Protein structure", "X-ray Crystallography"],
  ["Enzyme kinetics", "Michaelis-Menten / Lineweaver-Burk"],
  ["DNA sequencing", "Sanger / NGS"],
  ["Genetic mutation screening", "PCR + Gel Electrophoresis"],
  ["Liver function", "ALT/AST ratio"],
  ["Renal function", "GFR (Creatinine clearance)"],
  ["Vitamin B12 deficiency", "Serum B12 + MMA levels"],
];
goldStds.forEach((g, i) => {
  if (i >= 8) return;
  slide.addText([
    { text: "✔ ", options: { color: C.green, bold: true, fontSize: 6.5 } },
    { text: g[0] + "  ", options: { bold: true, color: C.black, fontSize: 6.2 } },
    { text: g[1], options: { color: "336655", fontSize: 6.2 } },
  ], { x: 0.14, y: t2Y + 0.30 + i * 0.18, w: colW - 0.12, h: 0.18, margin: 0 });
});

// --- KEY PRINCIPLES ---
const kpX = 4.50;
slide.addShape(pres.ShapeType.rect, { x: kpX, y: t2Y, w: colW, h: 0.26, fill: { color: C.orange } });
slide.addText("🔑 KEY PRINCIPLES  (Remember!)", { x: kpX, y: t2Y, w: colW, h: 0.26, fontSize: 8.5, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: kpX, y: t2Y + 0.26, w: colW, h: t2H - 0.26, fill: { color: C.orangeLight } });

const mnemonicColors = ["1565C0","1B5E20","880E4F","D84315","6A1B9A","00695C","C62828","E65100","1A3068","2E7D32","AD1457","4A148C"];
const mnemonic = [
  ["B","Build anabolic pathways (fed state)"],
  ["I","Inhibition types: competitive vs non-comp"],
  ["O","Oxidation fuels catabolism (fasting state)"],
  ["C","Cofactors: vitamins as coenzymes"],
  ["H","Henderson-Hasselbalch governs pH"],
  ["E","Enzymes follow Km/Vmax kinetics"],
  ["M","Mutations cause IEMs (inborn errors)"],
  ["I","Integration: liver is metabolic hub"],
  ["S","Signal transduction via 2nd messengers"],
  ["T","Transcription/Translation: central dogma"],
  ["R","Regulation: allosteric + covalent mod."],
  ["Y","Yield: ATP count matters in exams"],
];
mnemonic.forEach((m, i) => {
  if (i >= 12) return;
  const col = i < 6 ? kpX + 0.10 : kpX + 2.18;
  const row = i < 6 ? i : i - 6;
  slide.addShape(pres.ShapeType.rect, { x: col, y: t2Y + 0.32 + row * 0.24, w: 0.20, h: 0.20, fill: { color: mnemonicColors[i] } });
  slide.addText(m[0], { x: col, y: t2Y + 0.32 + row * 0.24, w: 0.20, h: 0.20, fontSize: 8, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  slide.addText(m[1], { x: col + 0.23, y: t2Y + 0.32 + row * 0.24, w: 1.88, h: 0.20, fontSize: 5.8, color: C.black, valign: "middle", margin: 0 });
});

// --- HIGH YIELD FACT FILE ---
const hyX = 8.92;
slide.addShape(pres.ShapeType.rect, { x: hyX, y: t2Y, w: colW, h: 0.26, fill: { color: C.purpleHY } });
slide.addText("★ HIGH YIELD FACT FILE", { x: hyX, y: t2Y, w: colW, h: 0.26, fontSize: 8.5, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: hyX, y: t2Y + 0.26, w: colW, h: t2H - 0.26, fill: { color: C.purpleLightHY } });

const hyfacts = [
  "Most common IEM: Phenylketonuria (PKU)",
  "Most common enzyme deficiency in glycogen storage: Glucose-6-phosphatase",
  "Rate-limiting enzyme of glycolysis: PFK-1",
  "Rate-limiting of TCA: Isocitrate dehydrogenase",
  "Net ATP from 1 glucose (aerobic): 30-32 ATP",
  "Most abundant plasma protein: Albumin",
  "Vitamin required for collagen synthesis: Vitamin C",
  "Most common cause of megaloblastic anemia: B12 / Folate deficiency",
  "Gout: Excess uric acid from purine catabolism",
];
hyfacts.forEach((f, i) => {
  if (i >= 9) return;
  slide.addText([
    { text: "★ ", options: { color: C.purpleHY, bold: true, fontSize: 7 } },
    { text: f, options: { color: C.black, fontSize: 6 } },
  ], { x: hyX + 0.08, y: t2Y + 0.30 + i * 0.17, w: colW - 0.14, h: 0.17, margin: 0 });
});

// ─── TIER 3: DEFINITIONS | ABBREVIATIONS | EXAM APPROACH ─────────────────────
const t3Y = 5.38, t3H = 1.60;

// --- IMPORTANT DEFINITIONS ---
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: t3Y, w: 4.10, h: 0.24, fill: { color: "1565C0" } });
slide.addText("IMPORTANT DEFINITIONS", { x: 0.08, y: t3Y, w: 4.10, h: 0.24, fontSize: 8, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: t3Y + 0.24, w: 4.10, h: t3H - 0.24, fill: { color: C.defBlue } });

const defs = [
  "• Km: Substrate conc. at ½ Vmax (affinity marker)",
  "• Vmax: Max reaction velocity (enzyme amount marker)",
  "• Anabolism: Energy-consuming biosynthetic pathways",
  "• Catabolism: Energy-releasing degradation pathways",
  "• Coenzyme: Organic non-protein enzyme cofactor (often vitamin)",
  "• IEM: Inborn Error of Metabolism (enzyme defect)",
  "• Apoenzyme: Enzyme without cofactor (inactive)",
  "• Holoenzyme: Apoenzyme + cofactor (active)",
];
defs.forEach((d, i) => {
  slide.addText(d, { x: 0.14, y: t3Y + 0.28 + i * 0.165, w: 3.98, h: 0.165, fontSize: 6, color: C.black, margin: 0 });
});

// --- ABBREVIATIONS ---
const abX = 4.28;
slide.addShape(pres.ShapeType.rect, { x: abX, y: t3Y, w: 4.74, h: 0.24, fill: { color: C.teal } });
slide.addText("ABBREVIATIONS  (Must Know)", { x: abX, y: t3Y, w: 4.74, h: 0.24, fontSize: 8, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: abX, y: t3Y + 0.24, w: 4.74, h: t3H - 0.24, fill: { color: C.abbrTeal } });

const abbrevs = [
  ["TCA","Tricarboxylic Acid Cycle","ATP","Adenosine Triphosphate"],
  ["PFK","Phosphofructokinase","NAD","Nicotinamide Adenine Dinucleotide"],
  ["FAD","Flavin Adenine Dinucleotide","CoA","Coenzyme A"],
  ["HMP","Hexose Monophosphate Shunt","PKU","Phenylketonuria"],
  ["IEM","Inborn Error of Metabolism","LDH","Lactate Dehydrogenase"],
  ["HbA1c","Glycated Hemoglobin","VLDL","Very Low Density Lipoprotein"],
  ["CPT","Carnitine Palmitoyl Transferase","HMG","3-hydroxy-3-methylglutaryl-CoA"],
];
abbrevs.forEach((a, i) => {
  if (i >= 7) return;
  slide.addText([
    { text: a[0] + " ", options: { bold: true, color: "005662", fontSize: 6.2 } },
    { text: "– " + a[1] + "    ", options: { color: C.black, fontSize: 5.8 } },
    { text: a[2] + " ", options: { bold: true, color: "005662", fontSize: 6.2 } },
    { text: "– " + a[3], options: { color: C.black, fontSize: 5.8 } },
  ], { x: abX + 0.10, y: t3Y + 0.28 + i * 0.185, w: 4.54, h: 0.185, margin: 0 });
});

// --- EXAM APPROACH ---
const eaX = 9.10;
slide.addShape(pres.ShapeType.rect, { x: eaX, y: t3Y, w: 4.10, h: 0.24, fill: { color: C.pinkFt } });
slide.addText("EXAM APPROACH", { x: eaX, y: t3Y, w: 4.10, h: 0.24, fontSize: 8, bold: true, color: C.white, align: "center", margin: 0 });
slide.addShape(pres.ShapeType.rect, { x: eaX, y: t3Y + 0.24, w: 4.10, h: t3H - 0.24, fill: { color: C.examPink } });

const examSteps = [
  "Read enzyme/pathway name carefully",
  "Identify: anabolic OR catabolic pathway",
  "Think of rate-limiting enzyme & regulation",
  "Connect to clinical disease / IEM",
  "Recall associated vitamin/cofactor",
  "Eliminate wrong options by mechanism",
];
examSteps.forEach((s, i) => {
  slide.addShape(pres.ShapeType.ellipse, { x: eaX + 0.10, y: t3Y + 0.30 + i * 0.215, w: 0.20, h: 0.20, fill: { color: C.pinkFt } });
  slide.addText(String(i + 1), { x: eaX + 0.10, y: t3Y + 0.30 + i * 0.215, w: 0.20, h: 0.20, fontSize: 7, bold: true, color: C.white, align: "center", valign: "middle", margin: 0 });
  slide.addText(s, { x: eaX + 0.35, y: t3Y + 0.30 + i * 0.215, w: 3.75, h: 0.20, fontSize: 6.2, color: C.black, valign: "middle", margin: 0 });
});

// ─── FOOTER: 4 CALLOUT BOXES ──────────────────────────────────────────────────
const ftY = 7.00, ftH = 0.36;
const ftW = 3.18;

// PYQ Pearl
slide.addShape(pres.ShapeType.rect, { x: 0.08, y: ftY, w: ftW, h: ftH, fill: { color: "FFF8E1" }, line: { color: C.orange, width: 1.2 } });
slide.addText([
  { text: "💡 PYQ PEARL  ", options: { bold: true, fontSize: 7, color: C.orange } },
  { text: ">60% Qs on enzyme defects & IEMs. Know rate-limiting steps + clinical phenotypes.", options: { fontSize: 6, color: C.black } },
], { x: 0.12, y: ftY + 0.02, w: ftW - 0.08, h: ftH - 0.04, margin: 0, valign: "middle" });

// INI-CET Pearl
slide.addShape(pres.ShapeType.rect, { x: 3.38, y: ftY, w: ftW, h: ftH, fill: { color: "E8EAF6" }, line: { color: "3F51B5", width: 1.2 } });
slide.addText([
  { text: "★ INI-CET PEARL  ", options: { bold: true, fontSize: 7, color: "3F51B5" } },
  { text: "Focus on metabolic integration in fed/fasting state. Hormonal regulation = must-do.", options: { fontSize: 6, color: C.black } },
], { x: 3.42, y: ftY + 0.02, w: ftW - 0.08, h: ftH - 0.04, margin: 0, valign: "middle" });

// Exam Trap
slide.addShape(pres.ShapeType.rect, { x: 6.68, y: ftY, w: ftW, h: ftH, fill: { color: "FFEBEE" }, line: { color: C.red, width: 1.2 } });
slide.addText([
  { text: "⚠ EXAM TRAP  ", options: { bold: true, fontSize: 7, color: C.red } },
  { text: "Don't confuse Km ↑ vs affinity ↓. Don't mix up glucokinase vs hexokinase. Check co-factor carefully.", options: { fontSize: 6, color: C.black } },
], { x: 6.72, y: ftY + 0.02, w: ftW - 0.08, h: ftH - 0.04, margin: 0, valign: "middle" });

// Quick Revision Mantra
slide.addShape(pres.ShapeType.rect, { x: 9.98, y: ftY, w: 3.24, h: ftH, fill: { color: "FCE4EC" }, line: { color: C.pinkFt, width: 1.2 } });
slide.addText([
  { text: "🧠 QUICK REVISION MANTRA\n", options: { bold: true, fontSize: 7, color: C.pinkFt, breakLine: true } },
  { text: "Revise → Recall → Apply → REPEAT!", options: { fontSize: 7.5, bold: true, color: C.navyDark } },
], { x: 10.02, y: ftY + 0.01, w: 3.18, h: ftH - 0.02, margin: 0, valign: "middle", align: "center" });

// ─── BOTTOM BANNER ────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect, { x: 0, y: 7.36, w: 13.3, h: 0.14, fill: { color: C.navyDark } });
slide.addText("★  CONSISTENT STUDY  +  SMART REVISION  +  PYQ PRACTICE  =  700+ IS POSSIBLE  ★", {
  x: 0, y: 7.36, w: 13.3, h: 0.14,
  fontSize: 6.8, bold: true, color: C.yellow, align: "center", charSpacing: 1, margin: 0
});

// ─── SAVE ─────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/biochem-atlas/Biochemistry_Bootcamp_Atlas_Page1.pptx" })
  .then(() => console.log("✅ DONE: Biochemistry_Bootcamp_Atlas_Page1.pptx"))
  .catch(e => console.error("ERROR:", e));
Running Command

cd /home/daytona/workspace/biochem-atlas && node build.js 2>&1

Running Command

ls -lh /home/daytona/workspace/biochem-atlas/

Your Biochemistry 700+ Bootcamp Atlas - Page 1 is ready! Download it here:

Biochemistry Bootcamp Atlas Page1

Presentation · PPTX


Here's exactly what's inside, mirroring the OBG Atlas style:
Header - "BIOCHEMISTRY 700+ BOOTCAMP ATLAS" with page number badge, tagline stars (High Yield / Exam Focused / Concept Based / PYQ Driven), and a VISION badge
Central Mind Map - Hub labeled "BIOCHEM MASTER MAP" with 6 satellite nodes:
  • Carb Metabolism, Lipid Metabolism, Protein & Enzymes, Molecular Biology, Vitamins & Cofactors, Amino Acids
Left Column - Core Domains (Metabolism) - 7 topics: Carbohydrate, Lipid, Amino Acid, Protein, Nucleotide, Integration, Vitamins - each with subtopic keywords
Right Column - Core Domains (Molecular & Clinical) - 7 topics: Molecular Biology, Genetics, Enzyme Kinetics, Acid-Base, Porphyrin, Plasma Proteins, Clinical Biochemistry
Gold Standards - Key diagnostic gold standards (e.g., HbA1c for diabetes, Troponin for MI, GFR for renal function)
Key Principles Mnemonic - "BIOCHEMISTRY" letter-coded color blocks with core concepts
High Yield Fact File - 9 star-marked high-yield facts (PKU, ATP yield, rate-limiting enzymes, etc.)
Important Definitions - Km, Vmax, anabolism, IEM, holoenzyme, etc.
Abbreviations - 14 must-know abbreviations (TCA, PFK, FAD, HbA1c, CPT, etc.)
Exam Approach - 6-step numbered strategy for tackling biochemistry MCQs
Footer - PYQ Pearl, INI-CET Pearl, Exam Trap (don't confuse Km ↑ vs affinity ↓), Quick Revision Mantra, and the motivational bottom banner

i want pdf

Running Command

cd /home/daytona/workspace/biochem-atlas && libreoffice --headless --convert-to …

Running Command

libreoffice --headless --convert-to pdf /home/daytona/workspace/biochem-atlas/Bi…

Running Command

cp /tmp/Biochemistry_Bootcamp_Atlas_Page1.pdf /home/daytona/workspace/biochem-at…

Your PDF is ready! Download it here:

Biochemistry Bootcamp Atlas Page1

PDF Document · PDF

The PPTX version is also still available if you want to edit anything:

Biochemistry Bootcamp Atlas Page1

Presentation · PPTX

Let me know if you'd like more pages - for example, a dedicated page for Carbohydrate Metabolism, Lipid Metabolism, Enzymes, Molecular Biology, or any other specific topic!

Create more Atlas pages (Carbohydrate/Lipid Metabolism, Enzymes, Molecular Biology)

Writing File

~/biochem-atlas/build_page2.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE"; // 13.3" x 7.5"

const C = {
  navyDark:"0D1B4B", teal:"007B83", tealDark:"005662", tealLight:"E0F4F5",
  orange:"C85A00", orangeLight:"FFF3E0", green:"1B6B2F", greenDark:"0D4B20",
  greenLight:"E8F5E9", red:"B71C1C", redLight:"FFEBEE",
  purple:"5C2D91", purpleLight:"F3E8FB",
  blue:"1565C0", blueLight:"E3EAF8",
  amber:"F9A825", white:"FFFFFF", black:"1A1A1A", yellow:"FFD600",
  pink:"D81B60", pinkLight:"FCE4EC",
  lipidBg:"FFF8E1", lipidHdr:"8B5A00",
  carbBg:"E8F5E9", carbHdr:"1B6B2F",
};

const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:7.5,fill:{color:C.white}});

// ── HEADER ──────────────────────────────────────────────────────────────────
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:0.72,fill:{color:C.navyDark}});
// Page badge
slide.addShape(pres.ShapeType.rect,{x:0.08,y:0.06,w:0.52,h:0.60,fill:{color:"1A3068"},line:{color:C.white,width:1}});
slide.addText([{text:"PAGE",options:{fontSize:5.5,bold:true,breakLine:true}},{text:"2",options:{fontSize:14,bold:true}}],
  {x:0.08,y:0.06,w:0.52,h:0.60,color:C.white,align:"center",valign:"middle",margin:0});
slide.addText("CARBOHYDRATE & LIPID METABOLISM — BOOTCAMP ATLAS",
  {x:0.68,y:0.04,w:10.4,h:0.32,fontSize:16,bold:true,color:C.white,align:"center",fontFace:"Arial Black",charSpacing:1,margin:0});
slide.addText("MASTER MAP  |  High Yield  •  Exam Focused  •  Concept Based  •  PYQ Driven",
  {x:0.68,y:0.36,w:10.4,h:0.20,fontSize:8,color:"B0C4FF",align:"center",margin:0});
slide.addText([
  {text:"★ Glycolysis  ",options:{color:C.yellow,bold:true}},
  {text:"TCA Cycle  ",options:{color:C.white}},
  {text:"Gluconeogenesis  ",options:{color:C.white}},
  {text:"Fatty Acid Synth  ",options:{color:C.white}},
  {text:"β-Oxidation  ",options:{color:C.white}},
  {text:"Cholesterol",options:{color:C.white}},
],{x:2,y:0.56,w:8,h:0.16,fontSize:7,align:"center",margin:0});
// Vision badge
slide.addShape(pres.ShapeType.rect,{x:11.82,y:0.05,w:1.40,h:0.62,fill:{color:"1A3068"},line:{color:C.yellow,width:1.5}});
slide.addText("VISION\nUnderstand\nOrganize\nScore 700+",
  {x:11.82,y:0.05,w:1.40,h:0.62,color:C.white,align:"center",valign:"middle",fontSize:6,bold:false,margin:0});

// ── SECTION A: CARBOHYDRATE METABOLISM (left 2/3) ───────────────────────────
const carbX=0.08, carbY=0.78, carbW=8.60, carbH=2.64;
slide.addShape(pres.ShapeType.rect,{x:carbX,y:carbY,w:carbW,h:0.26,fill:{color:C.carbHdr}});
slide.addText("🌿  CARBOHYDRATE METABOLISM — PATHWAYS AT A GLANCE",
  {x:carbX,y:carbY,w:carbW,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:carbX,y:carbY+0.26,w:carbW,h:carbH-0.26,fill:{color:C.carbBg}});

// Sub-boxes: Glycolysis | TCA | Gluconeo | Glycogen | HMP
const carbCols = [
  {
    title:"GLYCOLYSIS",color:C.carbHdr,x:carbX+0.08,w:1.65,
    items:[
      "Glucose → 2 Pyruvate",
      "Net: 2 ATP, 2 NADH",
      "10 steps (cytoplasm)",
      "Rate-limiting: PFK-1",
      "Activated by: AMP, F2,6-BP",
      "Inhibited by: ATP, citrate",
      "Anaerobic → Lactate",
      "Key enzyme: Hexokinase",
    ]
  },
  {
    title:"TCA CYCLE",color:"005662",x:carbX+1.82,w:1.65,
    items:[
      "Pyruvate → Acetyl-CoA",
      "1 turn: 3 NADH, 1 FADH₂",
      "1 GTP, 2 CO₂",
      "Rate-limiting: Isocitrate DH",
      "Activated by: ADP, Ca²⁺",
      "Inhibited by: NADH, ATP",
      "8 steps (mitochondria)",
      "Key: Oxaloacetate regenerated",
    ]
  },
  {
    title:"GLUCONEOGENESIS",color:C.green,x:carbX+3.56,w:1.70,
    items:[
      "Pyruvate → Glucose",
      "Occurs: liver, kidney cortex",
      "Substrates: lactate, AA, glycerol",
      "Rate-limiting: PEPCK",
      "Requires: 6 ATP equiv",
      "Bypasses 3 irreversible steps",
      "Activated by: glucagon, cortisol",
      "Inhibited by: insulin, F2,6-BP",
    ]
  },
  {
    title:"GLYCOGEN",color:"6A1B9A",x:carbX+5.36,w:1.60,
    items:[
      "Synthesis: UDP-glucose",
      "Rate-lim(synth): Glycogen synthase",
      "Rate-lim(break): Glycogen phosph.",
      "Liver: blood glucose control",
      "Muscle: local energy use",
      "McArdle: muscle phosphorylase↓",
      "Von Gierke: G6Pase↓",
      "Pompe: α-1,4-glucosidase↓",
    ]
  },
  {
    title:"HMP SHUNT",color:C.red,x:carbX+7.06,w:1.46,
    items:[
      "Glucose-6-P → Ribulose-5-P",
      "Produces: NADPH, Ribose-5-P",
      "No ATP produced",
      "Rate-lim: G6PD",
      "G6PD deficiency → hemolysis",
      "NADPH: GSH, fatty acid synth",
      "Ribose-5-P: nucleotide synth",
      "Location: cytoplasm",
    ]
  },
];

carbCols.forEach(col => {
  slide.addShape(pres.ShapeType.rect,{x:col.x,y:carbY+0.30,w:col.w,h:0.22,fill:{color:col.color}});
  slide.addText(col.title,{x:col.x,y:carbY+0.30,w:col.w,h:0.22,fontSize:6.5,bold:true,color:C.white,align:"center",margin:0});
  col.items.forEach((item,i)=>{
    slide.addText("• "+item,{x:col.x+0.04,y:carbY+0.56+i*0.255,w:col.w-0.06,h:0.25,fontSize:5.8,color:C.black,valign:"middle",margin:0});
  });
});

// ── SECTION B: LIPID METABOLISM (right 1/3) ─────────────────────────────────
const lipX=8.76, lipY=0.78, lipW=4.46, lipH=2.64;
slide.addShape(pres.ShapeType.rect,{x:lipX,y:lipY,w:lipW,h:0.26,fill:{color:C.lipidHdr}});
slide.addText("🧈  LIPID METABOLISM — KEY PATHWAYS",
  {x:lipX,y:lipY,w:lipW,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:lipX,y:lipY+0.26,w:lipW,h:lipH-0.26,fill:{color:C.lipidBg}});

// Fatty Acid Oxidation sub-box
slide.addShape(pres.ShapeType.rect,{x:lipX+0.08,y:lipY+0.32,w:2.10,h:0.20,fill:{color:C.orange}});
slide.addText("β-OXIDATION",{x:lipX+0.08,y:lipY+0.32,w:2.10,h:0.20,fontSize:6.5,bold:true,color:C.white,align:"center",margin:0});
const betaOx = [
  "FA + CoA → Acyl-CoA (outer mito)",
  "CPT-I: rate-lim (outer membrane)",
  "CPT-II: inner membrane",
  "Each cycle: 1FADH₂,1NADH,1AcCoA",
  "Palmitate(16C): 7 cycles, 106 ATP",
  "Inhibited by: malonyl-CoA",
  "Odd-chain FA → propionyl-CoA",
  "Requires: carnitine shuttle",
];
betaOx.forEach((item,i)=>{
  slide.addText("• "+item,{x:lipX+0.10,y:lipY+0.55+i*0.245,w:2.06,h:0.24,fontSize:5.5,color:C.black,valign:"middle",margin:0});
});

// Fatty Acid Synthesis sub-box
slide.addShape(pres.ShapeType.rect,{x:lipX+2.28,y:lipY+0.32,w:2.10,h:0.20,fill:{color:C.blue}});
slide.addText("FA SYNTHESIS",{x:lipX+2.28,y:lipY+0.32,w:2.10,h:0.20,fontSize:6.5,bold:true,color:C.white,align:"center",margin:0});
const fasynth = [
  "Acetyl-CoA → Palmitate (16C)",
  "Rate-lim: Acetyl-CoA Carboxylase",
  "Activated by: insulin, citrate",
  "Inhibited by: glucagon, palmitoyl-CoA",
  "Requires: NADPH (from HMP shunt)",
  "Malonyl-CoA: 2C addition unit",
  "FAS complex (cytoplasm)",
  "Biotin cofactor for ACC",
];
fasynth.forEach((item,i)=>{
  slide.addText("• "+item,{x:lipX+2.30,y:lipY+0.55+i*0.245,w:2.06,h:0.24,fontSize:5.5,color:C.black,valign:"middle",margin:0});
});

// ── TIER 2: THREE REFERENCE PANELS ──────────────────────────────────────────
const t2Y=3.50, t2H=1.78, colW3=4.28;

// --- GOLD STANDARDS ---
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y,w:colW3,h:0.26,fill:{color:C.tealDark}});
slide.addText("⚡ GOLD STANDARDS",{x:0.08,y:t2Y,w:colW3,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.tealLight}});
const goldCarb=[
  ["Glycolysis rate-limiter","PFK-1 (Phosphofructokinase-1)"],
  ["TCA rate-limiter","Isocitrate dehydrogenase"],
  ["Gluconeogenesis rate-limiter","PEPCK"],
  ["Glycogen synthesis rate-limiter","Glycogen synthase"],
  ["HMP shunt rate-limiter","Glucose-6-phosphate dehydrogenase"],
  ["FA synthesis rate-limiter","Acetyl-CoA carboxylase (ACC)"],
  ["β-oxidation gatekeeper","Carnitine Palmitoyl Transferase-I"],
  ["Cholesterol synthesis rate-lim","HMG-CoA reductase"],
];
goldCarb.forEach((g,i)=>{
  slide.addText([
    {text:"✔ ",options:{color:C.green,bold:true,fontSize:6.5}},
    {text:g[0]+"  ",options:{bold:true,color:C.black,fontSize:6}},
    {text:g[1],options:{color:"005662",fontSize:6}},
  ],{x:0.14,y:t2Y+0.30+i*0.185,w:colW3-0.12,h:0.185,margin:0});
});

// --- KEY PRINCIPLES MNEMONIC ---
const kpX=4.50;
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y,w:colW3,h:0.26,fill:{color:C.orange}});
slide.addText("🔑 KEY PRINCIPLES  (GLUCOLIPID Mnemonic)",{x:kpX,y:t2Y,w:colW3,h:0.26,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.orangeLight}});
const mnemo=[
  ["G","1565C0","Glycolysis uses PFK-1 as gatekeeper"],
  ["L","880E4F","Liver does gluconeogenesis, not muscle"],
  ["U","E65100","UDP-glucose for glycogen synthesis"],
  ["C","005662","CPT-I is β-oxidation rate-limiter"],
  ["O","1B5E20","Odd-chain FA → propionyl-CoA → succinate"],
  ["L","4A148C","Lipogenesis needs NADPH from HMP shunt"],
  ["I","C62828","Insulin activates glycolysis + lipogenesis"],
  ["P","0D4B20","Pyruvate carboxylase: gluconeogenesis start"],
  ["I","00695C","Isocitrate DH: TCA rate-limiting step"],
  ["D","1A3068","De novo FA synthesis in cytoplasm (liver)"],
];
mnemo.forEach((m,i)=>{
  const col=i<5?kpX+0.10:kpX+2.18, row=i<5?i:i-5;
  slide.addShape(pres.ShapeType.rect,{x:col,y:t2Y+0.32+row*0.29,w:0.20,h:0.20,fill:{color:m[1]}});
  slide.addText(m[0],{x:col,y:t2Y+0.32+row*0.29,w:0.20,h:0.20,fontSize:8,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(m[2],{x:col+0.23,y:t2Y+0.32+row*0.29,w:1.88,h:0.22,fontSize:5.8,color:C.black,valign:"middle",margin:0});
});

// --- HIGH YIELD FACT FILE ---
const hyX=8.92;
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y,w:4.30,h:0.26,fill:{color:C.purple}});
slide.addText("★ HIGH YIELD FACT FILE",{x:hyX,y:t2Y,w:4.30,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y+0.26,w:4.30,h:t2H-0.26,fill:{color:C.purpleLight}});
const hyfacts=[
  "Net ATP from 1 glucose (aerobic): 30–32 ATP",
  "Glucose → Lactate (anaerobic): only 2 ATP",
  "Palmitate β-oxidation: 106 ATP total",
  "G6PD deficiency: Heinz bodies, hemolytic anemia",
  "Von Gierke disease: G6Pase deficiency, hypoglycemia",
  "McArdle disease: muscle phosphorylase deficiency",
  "Pompe disease: lysosomal α-1,4-glucosidase",
  "Lactate → glucose (Cori cycle): liver only",
  "Acetyl-CoA cannot form glucose (no net gluconeogenesis)",
];
hyfacts.forEach((f,i)=>{
  slide.addText([
    {text:"★ ",options:{color:C.purple,bold:true,fontSize:7}},
    {text:f,options:{color:C.black,fontSize:6}},
  ],{x:hyX+0.08,y:t2Y+0.30+i*0.165,w:4.18,h:0.165,margin:0});
});

// ── TIER 3: DEFINITIONS | ABBREVIATIONS | EXAM APPROACH ─────────────────────
const t3Y=5.35, t3H=1.62;
// Defs
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y,w:4.10,h:0.24,fill:{color:C.blue}});
slide.addText("IMPORTANT DEFINITIONS",{x:0.08,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.blueLight}});
const defs=[
  "• Substrate-level phosphorylation: ATP made directly from substrate",
  "• Oxidative phosphorylation: ATP via electron transport chain",
  "• Amphibolic pathway: TCA cycle (both anabolic & catabolic)",
  "• Ketone bodies: Acetoacetate, β-hydroxybutyrate, acetone",
  "• Lipogenesis: De novo fatty acid synthesis (liver, adipose)",
  "• Lipolysis: FA release from triglycerides by HSL",
  "• Cori cycle: Lactate → liver → glucose recycling",
  "• RQ = 1 (carbs), 0.7 (fats), 0.8 (proteins)",
];
defs.forEach((d,i)=>{
  slide.addText(d,{x:0.14,y:t3Y+0.28+i*0.170,w:3.98,h:0.170,fontSize:5.9,color:C.black,margin:0});
});

// Abbreviations
const abX=4.28;
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y,w:4.74,h:0.24,fill:{color:C.tealDark}});
slide.addText("ABBREVIATIONS  (Must Know)",{x:abX,y:t3Y,w:4.74,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y+0.24,w:4.74,h:t3H-0.24,fill:{color:C.tealLight}});
const abbrevs=[
  ["PFK-1","Phosphofructokinase-1","PEPCK","Phosphoenolpyruvate carboxykinase"],
  ["PDH","Pyruvate Dehydrogenase","G6PD","Glucose-6-phosphate dehydrogenase"],
  ["TCA","Tricarboxylic Acid Cycle","HMP","Hexose Monophosphate Shunt"],
  ["CPT-I","Carnitine Palmitoyl Transf.","ACC","Acetyl-CoA Carboxylase"],
  ["FAS","Fatty Acid Synthase","HSL","Hormone-Sensitive Lipase"],
  ["VLDL","Very Low Density Lipoprotein","LDL","Low Density Lipoprotein"],
  ["HDL","High Density Lipoprotein","TG","Triglycerides"],
];
abbrevs.forEach((a,i)=>{
  slide.addText([
    {text:a[0]+" ",options:{bold:true,color:"005662",fontSize:6}},
    {text:"– "+a[1]+"    ",options:{color:C.black,fontSize:5.5}},
    {text:a[2]+" ",options:{bold:true,color:"005662",fontSize:6}},
    {text:"– "+a[3],options:{color:C.black,fontSize:5.5}},
  ],{x:abX+0.10,y:t3Y+0.28+i*0.19,w:4.54,h:0.19,margin:0});
});

// Exam Approach
const eaX=9.10;
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y,w:4.10,h:0.24,fill:{color:C.pink}});
slide.addText("EXAM APPROACH",{x:eaX,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.pinkLight}});
const steps=[
  "Identify: which pathway? (glycolysis/TCA/GNG…)",
  "Find the rate-limiting enzyme",
  "Think: fed state OR fasting state?",
  "Which hormone is active? (Insulin/Glucagon)",
  "Map to IEM if deficiency is mentioned",
  "Calculate ATP yield if numbers asked",
];
steps.forEach((s,i)=>{
  slide.addShape(pres.ShapeType.ellipse,{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fill:{color:C.pink}});
  slide.addText(String(i+1),{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fontSize:7,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(s,{x:eaX+0.35,y:t3Y+0.30+i*0.22,w:3.75,h:0.20,fontSize:6.2,color:C.black,valign:"middle",margin:0});
});

// ── FOOTER ───────────────────────────────────────────────────────────────────
const ftY=7.00, ftH=0.36, ftW=3.18;
slide.addShape(pres.ShapeType.rect,{x:0.08,y:ftY,w:ftW,h:ftH,fill:{color:"FFF8E1"},line:{color:C.orange,width:1.2}});
slide.addText([
  {text:"💡 PYQ PEARL  ",options:{bold:true,fontSize:7,color:C.orange}},
  {text:"Most asked: ATP yield, rate-limiting enzymes, IEMs (Von Gierke, McArdle, Pompe, G6PD def.)",options:{fontSize:6,color:C.black}},
],{x:0.12,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:3.38,y:ftY,w:ftW,h:ftH,fill:{color:"E8EAF6"},line:{color:"3F51B5",width:1.2}});
slide.addText([
  {text:"★ INI-CET PEARL  ",options:{bold:true,fontSize:7,color:"3F51B5"}},
  {text:"Fed state: glycolysis+lipogenesis active. Fasting: gluconeogenesis+β-oxidation active.",options:{fontSize:6,color:C.black}},
],{x:3.42,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:6.68,y:ftY,w:ftW,h:ftH,fill:{color:"FFEBEE"},line:{color:C.red,width:1.2}});
slide.addText([
  {text:"⚠ EXAM TRAP  ",options:{bold:true,fontSize:7,color:C.red}},
  {text:"Acetyl-CoA cannot produce net glucose. Odd-chain FA → propionyl-CoA → gluconeogenic. Don't confuse sites.",options:{fontSize:6,color:C.black}},
],{x:6.72,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:9.98,y:ftY,w:3.24,h:ftH,fill:{color:"FCE4EC"},line:{color:C.pink,width:1.2}});
slide.addText("🧠 QUICK REVISION\nRevise → Recall → Apply → REPEAT!",
  {x:10.02,y:ftY+0.01,w:3.18,h:ftH-0.02,color:C.navyDark,align:"center",valign:"middle",fontSize:7,bold:true,margin:0});
// Bottom banner
slide.addShape(pres.ShapeType.rect,{x:0,y:7.36,w:13.3,h:0.14,fill:{color:C.navyDark}});
slide.addText("★  CONSISTENT STUDY  +  SMART REVISION  +  PYQ PRACTICE  =  700+ IS POSSIBLE  ★",
  {x:0,y:7.36,w:13.3,h:0.14,fontSize:6.8,bold:true,color:C.yellow,align:"center",charSpacing:1,margin:0});

pres.writeFile({fileName:"/home/daytona/workspace/biochem-atlas/Biochemistry_Atlas_Page2_CarbLipid.pptx"})
  .then(()=>console.log("✅ Page 2 done"))
  .catch(e=>console.error("ERROR:",e));
Writing File

~/biochem-atlas/build_page3.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";

const C = {
  navyDark:"0D1B4B", teal:"007B83", tealDark:"005662", tealLight:"E0F4F5",
  orange:"C85A00", orangeLight:"FFF3E0", green:"1B6B2F",
  purple:"5C2D91", purpleLight:"F3E8FB",
  blue:"1565C0", blueLight:"E3EAF8",
  red:"B71C1C", redLight:"FFEBEE",
  enzGold:"8B6914", enzGoldLight:"FFFDE7",
  enzPurp:"4A148C", enzPurpLight:"EDE7F6",
  white:"FFFFFF", black:"1A1A1A", yellow:"FFD600",
  pink:"D81B60", pinkLight:"FCE4EC",
};

const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:7.5,fill:{color:C.white}});

// HEADER
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:0.72,fill:{color:C.navyDark}});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:0.06,w:0.52,h:0.60,fill:{color:"1A3068"},line:{color:C.white,width:1}});
slide.addText([{text:"PAGE",options:{fontSize:5.5,bold:true,breakLine:true}},{text:"3",options:{fontSize:14,bold:true}}],
  {x:0.08,y:0.06,w:0.52,h:0.60,color:C.white,align:"center",valign:"middle",margin:0});
slide.addText("ENZYMES — BOOTCAMP ATLAS",
  {x:0.68,y:0.04,w:10.4,h:0.32,fontSize:18,bold:true,color:C.white,align:"center",fontFace:"Arial Black",charSpacing:1,margin:0});
slide.addText("Kinetics  •  Inhibition  •  Regulation  •  Clinical Enzymology  •  High Yield PYQ",
  {x:0.68,y:0.36,w:10.4,h:0.20,fontSize:8.5,color:"B0C4FF",align:"center",margin:0});
slide.addText([
  {text:"★ Km & Vmax  ",options:{color:C.yellow,bold:true}},
  {text:"Michaelis-Menten  ",options:{color:C.white}},
  {text:"Inhibition Types  ",options:{color:C.white}},
  {text:"Allosteric Enzymes  ",options:{color:C.white}},
  {text:"Isoenzymes  ",options:{color:C.white}},
  {text:"Clinical Markers",options:{color:C.white}},
],{x:2,y:0.56,w:8,h:0.16,fontSize:7,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:11.82,y:0.05,w:1.40,h:0.62,fill:{color:"1A3068"},line:{color:C.yellow,width:1.5}});
slide.addText("VISION\nUnderstand\nOrganize\nScore 700+",{x:11.82,y:0.05,w:1.40,h:0.62,color:C.white,align:"center",valign:"middle",fontSize:6,margin:0});

// ── CORE ENZYME CONCEPTS (top row, 5 panels) ─────────────────────────────────
const topY=0.78, topH=2.60;
const panels5=[
  {
    title:"ENZYME BASICS",color:C.tealDark,bg:C.tealLight,x:0.08,w:2.48,
    items:[
      "Biological catalysts (protein/RNA)",
      "Lower activation energy (Ea)",
      "NOT consumed in reaction",
      "Specific: lock & key / induced fit",
      "Active site: substrate binding",
      "Apoenzyme = inactive (no cofactor)",
      "Holoenzyme = active (+ cofactor)",
      "Cofactors: metal ions or coenzymes",
      "Prosthetic group: tightly bound",
      "Coenzyme: loosely bound (vitamins)",
    ]
  },
  {
    title:"MICHAELIS-MENTEN KINETICS",color:C.enzGold,bg:C.enzGoldLight,x:2.66,w:2.60,
    items:[
      "v = Vmax[S] / (Km + [S])",
      "Km = [S] at ½ Vmax",
      "Low Km = HIGH affinity",
      "High Km = LOW affinity",
      "Vmax ∝ enzyme concentration",
      "Lineweaver-Burk: double reciprocal",
      "x-intercept = –1/Km",
      "y-intercept = 1/Vmax",
      "Eadie-Hofstee: v vs v/[S]",
      "Hexokinase (low Km) vs Glucokinase (high Km)",
    ]
  },
  {
    title:"ENZYME INHIBITION",color:C.red,bg:C.redLight,x:5.36,w:2.60,
    items:[
      "COMPETITIVE: same active site",
      "  → Km↑, Vmax unchanged",
      "  → Lineweaver: same y-intercept",
      "  → Overcome by ↑[S]",
      "NON-COMPETITIVE: allosteric site",
      "  → Km unchanged, Vmax↓",
      "  → Lineweaver: same x-intercept",
      "UNCOMPETITIVE: binds ES complex",
      "  → Both Km↓ and Vmax↓",
      "IRREVERSIBLE: covalent bond (e.g. aspirin→COX)",
    ]
  },
  {
    title:"ALLOSTERIC REGULATION",color:C.enzPurp,bg:C.enzPurpLight,x:8.06,w:2.60,
    items:[
      "Cooperative binding (sigmoidal curve)",
      "Allosteric activators: ↑affinity",
      "Allosteric inhibitors: ↓affinity",
      "Homotropic: same molecule modulates",
      "Heterotropic: different molecule",
      "Hill coefficient (n)>1 = cooperativity",
      "Feedback inhibition: end-product inhibits",
      "Feed-forward activation: substrate activates",
      "Examples: ATCase, PFK-1, pyruvate kinase",
      "Covalent modification: phosphorylation",
    ]
  },
  {
    title:"ISOENZYMES",color:C.blue,bg:C.blueLight,x:10.76,w:2.46,
    items:[
      "Same reaction, different forms",
      "LDH: 5 isoforms (H4, H3M, H2M2, HM3, M4)",
      "LDH-1 (H4): heart, RBC",
      "LDH-5 (M4): liver, skeletal muscle",
      "CK isoforms: CK-MM (muscle)",
      "CK-MB: heart (MI marker)",
      "CK-BB: brain",
      "ALT: liver specific",
      "ALP: bone, liver, placenta",
      "Acid phosphatase: prostate",
    ]
  },
];
panels5.forEach(p=>{
  slide.addShape(pres.ShapeType.rect,{x:p.x,y:topY,w:p.w,h:0.26,fill:{color:p.color}});
  slide.addText(p.title,{x:p.x,y:topY,w:p.w,h:0.26,fontSize:6.8,bold:true,color:C.white,align:"center",margin:0});
  slide.addShape(pres.ShapeType.rect,{x:p.x,y:topY+0.26,w:p.w,h:topH-0.26,fill:{color:p.bg}});
  p.items.forEach((item,i)=>{
    const isBold=item.startsWith("NON-")||item.startsWith("COMP")||item.startsWith("UNCO")||item.startsWith("IRREV");
    slide.addText((item.startsWith("  ")?"":("• "))+item,{x:p.x+0.06,y:topY+0.30+i*0.234,w:p.w-0.10,h:0.23,fontSize:5.7,
      bold:isBold,color:isBold?p.color:C.black,valign:"middle",margin:0});
  });
});

// ── TIER 2 ─────────────────────────────────────────────────────────────────
const t2Y=3.46, t2H=1.80, colW3=4.28;

// Gold Standards
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y,w:colW3,h:0.26,fill:{color:C.tealDark}});
slide.addText("⚡ GOLD STANDARDS",{x:0.08,y:t2Y,w:colW3,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.tealLight}});
const gs=[
  ["Confirm MI","Troponin I/T (gold) > CK-MB"],
  ["Liver damage","ALT (most specific for hepatocytes)"],
  ["Muscle disease","CK-MM / Aldolase"],
  ["Prostate cancer","PSA (Acid phosphatase old gold)"],
  ["Pancreatic disease","Lipase (>amylase for pancreatitis)"],
  ["Bone disease","ALP (bone-specific isoenzyme)"],
  ["Hemolysis","LDH-1 > LDH-2 flip"],
  ["Competitive inhibition","Km↑, Vmax unchanged"],
  ["Non-competitive inhibit.","Km unchanged, Vmax↓"],
];
gs.forEach((g,i)=>{
  slide.addText([
    {text:"✔ ",options:{color:C.green,bold:true,fontSize:6.5}},
    {text:g[0]+"  ",options:{bold:true,color:C.black,fontSize:6}},
    {text:g[1],options:{color:"005662",fontSize:6}},
  ],{x:0.14,y:t2Y+0.30+i*0.170,w:colW3-0.12,h:0.170,margin:0});
});

// Key Principles
const kpX=4.50;
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y,w:colW3,h:0.26,fill:{color:C.orange}});
slide.addText("🔑 KEY PRINCIPLES  (ENZYME Mnemonic)",{x:kpX,y:t2Y,w:colW3,h:0.26,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.orangeLight}});
const enz=[
  ["E","1565C0","Every enzyme has a specific active site"],
  ["N","880E4F","Non-competitive: Vmax↓, Km same"],
  ["Z","E65100","Zero-order: rate independent of [S] (saturation)"],
  ["Y","005662","Zymogens: inactive precursors (pepsinogen→pepsin)"],
  ["M","1B5E20","Michaelis-Menten: v = Vmax[S]/(Km+[S])"],
  ["E","4A148C","Enzyme activity: pH, temp, [S] dependent"],
];
enz.forEach((m,i)=>{
  slide.addShape(pres.ShapeType.rect,{x:kpX+0.14,y:t2Y+0.34+i*0.24,w:0.20,h:0.20,fill:{color:m[1]}});
  slide.addText(m[0],{x:kpX+0.14,y:t2Y+0.34+i*0.24,w:0.20,h:0.20,fontSize:8,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(m[2],{x:kpX+0.38,y:t2Y+0.34+i*0.24,w:3.68,h:0.22,fontSize:6.5,color:C.black,valign:"middle",margin:0});
});

// High Yield
const hyX=8.92;
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y,w:4.30,h:0.26,fill:{color:C.purple}});
slide.addText("★ HIGH YIELD FACT FILE",{x:hyX,y:t2Y,w:4.30,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y+0.26,w:4.30,h:t2H-0.26,fill:{color:C.purpleLight}});
const hy=[
  "LDH-1>LDH-2 flip = MI (flip pattern)",
  "Aspirin irreversibly inhibits COX (acetylates)",
  "Glucokinase: high Km, not saturated at normal glucose",
  "Hexokinase: low Km, saturated at normal glucose",
  "Km does NOT change with enzyme concentration",
  "Vmax DOES change with enzyme concentration",
  "ACE inhibitors: competitive inhibitors of ACE",
  "Methotrexate: competitive inhibitor of DHFR",
  "Cyanide: irreversible inhibitor of Cytochrome C oxidase",
];
hy.forEach((f,i)=>{
  slide.addText([
    {text:"★ ",options:{color:C.purple,bold:true,fontSize:7}},
    {text:f,options:{color:C.black,fontSize:6}},
  ],{x:hyX+0.08,y:t2Y+0.30+i*0.172,w:4.18,h:0.172,margin:0});
});

// ── TIER 3 ────────────────────────────────────────────────────────────────────
const t3Y=5.34, t3H=1.62;
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y,w:4.10,h:0.24,fill:{color:C.blue}});
slide.addText("IMPORTANT DEFINITIONS",{x:0.08,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.blueLight}});
const defs3=[
  "• Km: [S] at half-maximal velocity (affinity measure)",
  "• Vmax: Maximum reaction velocity (all enzyme saturated)",
  "• Turnover number (kcat): reactions/enzyme/second",
  "• Competitive inhibition: same active site as substrate",
  "• Non-competitive inhibition: allosteric site binding",
  "• Zymogen: inactive enzyme precursor",
  "• Prosthetic group: tightly bound non-protein cofactor",
  "• Hill coefficient >1: positive cooperativity",
];
defs3.forEach((d,i)=>{
  slide.addText(d,{x:0.14,y:t3Y+0.28+i*0.170,w:3.98,h:0.170,fontSize:5.9,color:C.black,margin:0});
});

const abX=4.28;
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y,w:4.74,h:0.24,fill:{color:C.tealDark}});
slide.addText("ABBREVIATIONS  (Must Know)",{x:abX,y:t3Y,w:4.74,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y+0.24,w:4.74,h:t3H-0.24,fill:{color:C.tealLight}});
const ab3=[
  ["Km","Michaelis Constant","Vmax","Maximum Velocity"],
  ["CK","Creatine Kinase","LDH","Lactate Dehydrogenase"],
  ["ALT","Alanine Transaminase","AST","Aspartate Transaminase"],
  ["ALP","Alkaline Phosphatase","GGT","Gamma-Glutamyl Transferase"],
  ["PSA","Prostate-Specific Antigen","COX","Cyclooxygenase"],
  ["DHFR","Dihydrofolate Reductase","ACE","Angiotensin Converting Enz."],
  ["PDH","Pyruvate Dehydrogenase","kcat","Catalytic Turnover Number"],
];
ab3.forEach((a,i)=>{
  slide.addText([
    {text:a[0]+" ",options:{bold:true,color:"005662",fontSize:6}},
    {text:"– "+a[1]+"    ",options:{color:C.black,fontSize:5.5}},
    {text:a[2]+" ",options:{bold:true,color:"005662",fontSize:6}},
    {text:"– "+a[3],options:{color:C.black,fontSize:5.5}},
  ],{x:abX+0.10,y:t3Y+0.28+i*0.19,w:4.54,h:0.19,margin:0});
});

const eaX=9.10;
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y,w:4.10,h:0.24,fill:{color:C.pink}});
slide.addText("EXAM APPROACH",{x:eaX,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.pinkLight}});
const ea3=[
  "Identify: what changes? Km? Vmax? Both?",
  "Plot on Lineweaver-Burk mentally",
  "Competitive: same y-intercept (Vmax same)",
  "Non-competitive: same x-intercept (Km same)",
  "Map inhibitor to clinical drug if mentioned",
  "IEM: which enzyme is missing → which substrate accumulates?",
];
ea3.forEach((s,i)=>{
  slide.addShape(pres.ShapeType.ellipse,{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fill:{color:C.pink}});
  slide.addText(String(i+1),{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fontSize:7,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(s,{x:eaX+0.35,y:t3Y+0.30+i*0.22,w:3.75,h:0.20,fontSize:6.2,color:C.black,valign:"middle",margin:0});
});

// Footer
const ftY=7.00, ftH=0.36, ftW=3.18;
slide.addShape(pres.ShapeType.rect,{x:0.08,y:ftY,w:ftW,h:ftH,fill:{color:"FFF8E1"},line:{color:C.orange,width:1.2}});
slide.addText([
  {text:"💡 PYQ PEARL  ",options:{bold:true,fontSize:7,color:C.orange}},
  {text:"Km/Vmax change patterns = most tested. LDH flip, CK-MB, competitive vs non-competitive drug inhibitors.",options:{fontSize:6,color:C.black}},
],{x:0.12,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:3.38,y:ftY,w:ftW,h:ftH,fill:{color:"E8EAF6"},line:{color:"3F51B5",width:1.2}});
slide.addText([
  {text:"★ INI-CET PEARL  ",options:{bold:true,fontSize:7,color:"3F51B5"}},
  {text:"Drug mechanisms via enzyme inhibition. Methotrexate (DHFR), Aspirin (COX), Statins (HMG-CoA reductase).",options:{fontSize:6,color:C.black}},
],{x:3.42,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:6.68,y:ftY,w:ftW,h:ftH,fill:{color:"FFEBEE"},line:{color:C.red,width:1.2}});
slide.addText([
  {text:"⚠ EXAM TRAP  ",options:{bold:true,fontSize:7,color:C.red}},
  {text:"Km↑ = lower affinity (opposite!). Uncompetitive inhibition DECREASES both Km AND Vmax — rare trap.",options:{fontSize:6,color:C.black}},
],{x:6.72,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:9.98,y:ftY,w:3.24,h:ftH,fill:{color:"FCE4EC"},line:{color:C.pink,width:1.2}});
slide.addText("🧠 QUICK REVISION\nRevise → Recall → Apply → REPEAT!",
  {x:10.02,y:ftY+0.01,w:3.18,h:ftH-0.02,color:C.navyDark,align:"center",valign:"middle",fontSize:7,bold:true,margin:0});
slide.addShape(pres.ShapeType.rect,{x:0,y:7.36,w:13.3,h:0.14,fill:{color:C.navyDark}});
slide.addText("★  CONSISTENT STUDY  +  SMART REVISION  +  PYQ PRACTICE  =  700+ IS POSSIBLE  ★",
  {x:0,y:7.36,w:13.3,h:0.14,fontSize:6.8,bold:true,color:C.yellow,align:"center",charSpacing:1,margin:0});

pres.writeFile({fileName:"/home/daytona/workspace/biochem-atlas/Biochemistry_Atlas_Page3_Enzymes.pptx"})
  .then(()=>console.log("✅ Page 3 done"))
  .catch(e=>console.error("ERROR:",e));
Writing File

~/biochem-atlas/build_page4.js

const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_WIDE";

const C = {
  navyDark:"0D1B4B", teal:"007B83", tealDark:"005662", tealLight:"E0F4F5",
  orange:"C85A00", orangeLight:"FFF3E0", green:"1B6B2F",
  purple:"5C2D91", purpleLight:"F3E8FB",
  blue:"1565C0", blueLight:"E3EAF8",
  red:"B71C1C", redLight:"FFEBEE",
  molGreen:"1B5E20", molGreenLight:"E8F5E9",
  molTeal:"006064", molTealLight:"E0F7FA",
  molPurp:"4A0072", molPurpLight:"F3E5F5",
  molBrown:"4E342E", molBrownLight:"EFEBE9",
  molBlue:"0D47A1", molBlueLight:"E3F2FD",
  white:"FFFFFF", black:"1A1A1A", yellow:"FFD600",
  pink:"D81B60", pinkLight:"FCE4EC",
};

const slide = pres.addSlide();
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:7.5,fill:{color:C.white}});

// HEADER
slide.addShape(pres.ShapeType.rect,{x:0,y:0,w:13.3,h:0.72,fill:{color:C.navyDark}});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:0.06,w:0.52,h:0.60,fill:{color:"1A3068"},line:{color:C.white,width:1}});
slide.addText([{text:"PAGE",options:{fontSize:5.5,bold:true,breakLine:true}},{text:"4",options:{fontSize:14,bold:true}}],
  {x:0.08,y:0.06,w:0.52,h:0.60,color:C.white,align:"center",valign:"middle",margin:0});
slide.addText("MOLECULAR BIOLOGY — BOOTCAMP ATLAS",
  {x:0.68,y:0.04,w:10.4,h:0.32,fontSize:17,bold:true,color:C.white,align:"center",fontFace:"Arial Black",charSpacing:1,margin:0});
slide.addText("DNA  •  RNA  •  Replication  •  Transcription  •  Translation  •  Mutations  •  Genetics",
  {x:0.68,y:0.36,w:10.4,h:0.20,fontSize:8.5,color:"B0C4FF",align:"center",margin:0});
slide.addText([
  {text:"★ Central Dogma  ",options:{color:C.yellow,bold:true}},
  {text:"DNA Replication  ",options:{color:C.white}},
  {text:"Gene Expression  ",options:{color:C.white}},
  {text:"Mutations & IEMs  ",options:{color:C.white}},
  {text:"Recombinant DNA  ",options:{color:C.white}},
],{x:2,y:0.56,w:8,h:0.16,fontSize:7,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:11.82,y:0.05,w:1.40,h:0.62,fill:{color:"1A3068"},line:{color:C.yellow,width:1.5}});
slide.addText("VISION\nUnderstand\nOrganize\nScore 700+",{x:11.82,y:0.05,w:1.40,h:0.62,color:C.white,align:"center",valign:"middle",fontSize:6,margin:0});

// ── 5 CONTENT PANELS ─────────────────────────────────────────────────────────
const topY=0.78, topH=2.64;
const panels=[
  {
    title:"DNA STRUCTURE & REPLICATION",color:C.molGreen,bg:C.molGreenLight,x:0.08,w:2.52,
    items:[
      "Double helix: antiparallel strands",
      "A=T (2 H-bonds), G≡C (3 H-bonds)",
      "Major groove: protein binding",
      "Chargaff's rule: %A=%T, %G=%C",
      "Replication: semi-conservative",
      "Origin: ORC (ori) — multiple in eukaryotes",
      "DNA pol III: main replicative polymerase",
      "DNA pol I: removes RNA primer",
      "Helicase: unwinds dsDNA",
      "Primase: makes RNA primer",
      "SSB proteins: stabilize ssDNA",
      "Ligase: seals Okazaki fragments",
    ]
  },
  {
    title:"TRANSCRIPTION & RNA",color:C.molTeal,bg:C.molTealLight,x:2.70,w:2.56,
    items:[
      "DNA → RNA (nucleus)",
      "Template strand: 3'→5' read",
      "mRNA synthesized: 5'→3'",
      "RNA pol II: mRNA (eukaryotes)",
      "RNA pol I: rRNA (18S, 28S, 5.8S)",
      "RNA pol III: tRNA, 5S rRNA",
      "Prokaryotes: σ factor initiates",
      "Promoter: TATA box (-25), -35",
      "5' cap (7-methyl G): mRNA stability",
      "3' poly-A tail: stability, export",
      "Splicing: snRNPs remove introns",
      "Exons expressed; introns intervening",
    ]
  },
  {
    title:"TRANSLATION & GENETIC CODE",color:C.molPurp,bg:C.molPurpLight,x:5.36,w:2.56,
    items:[
      "mRNA → Protein (ribosome)",
      "Codon = 3 nucleotides → 1 amino acid",
      "64 codons, 20 amino acids (degenerate)",
      "Start codon: AUG (Met, formyl-Met)",
      "Stop codons: UAA, UAG, UGA",
      "tRNA: anticodon matches codon",
      "Aminoacyl-tRNA synthetase: charges tRNA",
      "Ribosome: 80S (euk), 70S (prok)",
      "A site: aminoacyl-tRNA entry",
      "P site: peptidyl-tRNA",
      "E site: exit (empty tRNA leaves)",
      "Polyribosome: multiple ribosomes on mRNA",
    ]
  },
  {
    title:"MUTATIONS & REPAIR",color:C.molBrown,bg:C.molBrownLight,x:8.02,w:2.58,
    items:[
      "Silent: same AA (synonymous)",
      "Missense: different AA (non-synonymous)",
      "Nonsense: premature STOP codon",
      "Frameshift: insertion/deletion (≠3)",
      "Transition: purine↔purine, pyrimidine↔py",
      "Transversion: purine↔pyrimidine",
      "Xeroderma pigmentosum: NER defect",
      "Cockayne syndrome: TCR-NER defect",
      "HNPCC: MMR (mismatch repair) defect",
      "BRCA1/2: HR repair defect",
      "Triplet repeat expansion: Huntington, Fragile X",
      "Point mutation: sickle cell (Glu→Val)",
    ]
  },
  {
    title:"RECOMBINANT DNA & TECHNIQUES",color:C.molBlue,bg:C.molBlueLight,x:10.70,w:2.52,
    items:[
      "PCR: amplify DNA (thermocycler)",
      "Restriction enzymes: cut at palindromes",
      "Southern blot: DNA detection",
      "Northern blot: RNA detection",
      "Western blot: protein detection",
      "ELISA: antigen-antibody (protein)",
      "Sanger sequencing: chain termination",
      "NGS: next-gen (massively parallel)",
      "CRISPR-Cas9: gene editing",
      "In situ hybridization: FISH (chromosomes)",
      "Microarray: gene expression profiling",
      "Karyotype: chromosomal analysis",
    ]
  },
];
panels.forEach(p=>{
  slide.addShape(pres.ShapeType.rect,{x:p.x,y:topY,w:p.w,h:0.26,fill:{color:p.color}});
  slide.addText(p.title,{x:p.x,y:topY,w:p.w,h:0.26,fontSize:6.5,bold:true,color:C.white,align:"center",margin:0});
  slide.addShape(pres.ShapeType.rect,{x:p.x,y:topY+0.26,w:p.w,h:topH-0.26,fill:{color:p.bg}});
  p.items.forEach((item,i)=>{
    slide.addText("• "+item,{x:p.x+0.06,y:topY+0.30+i*0.200,w:p.w-0.10,h:0.195,fontSize:5.6,color:C.black,valign:"middle",margin:0});
  });
});

// ── TIER 2 ────────────────────────────────────────────────────────────────────
const t2Y=3.50, t2H=1.78, colW3=4.28;

// Gold Standards
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y,w:colW3,h:0.26,fill:{color:C.tealDark}});
slide.addText("⚡ GOLD STANDARDS",{x:0.08,y:t2Y,w:colW3,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.tealLight}});
const gs4=[
  ["DNA amplification","PCR (Polymerase Chain Reaction)"],
  ["DNA sequencing","Sanger / Next-Gen Sequencing"],
  ["Chromosome analysis","Karyotyping / FISH"],
  ["Gene expression","Northern blot / RT-PCR"],
  ["Protein identification","Western blot (immunoblot)"],
  ["Detect specific DNA","Southern blot"],
  ["Genetic mutation screen","PCR + restriction digest"],
  ["Prenatal diagnosis","Amniocentesis / CVS + PCR"],
  ["Gene editing","CRISPR-Cas9"],
];
gs4.forEach((g,i)=>{
  slide.addText([
    {text:"✔ ",options:{color:C.green,bold:true,fontSize:6.5}},
    {text:g[0]+"  ",options:{bold:true,color:C.black,fontSize:6}},
    {text:g[1],options:{color:"005662",fontSize:6}},
  ],{x:0.14,y:t2Y+0.30+i*0.170,w:colW3-0.12,h:0.170,margin:0});
});

// Key Principles
const kpX=4.50;
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y,w:colW3,h:0.26,fill:{color:C.orange}});
slide.addText("🔑 KEY PRINCIPLES  (DOGMA Mnemonic)",{x:kpX,y:t2Y,w:colW3,h:0.26,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:kpX,y:t2Y+0.26,w:colW3,h:t2H-0.26,fill:{color:C.orangeLight}});
const dog=[
  ["D","1B5E20","DNA is template; replication is semi-conservative"],
  ["O","880E4F","Only exons are expressed (introns spliced out)"],
  ["G","E65100","Genetic code is degenerate (3rd base wobble)"],
  ["M","1565C0","mRNA 5'-cap and poly-A tail needed for stability"],
  ["A","6A1B9A","AUG = start codon; UAA/UAG/UGA = stop codons"],
];
dog.forEach((m,i)=>{
  slide.addShape(pres.ShapeType.rect,{x:kpX+0.14,y:t2Y+0.34+i*0.28,w:0.20,h:0.20,fill:{color:m[1]}});
  slide.addText(m[0],{x:kpX+0.14,y:t2Y+0.34+i*0.28,w:0.20,h:0.20,fontSize:8,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(m[2],{x:kpX+0.38,y:t2Y+0.34+i*0.28,w:3.68,h:0.24,fontSize:6.5,color:C.black,valign:"middle",margin:0});
});

// High Yield
const hyX=8.92;
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y,w:4.30,h:0.26,fill:{color:C.purple}});
slide.addText("★ HIGH YIELD FACT FILE",{x:hyX,y:t2Y,w:4.30,h:0.26,fontSize:8.5,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:hyX,y:t2Y+0.26,w:4.30,h:t2H-0.26,fill:{color:C.purpleLight}});
const hy4=[
  "Sickle cell: single point mutation (Glu6Val in β-globin)",
  "PKU: PAH mutation → Phe accumulation → MR",
  "Xeroderma pigmentosum: UV-induced thymine dimers",
  "HNPCC (Lynch syndrome): MMR gene mutations",
  "Triplet repeat: CAG in Huntington (>36 = disease)",
  "Fragile X: CGG repeat in FMR1 gene (X-linked)",
  "Southern = DNA, Northern = RNA, Western = Protein",
  "PCR: denaturation(94°C) → annealing → extension(72°C)",
  "CRISPR: Cas9 guided by sgRNA cuts dsDNA precisely",
];
hy4.forEach((f,i)=>{
  slide.addText([
    {text:"★ ",options:{color:C.purple,bold:true,fontSize:7}},
    {text:f,options:{color:C.black,fontSize:6}},
  ],{x:hyX+0.08,y:t2Y+0.30+i*0.172,w:4.18,h:0.172,margin:0});
});

// ── TIER 3 ────────────────────────────────────────────────────────────────────
const t3Y=5.35, t3H=1.62;
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y,w:4.10,h:0.24,fill:{color:C.blue}});
slide.addText("IMPORTANT DEFINITIONS",{x:0.08,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:0.08,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.blueLight}});
const defs4=[
  "• Central Dogma: DNA → RNA → Protein",
  "• Codon: 3-nucleotide mRNA sequence (codes 1 AA)",
  "• Anticodon: complementary sequence on tRNA",
  "• Intron: non-coding intervening sequence (spliced out)",
  "• Exon: expressed coding sequence",
  "• Operon: cluster of prokaryotic genes (lac, trp operon)",
  "• Plasmid: extrachromosomal circular DNA",
  "• Recombinant DNA: DNA from two different organisms",
];
defs4.forEach((d,i)=>{
  slide.addText(d,{x:0.14,y:t3Y+0.28+i*0.170,w:3.98,h:0.170,fontSize:5.9,color:C.black,margin:0});
});

const abX=4.28;
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y,w:4.74,h:0.24,fill:{color:C.tealDark}});
slide.addText("ABBREVIATIONS  (Must Know)",{x:abX,y:t3Y,w:4.74,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:abX,y:t3Y+0.24,w:4.74,h:t3H-0.24,fill:{color:C.tealLight}});
const ab4=[
  ["PCR","Polymerase Chain Reaction","NGS","Next Generation Sequencing"],
  ["SNP","Single Nucleotide Polymorphism","RFLP","Restriction Fragment Length Poly."],
  ["ORF","Open Reading Frame","UTR","Untranslated Region"],
  ["siRNA","Small Interfering RNA","miRNA","MicroRNA"],
  ["CRISPR","Clustered Interspaced Short Pal. Repeats","Cas9","CRISPR-associated protein 9"],
  ["NER","Nucleotide Excision Repair","MMR","Mismatch Repair"],
  ["RT-PCR","Reverse Transcriptase PCR","FISH","Fluorescence In Situ Hybridization"],
];
ab4.forEach((a,i)=>{
  slide.addText([
    {text:a[0]+" ",options:{bold:true,color:"005662",fontSize:5.8}},
    {text:"– "+a[1]+"    ",options:{color:C.black,fontSize:5.2}},
    {text:a[2]+" ",options:{bold:true,color:"005662",fontSize:5.8}},
    {text:"– "+a[3],options:{color:C.black,fontSize:5.2}},
  ],{x:abX+0.10,y:t3Y+0.28+i*0.19,w:4.54,h:0.19,margin:0});
});

const eaX=9.10;
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y,w:4.10,h:0.24,fill:{color:C.pink}});
slide.addText("EXAM APPROACH",{x:eaX,y:t3Y,w:4.10,h:0.24,fontSize:8,bold:true,color:C.white,align:"center",margin:0});
slide.addShape(pres.ShapeType.rect,{x:eaX,y:t3Y+0.24,w:4.10,h:t3H-0.24,fill:{color:C.pinkLight}});
const ea4=[
  "Identify: DNA, RNA, or Protein question?",
  "Is it replication, transcription, or translation?",
  "Think: prokaryote vs. eukaryote differences",
  "Map mutation type → clinical disease phenotype",
  "For blots: Southern=DNA, Northern=RNA, Western=Protein",
  "PCR question → think: what primers/template needed?",
];
ea4.forEach((s,i)=>{
  slide.addShape(pres.ShapeType.ellipse,{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fill:{color:C.pink}});
  slide.addText(String(i+1),{x:eaX+0.10,y:t3Y+0.30+i*0.22,w:0.20,h:0.20,fontSize:7,bold:true,color:C.white,align:"center",valign:"middle",margin:0});
  slide.addText(s,{x:eaX+0.35,y:t3Y+0.30+i*0.22,w:3.75,h:0.20,fontSize:6.2,color:C.black,valign:"middle",margin:0});
});

// Footer
const ftY=7.00, ftH=0.36, ftW=3.18;
slide.addShape(pres.ShapeType.rect,{x:0.08,y:ftY,w:ftW,h:ftH,fill:{color:"FFF8E1"},line:{color:C.orange,width:1.2}});
slide.addText([
  {text:"💡 PYQ PEARL  ",options:{bold:true,fontSize:7,color:C.orange}},
  {text:"Blot names (SNoW DRoP), PCR steps, mutation types, Sickle cell & PKU gene defects = high-frequency MCQs.",options:{fontSize:6,color:C.black}},
],{x:0.12,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:3.38,y:ftY,w:ftW,h:ftH,fill:{color:"E8EAF6"},line:{color:"3F51B5",width:1.2}});
slide.addText([
  {text:"★ INI-CET PEARL  ",options:{bold:true,fontSize:7,color:"3F51B5"}},
  {text:"CRISPR-Cas9, gene therapy applications, and next-gen sequencing are emerging high-yield areas.",options:{fontSize:6,color:C.black}},
],{x:3.42,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:6.68,y:ftY,w:ftW,h:ftH,fill:{color:"FFEBEE"},line:{color:C.red,width:1.2}});
slide.addText([
  {text:"⚠ EXAM TRAP  ",options:{bold:true,fontSize:7,color:C.red}},
  {text:"Don't mix up template vs coding strand direction. Prokaryote ribosomes = 70S, Eukaryote = 80S (not vice versa).",options:{fontSize:6,color:C.black}},
],{x:6.72,y:ftY+0.02,w:ftW-0.08,h:ftH-0.04,margin:0,valign:"middle"});
slide.addShape(pres.ShapeType.rect,{x:9.98,y:ftY,w:3.24,h:ftH,fill:{color:"FCE4EC"},line:{color:C.pink,width:1.2}});
slide.addText("🧠 QUICK REVISION\nRevise → Recall → Apply → REPEAT!",
  {x:10.02,y:ftY+0.01,w:3.18,h:ftH-0.02,color:C.navyDark,align:"center",valign:"middle",fontSize:7,bold:true,margin:0});
slide.addShape(pres.ShapeType.rect,{x:0,y:7.36,w:13.3,h:0.14,fill:{color:C.navyDark}});
slide.addText("★  CONSISTENT STUDY  +  SMART REVISION  +  PYQ PRACTICE  =  700+ IS POSSIBLE  ★",
  {x:0,y:7.36,w:13.3,h:0.14,fontSize:6.8,bold:true,color:C.yellow,align:"center",charSpacing:1,margin:0});

pres.writeFile({fileName:"/home/daytona/workspace/biochem-atlas/Biochemistry_Atlas_Page4_MolecularBiology.pptx"})
  .then(()=>console.log("✅ Page 4 done"))
  .catch(e=>console.error("ERROR:",e));
Running Command

cd /home/daytona/workspace/biochem-atlas && node build_page2.js && node build_pa…

Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
This is a shared conversation. Sign in to Orris to start your own chat.