convert this topic (biomolecules +bioenergetics) into a visually structured study sheet using tables ,flowchart,mindmaps,icons,and colour coded section make it easy too revise in 5 minutes

Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Finding Sources
Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Reading File
Reading File
Writing File

~/biomolecules-bioenergetics/study_sheet.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Biomolecules + Bioenergetics β€” 5-Minute Revision Sheet</title>
<style>
  :root {
    --carb:   #e8f5e9;  --carb-h:  #2e7d32;
    --prot:   #e3f2fd;  --prot-h:  #1565c0;
    --lipid:  #fff3e0;  --lipid-h: #e65100;
    --nucleic:#f3e5f5;  --nucleic-h:#6a1b9a;
    --energy: #fff8e1;  --energy-h:#f57f17;
    --atp:    #fce4ec;  --atp-h:   #880e4f;
    --etc:    #e0f7fa;  --etc-h:   #006064;
    --dark:   #212121;
    --card-shadow: 0 3px 10px rgba(0,0,0,.12);
  }
  * { box-sizing: border-box; margin:0; padding:0; }
  body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #f5f5f5;
    color: var(--dark);
    font-size: 13.5px;
    line-height: 1.5;
  }

  /* ── Header ── */
  header {
    background: linear-gradient(135deg,#1a237e 0%,#283593 50%,#3949ab 100%);
    color: #fff;
    text-align: center;
    padding: 24px 16px 20px;
  }
  header h1 { font-size: 2rem; letter-spacing: 1px; }
  header p  { opacity:.85; font-size:.95rem; margin-top:4px; }
  .badge {
    display: inline-block;
    background: #ffeb3b;
    color: #212121;
    border-radius: 20px;
    padding: 2px 14px;
    font-weight: 700;
    font-size:.8rem;
    margin-top: 8px;
  }

  /* ── Layout ── */
  .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .grid3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
  .grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
  .full  { grid-column: 1/-1; }
  main   { max-width:1200px; margin:0 auto; padding:20px 16px 40px; }
  section { margin-bottom: 24px; }

  /* ── Cards ── */
  .card {
    background:#fff;
    border-radius:12px;
    box-shadow: var(--card-shadow);
    padding:14px 16px;
    overflow:hidden;
  }
  .card-header {
    font-weight:700;
    font-size:1rem;
    padding:8px 12px;
    border-radius:8px;
    margin-bottom:10px;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .icon { font-size:1.3rem; }

  /* ── Colour themes for cards ── */
  .carb   { background:var(--carb); }   .carb-h   { background:var(--carb);   color:var(--carb-h);   border-left:4px solid var(--carb-h); }
  .prot   { background:var(--prot); }   .prot-h   { background:var(--prot);   color:var(--prot-h);   border-left:4px solid var(--prot-h); }
  .lipid  { background:var(--lipid); }  .lipid-h  { background:var(--lipid);  color:var(--lipid-h);  border-left:4px solid var(--lipid-h); }
  .nucleic{ background:var(--nucleic); }.nucleic-h{ background:var(--nucleic); color:var(--nucleic-h);border-left:4px solid var(--nucleic-h); }
  .energy { background:var(--energy); } .energy-h { background:var(--energy); color:var(--energy-h); border-left:4px solid var(--energy-h); }
  .atp    { background:var(--atp); }    .atp-h    { background:var(--atp);    color:var(--atp-h);    border-left:4px solid var(--atp-h); }
  .etc    { background:var(--etc); }    .etc-h    { background:var(--etc);    color:var(--etc-h);    border-left:4px solid var(--etc-h); }

  /* ── Tables ── */
  table { width:100%; border-collapse:collapse; font-size:12.5px; margin-top:6px; }
  th { padding:7px 9px; text-align:left; font-weight:700; font-size:12px; }
  td { padding:6px 9px; border-bottom:1px solid rgba(0,0,0,.07); }
  tr:last-child td { border-bottom:none; }

  .tbl-carb  th { background:var(--carb-h);  color:#fff; }
  .tbl-prot  th { background:var(--prot-h);  color:#fff; }
  .tbl-lipid th { background:var(--lipid-h); color:#fff; }
  .tbl-nuc   th { background:var(--nucleic-h); color:#fff; }
  .tbl-atp   th { background:var(--atp-h);   color:#fff; }
  .tbl-etc   th { background:var(--etc-h);   color:#fff; }
  .tbl-energy th { background:var(--energy-h); color:#fff; }

  tr:nth-child(even) td { background:rgba(0,0,0,.025); }

  /* ── Flowchart ── */
  .flow-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:0; justify-content:center; }
  .flow-box {
    background:#fff;
    border:2px solid;
    border-radius:10px;
    padding:8px 14px;
    text-align:center;
    font-size:12px;
    font-weight:600;
    min-width:90px;
    position:relative;
  }
  .flow-arrow {
    font-size:1.4rem;
    padding:0 6px;
    color:#546e7a;
    font-weight:900;
  }
  .flow-sub { font-size:10px; font-weight:400; display:block; }

  /* ── Mind-map ── */
  .mindmap {
    background:#fff;
    border-radius:14px;
    padding:20px;
    box-shadow: var(--card-shadow);
    position:relative;
    overflow:visible;
  }
  .mm-center {
    background:#1a237e;
    color:#fff;
    border-radius:50%;
    width:110px;
    height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.75rem;
    font-weight:700;
    text-align:center;
    margin:0 auto 0;
    box-shadow:0 4px 12px rgba(26,35,126,.4);
    line-height:1.3;
    padding:6px;
  }
  .mm-grid {
    display:grid;
    grid-template-columns:1fr 130px 1fr;
    grid-template-rows:auto auto auto;
    gap:0;
    align-items:center;
    justify-items:center;
  }
  .mm-branch {
    border-radius:10px;
    padding:9px 12px;
    font-size:11.5px;
    font-weight:600;
    text-align:center;
    box-shadow:0 2px 6px rgba(0,0,0,.1);
    width:100%;
  }
  .mm-line {
    width:100%;
    height:2px;
    background:linear-gradient(to right,transparent,#90a4ae,transparent);
  }
  .mm-line-v {
    width:2px;
    background:linear-gradient(to bottom,transparent,#90a4ae,transparent);
    height:30px;
    margin:0 auto;
  }

  /* ── Key equation box ── */
  .eq-box {
    background:#1a237e;
    color:#fff;
    border-radius:10px;
    padding:10px 16px;
    font-size:1rem;
    font-weight:700;
    text-align:center;
    letter-spacing:.5px;
    margin:8px 0;
  }
  .eq-sub { font-size:.7rem; font-weight:400; opacity:.8; display:block; margin-top:2px; }

  /* ── Bullet list ── */
  ul.dot { padding-left:18px; }
  ul.dot li { margin-bottom:4px; }

  /* ── Tags / Chips ── */
  .chip {
    display:inline-block;
    border-radius:20px;
    padding:2px 10px;
    font-size:11px;
    font-weight:600;
    margin:2px 2px 2px 0;
  }
  .chip-g { background:#c8e6c9; color:#1b5e20; }
  .chip-b { background:#bbdefb; color:#0d47a1; }
  .chip-o { background:#ffe0b2; color:#bf360c; }
  .chip-p { background:#e1bee7; color:#4a148c; }
  .chip-r { background:#ffcdd2; color:#b71c1c; }
  .chip-t { background:#b2ebf2; color:#004d40; }

  /* ── Section title ── */
  .section-title {
    font-size:1.25rem;
    font-weight:800;
    padding:6px 0 10px;
    border-bottom:3px solid;
    margin-bottom:16px;
    display:flex;
    align-items:center;
    gap:8px;
  }

  /* ── Remember boxes ── */
  .remember {
    border-left:5px solid;
    background:#fff;
    border-radius:0 10px 10px 0;
    padding:10px 14px;
    margin-top:10px;
    font-size:12px;
  }
  .r-gold   { border-color:#fdd835; background:#fffde7; }
  .r-red    { border-color:#e53935; background:#ffebee; }
  .r-green  { border-color:#43a047; background:#f1f8e9; }
  .r-blue   { border-color:#1e88e5; background:#e3f2fd; }

  /* ── ETC Complex strip ── */
  .etc-strip {
    display:flex;
    align-items:stretch;
    border-radius:12px;
    overflow:hidden;
    box-shadow: var(--card-shadow);
    margin-top:8px;
  }
  .etc-block {
    flex:1;
    text-align:center;
    padding:12px 8px;
    font-size:11.5px;
    font-weight:600;
  }
  .etc-arrow {
    display:flex;
    align-items:center;
    font-size:1.5rem;
    color:#fff;
    background:#37474f;
    padding:0 6px;
  }
  .c1 { background:#ef9a9a; color:#b71c1c; }
  .c2 { background:#ffcc80; color:#e65100; }
  .c3 { background:#a5d6a7; color:#1b5e20; }
  .c4 { background:#90caf9; color:#0d47a1; }
  .c5 { background:#ce93d8; color:#4a148c; }

  /* ── ATP yield strip ── */
  .yield-bar {
    display:flex;
    border-radius:10px;
    overflow:hidden;
    height:36px;
    box-shadow:var(--card-shadow);
    font-size:12px;
    font-weight:700;
    margin-top:8px;
  }
  .yb { display:flex; align-items:center; justify-content:center; }

  /* ── Responsive ── */
  @media(max-width:820px){
    .grid2,.grid3,.grid4 { grid-template-columns:1fr 1fr; }
  }
  @media(max-width:560px){
    .grid2,.grid3,.grid4 { grid-template-columns:1fr; }
    .mm-grid { grid-template-columns:1fr; }
  }

  /* ── Print ── */
  @media print {
    body { font-size:11px; background:#fff; }
    header { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    .card,.etc-strip,.yield-bar { box-shadow:none; }
  }
</style>
</head>
<body>

<!-- ══════════════════════════════════════════════ HEADER ══ -->
<header>
  <h1>🧬 Biomolecules + Bioenergetics</h1>
  <p>Biochemistry Rapid Revision β€” Harper's & Lippincott Illustrated Reviews</p>
  <span class="badge">⚑ 5-Minute Revision Sheet</span>
</header>

<main>

<!-- ══════════════════════════════════════════════ SECTION 1: MIND MAP ══ -->
<section>
  <div class="section-title" style="color:#1a237e;border-color:#1a237e;">
    🧠 Section 1 β€” Big Picture Mind Map
  </div>

  <div class="mindmap">
    <div class="mm-grid">
      <!-- Top row -->
      <div class="mm-branch carb" style="color:var(--carb-h);">🍭 Carbohydrates<br/><span style="font-weight:400;font-size:10px;">Monosaccharides β†’ Polysaccharides<br/>Energy source, cell signals</span></div>
      <div></div>
      <div class="mm-branch prot" style="color:var(--prot-h);">🧩 Proteins<br/><span style="font-weight:400;font-size:10px;">Amino acids β†’ Polypeptides<br/>Structure, enzymes, transport</span></div>

      <!-- Lines row -->
      <div class="mm-line"></div>
      <div></div>
      <div class="mm-line"></div>

      <!-- Center row -->
      <div style="display:flex;flex-direction:column;align-items:flex-end;gap:16px;width:100%;">
        <div class="mm-branch lipid" style="color:var(--lipid-h);text-align:right;">🧈 Lipids<br/><span style="font-weight:400;font-size:10px;">FA, Triglycerides, Phospholipids<br/>Energy storage, membranes</span></div>
        <div class="mm-branch atp" style="color:var(--atp-h);text-align:right;">⚑ ATP &amp; Bioenergetics<br/><span style="font-weight:400;font-size:10px;">Ξ”G, Keq, Free Energy<br/>Coupled reactions</span></div>
      </div>
      <div>
        <div class="mm-center">BIOCHEMISTRY<br/>CORE</div>
      </div>
      <div style="display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;">
        <div class="mm-branch nucleic" style="color:var(--nucleic-h);">πŸ”¬ Nucleic Acids<br/><span style="font-weight:400;font-size:10px;">DNA &amp; RNA<br/>Purine / Pyrimidine bases</span></div>
        <div class="mm-branch etc" style="color:var(--etc-h);">πŸ”‹ ETC &amp; OXPHOS<br/><span style="font-weight:400;font-size:10px;">Complexes I–V<br/>32 ATP per glucose</span></div>
      </div>
    </div>
  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 2: BIOMOLECULES TABLES ══ -->
<section>
  <div class="section-title" style="color:var(--carb-h);border-color:var(--carb-h);">
    🍬 Section 2 β€” Biomolecules at a Glance
  </div>

  <div class="grid2">

    <!-- Carbohydrates -->
    <div class="card carb">
      <div class="card-header carb-h"><span class="icon">🍭</span> Carbohydrates</div>
      <table class="tbl-carb">
        <tr><th>Type</th><th>Examples</th><th>Key Feature</th></tr>
        <tr><td><b>Monosaccharide</b></td><td>Glucose, Fructose, Galactose</td><td>Aldoses / Ketoses; reducing sugars</td></tr>
        <tr><td><b>Disaccharide</b></td><td>Sucrose, Lactose, Maltose</td><td>Glycosidic bond (Ξ± or Ξ²)</td></tr>
        <tr><td><b>Oligosaccharide</b></td><td>Raffinose, cell-surface oligosaccharides</td><td>3–10 monosaccharides</td></tr>
        <tr><td><b>Polysaccharide</b></td><td>Glycogen, Starch, Cellulose</td><td>Ξ±-1,4 (+ Ξ±-1,6 branches in glycogen)</td></tr>
      </table>
      <div class="remember r-green"><b>🟒 Remember:</b> Glucose is the primary fuel; brain is 100% glucose-dependent under normal conditions.</div>
    </div>

    <!-- Proteins -->
    <div class="card prot">
      <div class="card-header prot-h"><span class="icon">🧩</span> Proteins β€” Amino Acid Levels</div>
      <table class="tbl-prot">
        <tr><th>Level</th><th>Description</th><th>Forces</th></tr>
        <tr><td><b>1Β° (Primary)</b></td><td>AA sequence; peptide bonds</td><td>Covalent (peptide bond)</td></tr>
        <tr><td><b>2Β° (Secondary)</b></td><td>Ξ±-helix, Ξ²-sheet, turns</td><td>H-bonds along backbone</td></tr>
        <tr><td><b>3Β° (Tertiary)</b></td><td>Full 3D fold of polypeptide</td><td>H-bonds, Van der Waals, hydrophobic, disulfide</td></tr>
        <tr><td><b>4Β° (Quaternary)</b></td><td>Multiple subunits (e.g. Hb)</td><td>Same as 3Β°; no covalent bonds (mostly)</td></tr>
      </table>
      <div class="remember r-blue"><b>πŸ”΅ Key:</b> Hydrophobic AA cluster in protein interior; charged/polar AA on the surface in contact with water.</div>
    </div>

    <!-- Lipids -->
    <div class="card lipid">
      <div class="card-header lipid-h"><span class="icon">🧈</span> Lipids</div>
      <table class="tbl-lipid">
        <tr><th>Class</th><th>Components</th><th>Function</th></tr>
        <tr><td><b>Fatty Acids</b></td><td>Saturated / Unsaturated chains</td><td>Energy substrate (Ξ²-oxidation)</td></tr>
        <tr><td><b>Triglycerides</b></td><td>Glycerol + 3 FA</td><td>Long-term energy storage (adipose)</td></tr>
        <tr><td><b>Phospholipids</b></td><td>Glycerol + 2 FA + phosphate head</td><td>Membrane bilayer; amphipathic</td></tr>
        <tr><td><b>Cholesterol</b></td><td>Sterol ring</td><td>Membrane fluidity, precursor to steroids</td></tr>
        <tr><td><b>Sphingolipids</b></td><td>Sphingosine + FA</td><td>Cell signalling, myelin sheath</td></tr>
      </table>
      <div class="remember r-gold"><b>🟑 Key:</b> Phospholipids are amphipathic β€” hydrophilic head groups face water, hydrophobic tails cluster together.</div>
    </div>

    <!-- Nucleic Acids -->
    <div class="card nucleic">
      <div class="card-header nucleic-h"><span class="icon">πŸ”¬</span> Nucleic Acids</div>
      <table class="tbl-nuc">
        <tr><th>Feature</th><th>DNA</th><th>RNA</th></tr>
        <tr><td>Sugar</td><td>2'-Deoxyribose</td><td>Ribose</td></tr>
        <tr><td>Bases</td><td>A, T, G, C</td><td>A, U, G, C</td></tr>
        <tr><td>Structure</td><td>Double helix</td><td>Single strand</td></tr>
        <tr><td>Purines</td><td colspan="2">Adenine (A), Guanine (G) β€” double ring</td></tr>
        <tr><td>Pyrimidines</td><td colspan="2">Cytosine (C), Thymine/Uracil β€” single ring</td></tr>
        <tr><td>Bonds</td><td>A=T (2 H-bonds)</td><td>A=U (2 H-bonds)</td></tr>
        <tr><td></td><td>G≑C (3 H-bonds)</td><td>G≑C (3 H-bonds)</td></tr>
      </table>
      <div class="remember r-blue"><b>πŸ”΅ Mnemonic:</b> <b>PURe As Gold</b> = Purines: Adenine, Guanine. <b>CUT the PY</b> = Pyrimidines: Cytosine, Uracil, Thymine.</div>
    </div>

  </div><!-- end grid2 -->

  <!-- Bond energies quick reference -->
  <div style="margin-top:16px;">
    <div class="card" style="background:#fafafa;">
      <div class="card-header" style="background:#eceff1;color:#37474f;border-left:4px solid #607d8b;">
        <span class="icon">πŸ”—</span> Covalent Bond Energies (Biological Significance)
      </div>
      <table>
        <tr><th style="background:#546e7a;color:#fff;">Bond</th><th style="background:#546e7a;color:#fff;">Energy (kcal/mol)</th><th style="background:#546e7a;color:#fff;">Bond</th><th style="background:#546e7a;color:#fff;">Energy (kcal/mol)</th><th style="background:#546e7a;color:#fff;">Biological Role</th></tr>
        <tr><td>O–O</td><td>34</td><td>C–H</td><td>99</td><td rowspan="4">Form backbone of organic molecules; peptide bond ~C–N</td></tr>
        <tr><td>S–S</td><td>51 <span class="chip chip-r">disulfide</span></td><td>C–S</td><td>108</td></tr>
        <tr><td>C–N</td><td>70</td><td>O–H</td><td>110</td></tr>
        <tr><td>N–H</td><td>94</td><td>C=O</td><td>164</td></tr>
      </table>
      <p style="font-size:11px;color:#555;margin-top:6px;">Non-covalent forces (H-bonds, Van der Waals, hydrophobic interactions) are weaker individually but collectively stabilize macromolecular structure.</p>
    </div>
  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 3: BIOENERGETICS ══ -->
<section>
  <div class="section-title" style="color:var(--energy-h);border-color:var(--energy-h);">
    ⚑ Section 3 β€” Bioenergetics Core Concepts
  </div>

  <div class="grid3">

    <!-- Free energy -->
    <div class="card energy">
      <div class="card-header energy-h"><span class="icon">🌑️</span> Free Energy (Ξ”G)</div>
      <div class="eq-box" style="background:#f57f17;">
        Ξ”G = Ξ”H βˆ’ TΞ”S
        <span class="eq-sub">Ξ”H = enthalpy change | T = temperature (K) | Ξ”S = entropy change</span>
      </div>
      <table class="tbl-energy" style="margin-top:8px;">
        <tr><th>Ξ”G Sign</th><th>Meaning</th><th>Reaction Type</th></tr>
        <tr><td><span class="chip chip-g">Ξ”G &lt; 0</span></td><td>Spontaneous; energy released</td><td>Exergonic βœ…</td></tr>
        <tr><td><span class="chip chip-r">Ξ”G &gt; 0</span></td><td>Non-spontaneous; energy required</td><td>Endergonic ❌</td></tr>
        <tr><td><span class="chip chip-b">Ξ”G = 0</span></td><td>System at equilibrium</td><td>No net change βš–οΈ</td></tr>
      </table>
      <div class="remember r-gold"><b>🟑 Key:</b> Ξ”GΒ° = standard free energy change at 1 mol/L, pH 7.0. Ξ”GΒ° = βˆ’RT ln Keq</div>
    </div>

    <!-- ATP -->
    <div class="card atp">
      <div class="card-header atp-h"><span class="icon">⚑</span> ATP β€” The Energy Currency</div>
      <ul class="dot">
        <li>Adenosine + <b>3 phosphate</b> groups</li>
        <li>Hydrolysis of each terminal phosphate: <b>Ξ”GΒ° β‰ˆ βˆ’7.3 kcal/mol</b></li>
        <li>ATP β†’ ADP + Pi (most common)</li>
        <li>ATP β†’ AMP + PPi (adenylyl cyclase reactions)</li>
        <li>Functions as <b>Mg²⁺ complex</b> in cells</li>
        <li>NOT an energy store β€” turned over rapidly</li>
      </ul>
      <div class="eq-box" style="background:#880e4f;margin-top:10px;">
        2 ADP β‡Œ ATP + AMP
        <span class="eq-sub">Adenylate kinase β€” keeps adenine nucleotide pool balanced</span>
      </div>
      <div class="remember r-red"><b>πŸ”΄ Exam trap:</b> ATP has 2 high-energy bonds (between β–γ and α–β phosphates), NOT 3!</div>
    </div>

    <!-- Coupled reactions -->
    <div class="card" style="background:#f9fbe7;">
      <div class="card-header" style="background:#f9fbe7;color:#558b2f;border-left:4px solid #558b2f;"><span class="icon">πŸ”„</span> Coupled Reactions</div>
      <ul class="dot">
        <li>Endergonic reactions are driven by coupling to exergonic ATP hydrolysis</li>
        <li>Share a <b>common intermediate</b></li>
        <li>Ξ”GΒ° values are <b>additive</b> in sequential reactions</li>
        <li>If total Ξ”GΒ° is negative β†’ overall reaction is spontaneous</li>
      </ul>
      <div style="margin-top:10px;background:#dcedc8;border-radius:8px;padding:8px 12px;font-size:12px;">
        <b>Example:</b><br/>
        Glucose + Pi β†’ Glucose-6-P &nbsp; <span class="chip chip-r">Ξ”GΒ°= +3.3</span><br/>
        ATP β†’ ADP + Pi &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="chip chip-g">Ξ”GΒ°= βˆ’7.3</span><br/>
        <hr style="margin:4px 0;border:1px dashed #aaa;"/>
        <b>Net:</b> Glucose + ATP β†’ G-6-P + ADP &nbsp;<span class="chip chip-g">Ξ”GΒ°= βˆ’4.0 βœ…</span>
      </div>
    </div>

  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 4: FLOWCHART β€” GLUCOSE METABOLISM ══ -->
<section>
  <div class="section-title" style="color:#00695c;border-color:#00695c;">
    πŸ”€ Section 4 β€” Glucose β†’ ATP Flowchart
  </div>

  <div class="card" style="background:#e8f5e9;padding:20px;">
    <div class="flow-wrap">

      <div class="flow-box" style="border-color:#2e7d32;background:#a5d6a7;color:#1b5e20;">
        🍭 <b>Glucose</b>
        <span class="flow-sub">C₆H₁₂O₆</span>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#f57f17;background:#ffe082;color:#e65100;">
          <b>Glycolysis</b>
          <span class="flow-sub">Cytoplasm</span>
          <span class="flow-sub">2 ATP net</span>
          <span class="flow-sub">2 NADH</span>
        </div>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#6a1b9a;background:#e1bee7;color:#4a148c;">
          <b>Pyruvate</b>
          <span class="flow-sub">Decarboxylation</span>
          <span class="flow-sub">β†’ Acetyl-CoA</span>
          <span class="flow-sub">2 NADH + 2 COβ‚‚</span>
        </div>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#1565c0;background:#bbdefb;color:#0d47a1;">
          <b>TCA Cycle</b>
          <span class="flow-sub">Krebs Cycle</span>
          <span class="flow-sub">Mitochondria</span>
          <span class="flow-sub">6 NADH, 2 FADHβ‚‚</span>
          <span class="flow-sub">2 GTP</span>
        </div>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#006064;background:#80deea;color:#004d40;">
          <b>ETC</b>
          <span class="flow-sub">Inner mitochondrial</span>
          <span class="flow-sub">membrane</span>
          <span class="flow-sub">Complexes I–IV</span>
          <span class="flow-sub">Proton gradient</span>
        </div>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#880e4f;background:#f48fb1;color:#880e4f;">
          <b>ATP Synthase</b>
          <span class="flow-sub">Complex V</span>
          <span class="flow-sub">ADP + Pi β†’ ATP</span>
          <span class="flow-sub">~32 ATP total</span>
        </div>
      </div>
      <div class="flow-arrow">β†’</div>

      <div style="text-align:center;">
        <div class="flow-box" style="border-color:#37474f;background:#b0bec5;color:#212121;">
          <b>COβ‚‚ + Hβ‚‚O</b>
          <span class="flow-sub">Final products</span>
        </div>
      </div>

    </div>

    <!-- ATP Yield bar -->
    <div style="margin-top:16px;">
      <p style="font-weight:700;font-size:12.5px;margin-bottom:6px;text-align:center;">⚑ Total ATP Yield from 1 Glucose (aerobic)</p>
      <div class="yield-bar">
        <div class="yb" style="flex:2;background:#a5d6a7;color:#1b5e20;">Glycolysis<br/>2 ATP</div>
        <div class="yb" style="flex:2;background:#ffe082;color:#e65100;">Pyruvate Decarboxylation<br/>~5 ATP</div>
        <div class="yb" style="flex:4;background:#bbdefb;color:#0d47a1;">TCA Cycle<br/>~20 ATP</div>
        <div class="yb" style="flex:3;background:#ce93d8;color:#4a148c;">FADHβ‚‚ (ETC)<br/>~3 ATP</div>
        <div class="yb" style="flex:3;background:#f48fb1;color:#880e4f;">GTP/misc<br/>~2 ATP</div>
        <div class="yb" style="flex:2;background:#37474f;color:#fff;font-size:14px;font-weight:800;">β‰ˆ 32 ATP</div>
      </div>
    </div>
  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 5: ETC COMPLEXES ══ -->
<section>
  <div class="section-title" style="color:var(--etc-h);border-color:var(--etc-h);">
    πŸ”‹ Section 5 β€” Electron Transport Chain (ETC) Complexes
  </div>

  <div class="etc-strip">
    <div class="etc-block c1">
      <div style="font-size:1.3rem;">β… </div>
      <b>NADH Dehydrogenase</b><br/>
      <span style="font-size:10px;">NADH β†’ NAD⁺<br/>Pumps <b>4H⁺</b><br/>Contains FMN<br/>Fe-S clusters</span>
    </div>
    <div class="etc-arrow">β–Ά</div>
    <div class="etc-block c2">
      <div style="font-size:1.3rem;">β…‘</div>
      <b>Succinate Dehydrogenase</b><br/>
      <span style="font-size:10px;">FADHβ‚‚ β†’ FAD<br/><b>No H⁺ pump</b><br/>Links TCA to ETC<br/>Fe-S clusters</span>
    </div>
    <div class="etc-arrow">β–Ά</div>
    <div class="etc-block c3">
      <div style="font-size:1.3rem;">β…’</div>
      <b>Cytochrome bc₁</b><br/>
      <span style="font-size:10px;">CoQ β†’ Cyt c<br/>Pumps <b>4H⁺</b><br/>Q cycle<br/>Cytochromes b, c₁</span>
    </div>
    <div class="etc-arrow">β–Ά</div>
    <div class="etc-block c4">
      <div style="font-size:1.3rem;">β…£</div>
      <b>Cytochrome c Oxidase</b><br/>
      <span style="font-size:10px;">Cyt c β†’ Oβ‚‚<br/>Pumps <b>2H⁺</b><br/>Oβ‚‚ β†’ Hβ‚‚O<br/>Cu, heme a, a₃</span>
    </div>
    <div class="etc-arrow">β–Ά</div>
    <div class="etc-block c5">
      <div style="font-size:1.3rem;">β…€</div>
      <b>ATP Synthase</b><br/>
      <span style="font-size:10px;">ADP + Pi β†’ ATP<br/>H⁺ flows back<br/>Fβ‚€ motor / F₁ head<br/>~3 ATP per NADH</span>
    </div>
  </div>

  <div class="grid2" style="margin-top:16px;">
    <div class="card etc">
      <div class="card-header etc-h"><span class="icon">πŸ”¬</span> Mobile Electron Carriers</div>
      <table class="tbl-etc">
        <tr><th>Carrier</th><th>Location</th><th>Carries</th></tr>
        <tr><td><b>CoQ (Ubiquinone)</b></td><td>Lipid bilayer (mobile)</td><td>2 electrons + 2H⁺</td></tr>
        <tr><td><b>Cytochrome c</b></td><td>Intermembrane space</td><td>1 electron only</td></tr>
        <tr><td><b>NADH</b></td><td>Matrix (from Complex I)</td><td>2 electrons (as H⁻)</td></tr>
        <tr><td><b>FADHβ‚‚</b></td><td>Bound to Complex II</td><td>2 electrons</td></tr>
      </table>
    </div>

    <div class="card atp">
      <div class="card-header atp-h"><span class="icon">πŸ›‘</span> ETC Inhibitors β€” High Yield</div>
      <table class="tbl-atp">
        <tr><th>Inhibitor</th><th>Target</th><th>Effect</th></tr>
        <tr><td><b>Rotenone / Amytal</b></td><td>Complex I</td><td>Blocks NADH oxidation</td></tr>
        <tr><td><b>Malonate</b></td><td>Complex II</td><td>Competitive succinate inhibitor</td></tr>
        <tr><td><b>Antimycin A</b></td><td>Complex III</td><td>Blocks Q cycle</td></tr>
        <tr><td><b>Cyanide / CO / Hβ‚‚S</b></td><td>Complex IV</td><td>Bind heme a₃; block Oβ‚‚ binding</td></tr>
        <tr><td><b>Oligomycin</b></td><td>Complex V (Fβ‚€)</td><td>Blocks H⁺ channel; stops ATP synthesis</td></tr>
        <tr><td><b>DNP / Thermogenin</b></td><td>Inner membrane</td><td>Uncoupler β€” dissipates H⁺ gradient as heat</td></tr>
      </table>
    </div>
  </div>

  <div class="remember r-red" style="margin-top:10px;font-size:12.5px;">
    <b>πŸ”΄ Exam Tip β€” Uncouplers vs Inhibitors:</b> Inhibitors stop both electron transport AND ATP synthesis. Uncouplers (e.g. DNP) allow electron transport to continue but dissipate the proton gradient as heat β€” ATP synthesis stops but Oβ‚‚ consumption INCREASES.
  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 6: COENZYME TABLE ══ -->
<section>
  <div class="section-title" style="color:#00796b;border-color:#00796b;">
    πŸ§ͺ Section 6 β€” Key Coenzymes &amp; Vitamins
  </div>

  <div class="card">
    <table>
      <tr>
        <th style="background:#00695c;color:#fff;">Coenzyme</th>
        <th style="background:#00695c;color:#fff;">Vitamin Precursor</th>
        <th style="background:#00695c;color:#fff;">Oxidised Form</th>
        <th style="background:#00695c;color:#fff;">Reduced Form</th>
        <th style="background:#00695c;color:#fff;">ETC Complex</th>
        <th style="background:#00695c;color:#fff;">ATP Yield</th>
      </tr>
      <tr><td><b>NAD⁺</b></td><td>Niacin (B₃)</td><td>NAD⁺</td><td>NADH</td><td>Complex I β†’ III β†’ IV β†’ V</td><td><span class="chip chip-g">~2.5 ATP</span></td></tr>
      <tr><td><b>FAD</b></td><td>Riboflavin (Bβ‚‚)</td><td>FAD</td><td>FADHβ‚‚</td><td>Complex II β†’ III β†’ IV β†’ V</td><td><span class="chip chip-o">~1.5 ATP</span></td></tr>
      <tr><td><b>CoA</b></td><td>Pantothenic acid (Bβ‚…)</td><td colspan="2">Acyl-CoA, Acetyl-CoA</td><td>Carries acyl groups</td><td>β€”</td></tr>
      <tr><td><b>TPP</b></td><td>Thiamine (B₁)</td><td colspan="2">Active form</td><td>Decarboxylation reactions</td><td>β€”</td></tr>
      <tr><td><b>Biotin</b></td><td>Biotin (B₇)</td><td colspan="2">Active form</td><td>COβ‚‚ carrier (carboxylations)</td><td>β€”</td></tr>
      <tr><td><b>PLP</b></td><td>Pyridoxine (B₆)</td><td colspan="2">Active form</td><td>Amino acid metabolism (transamination)</td><td>β€”</td></tr>
    </table>
    <div class="remember r-green" style="margin-top:8px;"><b>🟒 Mnemonic:</b> <b>NAD = 2.5 ATP | FADHβ‚‚ = 1.5 ATP</b> (P/O ratios, chemiosmotic coupling)</div>
  </div>
</section>


<!-- ══════════════════════════════════════════════ SECTION 7: QUICK RECALL ══ -->
<section>
  <div class="section-title" style="color:#c62828;border-color:#c62828;">
    🎯 Section 7 β€” Last-Minute High-Yield Facts
  </div>

  <div class="grid4">
    <div class="card" style="background:#fff3e0;border-top:4px solid #ef6c00;">
      <div style="font-size:1.5rem;text-align:center;">🍭</div>
      <p style="font-weight:700;text-align:center;color:#e65100;">Carbs</p>
      <ul class="dot" style="font-size:11.5px;">
        <li>Reducing sugar = free anomeric –OH</li>
        <li>Glycogen = Ξ±-1,4 + Ξ±-1,6 (liver &amp; muscle)</li>
        <li>Cellulose = Ξ²-1,4 (not digestible)</li>
        <li>Glycoproteins: N-linked (Asn) &amp; O-linked (Ser/Thr)</li>
      </ul>
    </div>

    <div class="card" style="background:#e3f2fd;border-top:4px solid #1565c0;">
      <div style="font-size:1.5rem;text-align:center;">🧩</div>
      <p style="font-weight:700;text-align:center;color:#1565c0;">Proteins</p>
      <ul class="dot" style="font-size:11.5px;">
        <li>20 standard amino acids</li>
        <li>9 essential (cannot synthesize)</li>
        <li>Disulfide bonds: Cys–Cys (oxidation)</li>
        <li>Denaturation: disrupts 2Β°, 3Β°, 4Β° β€” NOT 1Β°</li>
        <li>Chaperones: prevent misfolding</li>
      </ul>
    </div>

    <div class="card" style="background:#fce4ec;border-top:4px solid #880e4f;">
      <div style="font-size:1.5rem;text-align:center;">⚑</div>
      <p style="font-weight:700;text-align:center;color:#880e4f;">ATP Facts</p>
      <ul class="dot" style="font-size:11.5px;">
        <li>Ξ”GΒ° hydrolysis = βˆ’7.3 kcal/mol</li>
        <li>Phosphoenol pyruvate &gt; ATP &gt; AMP</li>
        <li>In cell: [ATP] &gt;&gt; [ADP] (drives reactions)</li>
        <li>High energy phosphoanhydride bonds</li>
        <li>Creatine phosphate: muscle energy reserve</li>
      </ul>
    </div>

    <div class="card" style="background:#e0f7fa;border-top:4px solid #006064;">
      <div style="font-size:1.5rem;text-align:center;">πŸ”‹</div>
      <p style="font-weight:700;text-align:center;color:#006064;">ETC Numbers</p>
      <ul class="dot" style="font-size:11.5px;">
        <li>NADH β†’ 2.5 ATP (enters at Complex I)</li>
        <li>FADHβ‚‚ β†’ 1.5 ATP (enters at Complex II)</li>
        <li>1 Glucose β†’ ~32 ATP (aerobic)</li>
        <li>1 Glucose β†’ 2 ATP (anaerobic)</li>
        <li>Cytochrome c: between III &amp; IV</li>
        <li>Oβ‚‚ consumed only at Complex IV</li>
      </ul>
    </div>
  </div>

  <!-- Final comparison table -->
  <div class="card" style="margin-top:16px;">
    <div class="card-header" style="background:#eceff1;color:#37474f;border-left:4px solid #607d8b;">
      <span class="icon">πŸ“Š</span> Aerobic vs Anaerobic β€” Side by Side
    </div>
    <table>
      <tr>
        <th style="background:#455a64;color:#fff;">Feature</th>
        <th style="background:#2e7d32;color:#fff;">🌬️ Aerobic</th>
        <th style="background:#b71c1c;color:#fff;">🚫 Anaerobic</th>
      </tr>
      <tr><td>Oβ‚‚ required</td><td>βœ… Yes</td><td>❌ No</td></tr>
      <tr><td>ATP yield (per glucose)</td><td>~32 ATP</td><td>2 ATP</td></tr>
      <tr><td>Final electron acceptor</td><td>Oβ‚‚ (β†’ Hβ‚‚O)</td><td>Pyruvate (β†’ Lactate)</td></tr>
      <tr><td>Location</td><td>Cytoplasm + Mitochondria</td><td>Cytoplasm only</td></tr>
      <tr><td>NADH fate</td><td>ETC β†’ ATP</td><td>Regenerates NAD⁺</td></tr>
      <tr><td>End products</td><td>COβ‚‚ + Hβ‚‚O</td><td>Lactate (animals) / Ethanol (yeast)</td></tr>
    </table>
  </div>
</section>


<!-- ══════════════════════════════════════════════ FOOTER ══ -->
<footer style="text-align:center;padding:20px;color:#90a4ae;font-size:11px;margin-top:16px;">
  Sources: Harper's Illustrated Biochemistry 32e &amp; Lippincott's Biochemistry 8e &nbsp;|&nbsp; Orris Study Sheet &nbsp;|&nbsp; For revision only
</footer>

</main>
</body>
</html>
Running Command

cd /home/daytona/workspace/biomolecules-bioenergetics && wc -l study_sheet.html && echo "File exists and ready"

Your study sheet is ready! Download it here:

study sheet

HTML File Β· HTML

Open it in any browser - it's fully self-contained.

Here's exactly what's packed inside across 7 colour-coded sections:

πŸ—‚οΈ What's in the Sheet

SectionContentVisual Type
1 β€” Big PictureAll 6 biomolecule + energy topics linked🧠 Mind Map
2 β€” BiomoleculesCarbs, Proteins, Lipids, Nucleic Acids with bond energiesπŸ—ƒοΈ Colour Tables
3 β€” BioenergeticsΞ”G, ATP structure, coupled reactions with worked example⚑ Cards + Equations
4 β€” Glucose β†’ ATPGlycolysis β†’ Pyruvate β†’ TCA β†’ ETC β†’ ATP SynthaseπŸ”€ Flowchart + ATP yield bar
5 β€” ETC ComplexesComplexes I–V, mobile carriers, inhibitors (Cyanide, DNP, etc.)πŸ”‹ Strip diagram + tables
6 β€” CoenzymesNAD⁺, FAD, CoA, TPP, Biotin, PLP β€” vitamins + ATP yieldsπŸ§ͺ Reference table
7 β€” High-Yield FactsAerobic vs Anaerobic, exam traps, mnemonics🎯 Chip cards + comparison

⚑ Key Numbers to Burn Into Memory

  • 1 Glucose (aerobic) = ~32 ATP
  • NADH β†’ 2.5 ATP | FADHβ‚‚ β†’ 1.5 ATP
  • ATP hydrolysis Ξ”GΒ° = βˆ’7.3 kcal/mol
  • Anaerobic = only 2 ATP (cytoplasm only)
  • Uncouplers (DNP) = Oβ‚‚ consumption ↑ but ATP ↓ (exam trap!)
Sources: Harper's Illustrated Biochemistry 32e & Lippincott's Biochemistry 8e

how to open this html file

Here are all the ways to open it:

Option 1 β€” Download & Open (Easiest) βœ…

  1. Click the link in my previous message: study_sheet.html
  2. Your browser will download the file
  3. Find it in your Downloads folder
  4. Double-click the file β†’ it opens in your browser (Chrome, Firefox, Edge, Safari β€” any works)

Option 2 β€” Open Directly in Browser

  1. Open Chrome / Firefox / Edge
  2. Press Ctrl + O (Windows/Linux) or Cmd + O (Mac)
  3. Navigate to your Downloads folder
  4. Select study_sheet.html β†’ click Open

Option 3 β€” Drag & Drop

  1. Find the downloaded file in your file explorer
  2. Drag it into an open browser window
  3. Done β€” it renders instantly

Option 4 β€” Right-click Method

  1. Right-click the .html file
  2. Select "Open with"
  3. Choose any web browser

⚠️ Troubleshooting

ProblemFix
File opens as raw code/textRight-click β†’ Open with β†’ Browser (not Notepad)
Link doesn't downloadTry right-click β†’ "Save link as"
Looks broken/unstyledAll styles are inline β€” try a different browser

The file is completely self-contained (no internet needed once downloaded) β€” all colours, tables, and layouts are built into the single HTML file.

this is not open in my laptop

Reading File
Running Command

which wkhtmltopdf && wkhtmltopdf --version

Running Command

which weasyprint && weasyprint --version 2>/dev/null; which chromium-browser 2>/dev/null; which google-chrome 2>/dev/null; which chromium 2>/dev/null; python3 -c "import weasyprint; print('weasyprint ok')" 2>/dev/null; python3 -c "import pdfkit; print('pdfkit ok')" 2>/dev/null

Running Command

chromium --headless --disable-gpu --no-sandbox --print-to-pdf=/home/daytona/workspace/biomolecules-bioenergetics/study_sheet.pdf --print-to-pdf-no-header "file:///home/daytona/workspace/biomolecules-bioenergetics/study_sheet.html" 2>&1 | tail -5

Your PDF is ready! Download it here:

study sheet

PDF Document Β· PDF


How to open it:

  • Click the link above to download
  • It will open automatically with any PDF viewer (Adobe Reader, your browser, Preview on Mac, or the built-in Windows PDF viewer)
  • No special software needed - PDFs work on every laptop out of the box

this pdf will not open

Running Command

python3 -c "from reportlab.lib.pagesizes import A4; print('reportlab ok')"

Writing File

~/biomolecules-bioenergetics/build_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table,
                                 TableStyle, HRFlowable, KeepTogether)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus.flowables import Flowable
import os

OUT = "/home/daytona/workspace/biomolecules-bioenergetics/Biomolecules_Bioenergetics_StudySheet.pdf"

# ── Colour palette ──────────────────────────────────────────────────────────
C_NAVY    = colors.HexColor("#1a237e")
C_CARB    = colors.HexColor("#2e7d32")
C_CARB_BG = colors.HexColor("#e8f5e9")
C_PROT    = colors.HexColor("#1565c0")
C_PROT_BG = colors.HexColor("#e3f2fd")
C_LIPID   = colors.HexColor("#e65100")
C_LIPID_BG= colors.HexColor("#fff3e0")
C_NUC     = colors.HexColor("#6a1b9a")
C_NUC_BG  = colors.HexColor("#f3e5f5")
C_ATP     = colors.HexColor("#880e4f")
C_ATP_BG  = colors.HexColor("#fce4ec")
C_ETC     = colors.HexColor("#006064")
C_ETC_BG  = colors.HexColor("#e0f7fa")
C_ENERGY  = colors.HexColor("#f57f17")
C_ENERGY_BG=colors.HexColor("#fff8e1")
C_GRAY    = colors.HexColor("#546e7a")
C_LGRAY   = colors.HexColor("#eceff1")
C_WHITE   = colors.white
C_YELLOW  = colors.HexColor("#fffde7")
C_YEL_BOR = colors.HexColor("#fdd835")
C_GREEN_L = colors.HexColor("#f1f8e9")
C_RED_L   = colors.HexColor("#ffebee")
C_BLUE_L  = colors.HexColor("#e3f2fd")

doc = SimpleDocTemplate(
    OUT, pagesize=A4,
    topMargin=1.2*cm, bottomMargin=1.2*cm,
    leftMargin=1.4*cm, rightMargin=1.4*cm,
    title="Biomolecules + Bioenergetics Study Sheet"
)
W, H = A4
CW = W - 2.8*cm   # content width

styles = getSampleStyleSheet()

def S(name, **kw):
    """Quick paragraph style factory."""
    base = styles["Normal"]
    return ParagraphStyle(name, parent=base, **kw)

# ── Reusable styles ──────────────────────────────────────────────────────────
sNormal  = S("sNormal", fontSize=8, leading=11)
sBold    = S("sBold",   fontSize=8, leading=11, fontName="Helvetica-Bold")
sSmall   = S("sSmall",  fontSize=7, leading=10)
sCenter  = S("sCenter", fontSize=8, leading=11, alignment=TA_CENTER)
sCenterB = S("sCenterB",fontSize=8, leading=11, alignment=TA_CENTER, fontName="Helvetica-Bold")
sTinyC   = S("sTinyC",  fontSize=6.5, leading=9, alignment=TA_CENTER)

def sec_title(text, color=C_NAVY):
    return Paragraph(f"<font color='#{color.hexval()[2:]}' size='12'><b>{text}</b></font>",
                     S("st", fontSize=12, fontName="Helvetica-Bold", spaceAfter=4,
                       borderPadding=(0,0,3,0)))

def card_hdr(text, bg, fg=C_WHITE):
    tbl = Table([[Paragraph(f"<b>{text}</b>",
                            S("ch", fontSize=9, fontName="Helvetica-Bold",
                              textColor=fg))]],
                colWidths=[CW], rowHeights=[18])
    tbl.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("LEFTPADDING",  (0,0), (-1,-1), 8),
        ("RIGHTPADDING", (0,0), (-1,-1), 8),
        ("TOPPADDING",   (0,0), (-1,-1), 3),
        ("BOTTOMPADDING",(0,0), (-1,-1), 3),
        ("ROUNDEDCORNERS", [5]),
    ]))
    return tbl

def remember_box(text, bg, border_color):
    tbl = Table([[Paragraph(text, S("rb", fontSize=7.5, leading=10))]],
                colWidths=[CW-4])
    tbl.setStyle(TableStyle([
        ("BACKGROUND",   (0,0),(-1,-1), bg),
        ("LEFTPADDING",  (0,0),(-1,-1), 8),
        ("RIGHTPADDING", (0,0),(-1,-1), 6),
        ("TOPPADDING",   (0,0),(-1,-1), 5),
        ("BOTTOMPADDING",(0,0),(-1,-1), 5),
        ("LINEBEFOREBOX",(0,0),(-1,-1), 4, border_color),
        ("BOX",          (0,0),(-1,-1), 0.5, border_color),
    ]))
    return tbl

def hr(color=C_NAVY, thickness=1.5):
    return HRFlowable(width="100%", thickness=thickness, color=color, spaceAfter=4, spaceBefore=2)

def sp(h=6):
    return Spacer(1, h)

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

# ══════════════ HEADER ══════════════════════════════════════════════════════
hdr_data = [[
    Paragraph("<font color='white' size='18'><b>🧬 Biomolecules + Bioenergetics</b></font>",
              S("h1", fontSize=18, fontName="Helvetica-Bold", alignment=TA_CENTER, textColor=C_WHITE)),
],[
    Paragraph("<font color='white' size='9'>Biochemistry Rapid Revision  |  Harper's 32e &amp; Lippincott's 8e</font>",
              S("h2", fontSize=9, alignment=TA_CENTER, textColor=C_WHITE)),
],[
    Paragraph("<font color='#212121' size='8'><b>⚑ 5-Minute Revision Sheet</b></font>",
              S("badge", fontSize=8, fontName="Helvetica-Bold", alignment=TA_CENTER)),
]]
hdr = Table(hdr_data, colWidths=[CW])
hdr.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(0,1), C_NAVY),
    ("BACKGROUND",   (0,2),(0,2), colors.HexColor("#ffeb3b")),
    ("TOPPADDING",   (0,0),(-1,-1), 8),
    ("BOTTOMPADDING",(0,0),(-1,-1), 6),
    ("ALIGN",        (0,0),(-1,-1), "CENTER"),
    ("ROUNDEDCORNERS", [8]),
]))
story += [hdr, sp(10)]

# ══════════════ SECTION 1 β€” MIND MAP (as a colour grid) ═════════════════════
story += [sec_title("🧠  Section 1 β€” Big Picture Mind Map", C_NAVY), hr(C_NAVY)]

mm_data = [
    [
        Paragraph("<b>🍭 Carbohydrates</b><br/><font size='7'>Monosaccharidesβ†’Polysaccharides<br/>Energy source, cell signals</font>",
                  S("mm", fontSize=8, leading=11, alignment=TA_CENTER)),
        Paragraph("<b>🧩 Proteins</b><br/><font size='7'>Amino acidsβ†’Polypeptides<br/>Structure, enzymes, transport</font>",
                  S("mm2", fontSize=8, leading=11, alignment=TA_CENTER)),
        Paragraph("<b>🧈 Lipids</b><br/><font size='7'>FA, Triglycerides, Phospholipids<br/>Energy storage, membranes</font>",
                  S("mm3", fontSize=8, leading=11, alignment=TA_CENTER)),
    ],
    [
        Paragraph("<b>πŸ”¬ Nucleic Acids</b><br/><font size='7'>DNA &amp; RNA<br/>Purine/Pyrimidine bases</font>",
                  S("mm4", fontSize=8, leading=11, alignment=TA_CENTER)),
        Paragraph("<font color='white' size='9'><b>BIOCHEMISTRY\nCORE</b></font>",
                  S("mmc", fontSize=9, fontName="Helvetica-Bold", alignment=TA_CENTER, textColor=C_WHITE, leading=14)),
        Paragraph("<b>⚑ ATP &amp; Bioenergetics</b><br/><font size='7'>Ξ”G, Keq, Free Energy<br/>Coupled reactions</font>",
                  S("mm5", fontSize=8, leading=11, alignment=TA_CENTER)),
    ],
    [
        Paragraph("<b>πŸ”‹ ETC &amp; OXPHOS</b><br/><font size='7'>Complexes I–V<br/>32 ATP per glucose</font>",
                  S("mm6", fontSize=8, leading=11, alignment=TA_CENTER)),
        Paragraph("<font size='7'>All pathways converge<br/>on ATP production</font>",
                  S("mm7", fontSize=7, leading=10, alignment=TA_CENTER)),
        Paragraph("<b>πŸ§ͺ Coenzymes</b><br/><font size='7'>NAD+, FAD, CoA<br/>Vitamin-derived carriers</font>",
                  S("mm8", fontSize=8, leading=11, alignment=TA_CENTER)),
    ],
]
col_w = CW / 3
mm_tbl = Table(mm_data, colWidths=[col_w]*3, rowHeights=[38, 45, 38])
mm_tbl.setStyle(TableStyle([
    # row 0
    ("BACKGROUND", (0,0),(0,0), C_CARB_BG),
    ("BACKGROUND", (1,0),(1,0), C_PROT_BG),
    ("BACKGROUND", (2,0),(2,0), C_LIPID_BG),
    # row 1
    ("BACKGROUND", (0,1),(0,1), C_NUC_BG),
    ("BACKGROUND", (1,1),(1,1), C_NAVY),
    ("BACKGROUND", (2,1),(2,1), C_ATP_BG),
    # row 2
    ("BACKGROUND", (0,2),(0,2), C_ETC_BG),
    ("BACKGROUND", (1,2),(1,2), C_LGRAY),
    ("BACKGROUND", (2,2),(2,2), C_ENERGY_BG),
    ("ALIGN",      (0,0),(-1,-1), "CENTER"),
    ("VALIGN",     (0,0),(-1,-1), "MIDDLE"),
    ("GRID",       (0,0),(-1,-1), 0.5, C_WHITE),
    ("TOPPADDING", (0,0),(-1,-1), 5),
    ("BOTTOMPADDING",(0,0),(-1,-1), 5),
    ("ROUNDEDCORNERS", [6]),
]))
story += [mm_tbl, sp(12)]

# ══════════════ SECTION 2 β€” BIOMOLECULES ════════════════════════════════════
story += [sec_title("🍬  Section 2 β€” Biomolecules at a Glance", C_CARB), hr(C_CARB)]

# ── Carbohydrates ────────────────────────────────────────────────────────────
story += [card_hdr("🍭  Carbohydrates", C_CARB), sp(2)]
carb_data = [
    ["Type", "Examples", "Key Feature"],
    ["Monosaccharide", "Glucose, Fructose, Galactose", "Aldoses/Ketoses; reducing sugars"],
    ["Disaccharide",   "Sucrose, Lactose, Maltose",    "Glycosidic bond (Ξ± or Ξ²)"],
    ["Oligosaccharide","Raffinose, cell-surface", "3–10 monosaccharides"],
    ["Polysaccharide", "Glycogen, Starch, Cellulose",  "Ξ±-1,4 (+ Ξ±-1,6 branches in glycogen)"],
]
carb_tbl = Table(carb_data, colWidths=[CW*0.22, CW*0.38, CW*0.40])
carb_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_CARB),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_CARB_BG, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#c8e6c9")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
]))
story += [carb_tbl, sp(3)]
story += [remember_box("<b>Remember:</b> Glycogen = Ξ±-1,4 backbone + Ξ±-1,6 branch points (liver & muscle). "
                       "Cellulose = Ξ²-1,4 (not digestible). Brain is 100% glucose-dependent normally.",
                       C_GREEN_L, C_CARB), sp(8)]

# ── Proteins ─────────────────────────────────────────────────────────────────
story += [card_hdr("🧩  Proteins β€” Structural Levels", C_PROT), sp(2)]
prot_data = [
    ["Level", "Description", "Stabilising Forces"],
    ["1Β° Primary",   "AA sequence; peptide bonds",            "Covalent (peptide bond)"],
    ["2Β° Secondary", "Ξ±-helix, Ξ²-sheet, turns",               "H-bonds along backbone"],
    ["3Β° Tertiary",  "Full 3D fold of polypeptide",           "H-bonds, Van der Waals, hydrophobic, disulfide"],
    ["4Β° Quaternary","Multiple subunits (e.g. Haemoglobin)",  "Same as 3Β° (mostly non-covalent)"],
]
prot_tbl = Table(prot_data, colWidths=[CW*0.18, CW*0.35, CW*0.47])
prot_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_PROT),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_PROT_BG, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#bbdefb")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
]))
story += [prot_tbl, sp(3)]
story += [remember_box("<b>Key:</b> Hydrophobic AA cluster in protein interior; charged/polar AA on surface. "
                       "Denaturation disrupts 2Β°/3Β°/4Β° β€” NOT primary structure (peptide bonds remain).",
                       C_BLUE_L, C_PROT), sp(8)]

# ── Lipids + Nucleic acids side by side ──────────────────────────────────────
story += [card_hdr("🧈  Lipids", C_LIPID), sp(2)]
lipid_data = [
    ["Class", "Components", "Function"],
    ["Fatty Acids",    "Saturated/Unsaturated chains", "Energy substrate (Ξ²-oxidation)"],
    ["Triglycerides",  "Glycerol + 3 FA",              "Long-term energy storage (adipose)"],
    ["Phospholipids",  "Glycerol + 2 FA + phosphate",  "Membrane bilayer; amphipathic"],
    ["Cholesterol",    "Sterol ring",                   "Membrane fluidity; steroid precursor"],
    ["Sphingolipids",  "Sphingosine + FA",              "Cell signalling; myelin sheath"],
]
lipid_tbl = Table(lipid_data, colWidths=[CW*0.22, CW*0.38, CW*0.40])
lipid_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_LIPID),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_LIPID_BG, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#ffe0b2")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
]))
story += [lipid_tbl, sp(3)]
story += [remember_box("<b>Key:</b> Phospholipids are amphipathic β€” hydrophilic head groups face water, "
                       "hydrophobic fatty acyl tails cluster together (bilayer).",
                       C_YELLOW, C_YEL_BOR), sp(8)]

story += [card_hdr("πŸ”¬  Nucleic Acids β€” DNA vs RNA", C_NUC), sp(2)]
nuc_data = [
    ["Feature",     "DNA",                          "RNA"],
    ["Sugar",       "2'-Deoxyribose",               "Ribose"],
    ["Bases",       "A, T, G, C",                   "A, U, G, C"],
    ["Structure",   "Double helix (B-form)",        "Single strand (mostly)"],
    ["Purines",     "Adenine (A), Guanine (G)",      "Same β€” double ring"],
    ["Pyrimidines", "Cytosine (C), Thymine (T)",     "Cytosine (C), Uracil (U) β€” single ring"],
    ["H-bonds",     "A=T (2 bonds), G≑C (3 bonds)", "A=U (2), G≑C (3)"],
]
nuc_tbl = Table(nuc_data, colWidths=[CW*0.22, CW*0.39, CW*0.39])
nuc_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_NUC),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_NUC_BG, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#e1bee7")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
]))
story += [nuc_tbl, sp(3)]
story += [remember_box("<b>Mnemonic:</b>  PURe As Gold = Purines: Adenine, Guanine (double ring).  "
                       "CUT the PY = Pyrimidines: Cytosine, Uracil, Thymine (single ring).",
                       C_BLUE_L, C_NUC), sp(10)]

# ══════════════ SECTION 3 β€” BIOENERGETICS ═══════════════════════════════════
story += [sec_title("⚑  Section 3 β€” Bioenergetics Core Concepts", C_ENERGY), hr(C_ENERGY)]

# Free energy table
story += [card_hdr("🌑️  Free Energy (Ξ”G)  β€”  Ξ”G = Ξ”H βˆ’ TΞ”S", C_ENERGY, fg=colors.HexColor("#212121")), sp(2)]
dg_data = [
    ["Ξ”G Sign", "Meaning", "Reaction Type", "Spontaneous?"],
    ["Ξ”G < 0",  "Energy released",           "Exergonic",  "YES βœ“"],
    ["Ξ”G > 0",  "Energy required",           "Endergonic", "NO  βœ—"],
    ["Ξ”G = 0",  "System at equilibrium",     "Equilibrium","No net change"],
]
dg_tbl = Table(dg_data, colWidths=[CW*0.18, CW*0.35, CW*0.25, CW*0.22])
dg_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_ENERGY),
    ("TEXTCOLOR",    (0,0),(-1,0), colors.HexColor("#212121")),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("BACKGROUND",   (0,1),(-1,1), colors.HexColor("#c8e6c9")),
    ("BACKGROUND",   (0,2),(-1,2), colors.HexColor("#ffcdd2")),
    ("BACKGROUND",   (0,3),(-1,3), colors.HexColor("#bbdefb")),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("GRID",         (0,0),(-1,-1), 0.3, C_LGRAY),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("FONTNAME",     (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [dg_tbl, sp(3)]
story += [remember_box("<b>Key equations:</b>  Ξ”GΒ° = βˆ’RT ln Keq  |  Ξ”G = Ξ”GΒ° + RT ln [products]/[reactants]  |  "
                       "Ξ”GΒ° values are ADDITIVE in sequential reactions.",
                       C_YELLOW, C_YEL_BOR), sp(8)]

# ATP card
story += [card_hdr("⚑  ATP β€” The Energy Currency", C_ATP), sp(2)]
atp_data = [
    ["ATP Property",                        "Detail"],
    ["Structure",                           "Adenosine + 3 phosphate groups"],
    ["Ξ”GΒ° of hydrolysis (ATPβ†’ADP+Pi)",      "βˆ’7.3 kcal/mol"],
    ["Ξ”GΒ° of hydrolysis (ATPβ†’AMP+PPi)",     "βˆ’7.3 kcal/mol (+ PPiβ†’2Pi adds ~βˆ’4 more)"],
    ["High-energy bonds",                   "2 phosphoanhydride bonds (β–γ and α–β)"],
    ["In-cell form",                        "Mg²⁺ complex (Mg-ATP)"],
    ["Adenylate kinase rxn",                "2 ADP β‡Œ ATP + AMP (keeps pool balanced)"],
    ["NOT used as",                         "Long-term energy store (turned over rapidly)"],
]
atp_tbl = Table(atp_data, colWidths=[CW*0.42, CW*0.58])
atp_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_ATP),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_ATP_BG, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#f8bbd0")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("FONTNAME",     (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [atp_tbl, sp(3)]
story += [remember_box("<b>EXAM TRAP:</b> ATP has 2 high-energy bonds (β–γ and α–β phosphoanhydride), NOT 3! "
                       "The Ξ±-phosphate bond to ribose is NOT high-energy.",
                       C_RED_L, colors.HexColor("#e53935")), sp(10)]

# ══════════════ SECTION 4 β€” FLOWCHART ════════════════════════════════════════
story += [sec_title("πŸ”€  Section 4 β€” Glucose β†’ ATP Flowchart", colors.HexColor("#00695c")), hr(colors.HexColor("#00695c"))]

flow_data = [[
    Paragraph("<b>🍭 Glucose</b>\nC₆H₁₂O₆", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Glycolysis</b>\nCytoplasm\n2 ATP net\n2 NADH", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Pyruvate\nDecarboxylation</b>\n→ Acetyl-CoA\n2 NADH+2CO₂", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>TCA Cycle</b>\n(Krebs)\nMitochondria\n6NADH,2FADHβ‚‚\n2 GTP", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>ETC</b>\nComplexes I–IV\nInner mito.\nmembrane\nH⁺ gradient", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>ATP Synthase</b>\nComplex V\nADP+Pi→ATP\n~32 ATP total", sTinyC),
]]
flow_tbl = Table(flow_data,
                 colWidths=[CW*0.10, CW*0.04, CW*0.12, CW*0.04,
                             CW*0.14, CW*0.04, CW*0.14, CW*0.04,
                             CW*0.14, CW*0.04, CW*0.12])
flow_tbl.setStyle(TableStyle([
    ("BACKGROUND",  (0,0),(0,0),  colors.HexColor("#a5d6a7")),
    ("BACKGROUND",  (2,0),(2,0),  colors.HexColor("#ffe082")),
    ("BACKGROUND",  (4,0),(4,0),  colors.HexColor("#e1bee7")),
    ("BACKGROUND",  (6,0),(6,0),  colors.HexColor("#bbdefb")),
    ("BACKGROUND",  (8,0),(8,0),  colors.HexColor("#80deea")),
    ("BACKGROUND",  (10,0),(10,0),colors.HexColor("#f48fb1")),
    ("BACKGROUND",  (1,0),(1,0),  C_LGRAY),
    ("BACKGROUND",  (3,0),(3,0),  C_LGRAY),
    ("BACKGROUND",  (5,0),(5,0),  C_LGRAY),
    ("BACKGROUND",  (7,0),(7,0),  C_LGRAY),
    ("BACKGROUND",  (9,0),(9,0),  C_LGRAY),
    ("ALIGN",       (0,0),(-1,-1),"CENTER"),
    ("VALIGN",      (0,0),(-1,-1),"MIDDLE"),
    ("TOPPADDING",  (0,0),(-1,-1), 6),
    ("BOTTOMPADDING",(0,0),(-1,-1),6),
    ("FONTSIZE",    (0,0),(-1,-1), 6.5),
    ("GRID",        (0,0),(-1,-1), 0.3, C_WHITE),
    ("ROUNDEDCORNERS", [4]),
]))
story += [flow_tbl, sp(6)]

# ATP Yield bar
yield_data = [[
    Paragraph("<b>Glycolysis</b>\n2 ATP", sTinyC),
    Paragraph("<b>Pyruvate\nDecarb.</b>\n~5 ATP", sTinyC),
    Paragraph("<b>TCA Cycle\n(NADH)</b>\n~20 ATP", sTinyC),
    Paragraph("<b>FADHβ‚‚\n(ETC)</b>\n~3 ATP", sTinyC),
    Paragraph("<b>GTP /\nmisc</b>\n~2 ATP", sTinyC),
    Paragraph("<font color='white'><b>TOTAL\nβ‰ˆ32 ATP</b></font>", sTinyC),
]]
yield_tbl = Table(yield_data, colWidths=[CW*0.13, CW*0.13, CW*0.22, CW*0.13, CW*0.13, CW*0.13],
                  rowHeights=[32])
yield_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(0,0), colors.HexColor("#a5d6a7")),
    ("BACKGROUND", (1,0),(1,0), colors.HexColor("#ffe082")),
    ("BACKGROUND", (2,0),(2,0), colors.HexColor("#bbdefb")),
    ("BACKGROUND", (3,0),(3,0), colors.HexColor("#ce93d8")),
    ("BACKGROUND", (4,0),(4,0), colors.HexColor("#f48fb1")),
    ("BACKGROUND", (5,0),(5,0), colors.HexColor("#37474f")),
    ("ALIGN",      (0,0),(-1,-1),"CENTER"),
    ("VALIGN",     (0,0),(-1,-1),"MIDDLE"),
    ("FONTSIZE",   (0,0),(-1,-1), 7),
    ("FONTNAME",   (5,0),(5,0), "Helvetica-Bold"),
    ("GRID",       (0,0),(-1,-1), 0.5, C_WHITE),
    ("ROUNDEDCORNERS", [4]),
]))
story += [yield_tbl, sp(10)]

# ══════════════ SECTION 5 β€” ETC ══════════════════════════════════════════════
story += [sec_title("πŸ”‹  Section 5 β€” Electron Transport Chain Complexes", C_ETC), hr(C_ETC)]

etc_data = [[
    Paragraph("<b>Complex I</b>\nNADH\nDehydrogenase\nNADHβ†’NAD⁺\nPumps 4H⁺\nContains FMN", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Complex II</b>\nSuccinate\nDehydrogenase\nFADHβ‚‚β†’FAD\nNO H⁺ pump!\nLinks TCAβ†’ETC", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Complex III</b>\nCytochrome bc₁\nCoQβ†’Cyt c\nPumps 4H⁺\nQ cycle", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Complex IV</b>\nCyt c Oxidase\nCyt cβ†’Oβ‚‚\nPumps 2H⁺\nOβ‚‚β†’Hβ‚‚O\nCu,heme a,a₃", sTinyC),
    Paragraph("β†’", sCenterB),
    Paragraph("<b>Complex V</b>\nATP Synthase\nADP+Piβ†’ATP\nH⁺ flows back\nFβ‚€ motor/F₁\n~3 ATP/NADH", sTinyC),
]]
etc_tbl = Table(etc_data,
                colWidths=[CW*0.18, CW*0.04, CW*0.18, CW*0.04,
                            CW*0.15, CW*0.04, CW*0.18, CW*0.04, CW*0.15],
                rowHeights=[62])
etc_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(0,0), colors.HexColor("#ef9a9a")),
    ("BACKGROUND", (2,0),(2,0), colors.HexColor("#ffcc80")),
    ("BACKGROUND", (4,0),(4,0), colors.HexColor("#a5d6a7")),
    ("BACKGROUND", (6,0),(6,0), colors.HexColor("#90caf9")),
    ("BACKGROUND", (8,0),(8,0), colors.HexColor("#ce93d8")),
    ("BACKGROUND", (1,0),(1,0), C_LGRAY),
    ("BACKGROUND", (3,0),(3,0), C_LGRAY),
    ("BACKGROUND", (5,0),(5,0), C_LGRAY),
    ("BACKGROUND", (7,0),(7,0), C_LGRAY),
    ("ALIGN",      (0,0),(-1,-1), "CENTER"),
    ("VALIGN",     (0,0),(-1,-1), "MIDDLE"),
    ("FONTSIZE",   (0,0),(-1,-1), 6.5),
    ("GRID",       (0,0),(-1,-1), 0.4, C_WHITE),
    ("ROUNDEDCORNERS", [4]),
]))
story += [etc_tbl, sp(6)]

# ETC Inhibitors
story += [card_hdr("πŸ›‘  ETC Inhibitors β€” High Yield", C_ATP), sp(2)]
inh_data = [
    ["Inhibitor",              "Target",      "Mechanism"],
    ["Rotenone / Amytal",      "Complex I",   "Blocks NADH oxidation"],
    ["Malonate",               "Complex II",  "Competitive inhibitor of succinate"],
    ["Antimycin A",            "Complex III", "Blocks Q cycle (Cyt b β†’ Cyt c₁)"],
    ["Cyanide / CO / Hβ‚‚S",     "Complex IV",  "Bind heme a₃; block Oβ‚‚ binding β†’ DEATH"],
    ["Oligomycin",             "Complex V (Fβ‚€)", "Blocks H⁺ channel; stops ATP synthesis"],
    ["DNP / Thermogenin (UCP-1)","Inner membrane","Uncoupler: dissipates H⁺ gradient as heat"],
]
inh_tbl = Table(inh_data, colWidths=[CW*0.30, CW*0.22, CW*0.48])
inh_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), C_ATP),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_ATP_BG, C_WHITE]),
    ("BACKGROUND",   (0,6),(-1,6), colors.HexColor("#fff9c4")),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#f8bbd0")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("FONTNAME",     (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [inh_tbl, sp(3)]
story += [remember_box("<b>EXAM TRAP β€” Uncouplers vs Inhibitors:</b>  Inhibitors stop BOTH electron transport "
                       "AND ATP synthesis.  Uncouplers (DNP, Thermogenin) allow electron transport to continue "
                       "but dissipate the proton gradient as heat β€” ATP synthesis stops but Oβ‚‚ consumption INCREASES.",
                       C_RED_L, colors.HexColor("#e53935")), sp(10)]

# ══════════════ SECTION 6 β€” COENZYMES ════════════════════════════════════════
story += [sec_title("πŸ§ͺ  Section 6 β€” Key Coenzymes & Vitamins", colors.HexColor("#00796b")), hr(colors.HexColor("#00796b"))]

coen_data = [
    ["Coenzyme", "Vitamin Precursor", "Oxidised Form", "Reduced Form", "ETC Entry", "ATP Yield"],
    ["NAD⁺",  "Niacin (B₃)",        "NAD⁺",   "NADH",    "Complex I",  "~2.5 ATP"],
    ["FAD",   "Riboflavin (Bβ‚‚)",    "FAD",    "FADHβ‚‚",   "Complex II", "~1.5 ATP"],
    ["CoA",   "Pantothenic acid (Bβ‚…)","Active","Acyl-CoA","Acyl carrier","β€”"],
    ["TPP",   "Thiamine (B₁)",      "Active", "Active",  "Decarboxylations","β€”"],
    ["Biotin","Biotin (B₇)",        "Active", "Active",  "COβ‚‚ carrier", "β€”"],
    ["PLP",   "Pyridoxine (B₆)",    "Active", "Active",  "Transamination","β€”"],
]
coen_tbl = Table(coen_data,
                 colWidths=[CW*0.10, CW*0.22, CW*0.13, CW*0.13, CW*0.25, CW*0.17])
coen_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(-1,0), colors.HexColor("#00695c")),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_ETC_BG, C_WHITE]),
    ("BACKGROUND",   (0,1),(-1,1), colors.HexColor("#b2dfdb")),
    ("BACKGROUND",   (0,2),(-1,2), colors.HexColor("#e0f2f1")),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#b2dfdb")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("FONTNAME",     (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [coen_tbl, sp(3)]
story += [remember_box("<b>Numbers to burn in:</b>  NADH β†’ 2.5 ATP  |  FADHβ‚‚ β†’ 1.5 ATP  |  "
                       "P/O ratio reflects chemiosmotic coupling efficiency (Mitchell hypothesis).",
                       C_GREEN_L, colors.HexColor("#43a047")), sp(10)]

# ══════════════ SECTION 7 β€” HIGH YIELD + COMPARISON ═════════════════════════
story += [sec_title("🎯  Section 7 β€” Last-Minute High-Yield Facts", colors.HexColor("#c62828")), hr(colors.HexColor("#c62828"))]

# 4-column quick facts
qf_data = [[
    Paragraph("<b>🍭 Carbs</b>\n\n"
              "β€’ Reducing sugar =\n  free anomeric -OH\n"
              "β€’ Glycogen: liver+\n  muscle\n"
              "β€’ Cellulose: Ξ²-1,4\n  (not digestible)\n"
              "β€’ Glycoproteins:\n  N-linked (Asn)\n  O-linked (Ser/Thr)", sSmall),
    Paragraph("<b>🧩 Proteins</b>\n\n"
              "β€’ 20 standard AAs\n"
              "β€’ 9 are essential\n  (cannot synthesise)\n"
              "β€’ Disulfide bonds:\n  Cys-Cys (oxidation)\n"
              "β€’ Chaperones prevent\n  misfolding\n"
              "β€’ Zymogen = inactive\n  enzyme precursor", sSmall),
    Paragraph("<b>⚑ ATP Facts</b>\n\n"
              "β€’ Ξ”GΒ°= -7.3 kcal/mol\n"
              "β€’ PEP > ATP > AMP\n  (energy hierarchy)\n"
              "β€’ Creatine phosphate:\n  muscle energy reserve\n"
              "β€’ [ATP]>>[ADP] in cell\n  drives reactions\n"
              "β€’ Substrate-level vs\n  oxidative phosphorylation", sSmall),
    Paragraph("<b>πŸ”‹ ETC Numbers</b>\n\n"
              "β€’ NADH β†’ 2.5 ATP\n"
              "β€’ FADHβ‚‚ β†’ 1.5 ATP\n"
              "β€’ 1 Glucose β†’ ~32 ATP\n  (aerobic)\n"
              "β€’ 1 Glucose β†’ 2 ATP\n  (anaerobic)\n"
              "β€’ Oβ‚‚ consumed only\n  at Complex IV\n"
              "β€’ Cyt c: between III & IV", sSmall),
]]
qf_tbl = Table(qf_data, colWidths=[CW/4]*4, rowHeights=[130])
qf_tbl.setStyle(TableStyle([
    ("BACKGROUND", (0,0),(0,0), colors.HexColor("#fff3e0")),
    ("BACKGROUND", (1,0),(1,0), colors.HexColor("#e3f2fd")),
    ("BACKGROUND", (2,0),(2,0), colors.HexColor("#fce4ec")),
    ("BACKGROUND", (3,0),(3,0), colors.HexColor("#e0f7fa")),
    ("LINEABOVE",  (0,0),(0,0), 4, C_LIPID),
    ("LINEABOVE",  (1,0),(1,0), 4, C_PROT),
    ("LINEABOVE",  (2,0),(2,0), 4, C_ATP),
    ("LINEABOVE",  (3,0),(3,0), 4, C_ETC),
    ("VALIGN",     (0,0),(-1,-1), "TOP"),
    ("TOPPADDING", (0,0),(-1,-1), 8),
    ("LEFTPADDING",(0,0),(-1,-1), 8),
    ("FONTSIZE",   (0,0),(-1,-1), 7.5),
    ("GRID",       (0,0),(-1,-1), 0.5, C_WHITE),
    ("ROUNDEDCORNERS", [4]),
]))
story += [qf_tbl, sp(8)]

# Aerobic vs Anaerobic
story += [card_hdr("πŸ“Š  Aerobic vs Anaerobic β€” Side by Side", C_GRAY), sp(2)]
vs_data = [
    ["Feature",               "AEROBIC",               "ANAEROBIC"],
    ["Oβ‚‚ required",           "Yes",                   "No"],
    ["ATP yield (per glucose)","~32 ATP",               "2 ATP"],
    ["Final electron acceptor","Oβ‚‚ (β†’ Hβ‚‚O)",           "Pyruvate (β†’ Lactate)"],
    ["Location",              "Cytoplasm + Mitochondria","Cytoplasm only"],
    ["NADH fate",             "ETC β†’ ATP synthesis",   "Regenerates NAD⁺"],
    ["End products",          "COβ‚‚ + Hβ‚‚O",             "Lactate (animals) / Ethanol (yeast)"],
    ["Speed",                 "Slow but efficient",    "Fast but inefficient"],
]
vs_tbl = Table(vs_data, colWidths=[CW*0.32, CW*0.34, CW*0.34])
vs_tbl.setStyle(TableStyle([
    ("BACKGROUND",   (0,0),(0,0), colors.HexColor("#455a64")),
    ("BACKGROUND",   (1,0),(1,0), colors.HexColor("#2e7d32")),
    ("BACKGROUND",   (2,0),(2,0), colors.HexColor("#b71c1c")),
    ("TEXTCOLOR",    (0,0),(-1,0), C_WHITE),
    ("FONTNAME",     (0,0),(-1,0), "Helvetica-Bold"),
    ("FONTSIZE",     (0,0),(-1,-1), 7.5),
    ("ROWBACKGROUNDS",(0,1),(-1,-1), [C_LGRAY, C_WHITE]),
    ("GRID",         (0,0),(-1,-1), 0.3, colors.HexColor("#cfd8dc")),
    ("TOPPADDING",   (0,0),(-1,-1), 4),
    ("BOTTOMPADDING",(0,0),(-1,-1), 4),
    ("LEFTPADDING",  (0,0),(-1,-1), 6),
    ("FONTNAME",     (0,1),(0,-1), "Helvetica-Bold"),
]))
story += [vs_tbl, sp(8)]

# ══════════════ FOOTER ═══════════════════════════════════════════════════════
story += [
    hr(C_LGRAY, 0.5),
    Paragraph("<font color='#90a4ae' size='7'>Sources: Harper's Illustrated Biochemistry 32e &amp; "
              "Lippincott's Biochemistry 8e  |  Orris Study Sheet  |  For revision purposes only</font>",
              S("footer", fontSize=7, alignment=TA_CENTER, textColor=colors.HexColor("#90a4ae"))),
]

# ══════════════ BUILD ════════════════════════════════════════════════════════
doc.build(story)
print(f"PDF written to: {OUT}")
print(f"File size: {os.path.getsize(OUT):,} bytes")
Running Command

python3 /home/daytona/workspace/biomolecules-bioenergetics/build_pdf.py 2>&1

Your PDF is rebuilt from scratch using Python β€” no browser involved. Download it here:

Biomolecules Bioenergetics StudySheet

PDF Document Β· PDF


This PDF contains all 7 sections:
  • 🧠 Mind Map grid (colour-coded)
  • 🍬 Carbs, Proteins, Lipids, Nucleic Acids tables
  • ⚑ Free Energy (Ξ”G) + ATP tables
  • πŸ”€ Glucose β†’ ATP flowchart with ATP yield bar
  • πŸ”‹ ETC complexes I–V strip + inhibitors table
  • πŸ§ͺ Coenzymes & vitamins table
  • 🎯 High-yield facts + Aerobic vs Anaerobic comparison
It should open on any laptop, phone, or tablet with a standard PDF viewer. Just click the link above to download.

Give me all interface in chat section

Here is the complete study sheet rendered directly in chat β€” all 7 sections:

🧬 Biomolecules + Bioenergetics

⚑ 5-Minute Rapid Revision Sheet | Harper's 32e & Lippincott's 8e


🧠 Section 1 β€” Big Picture Mind Map

                    🍭 CARBOHYDRATES              🧩 PROTEINS
                  Monosaccharides→Polysaccharides  AA→Polypeptides
                  Energy source, cell signals      Structure, enzymes
                           \                           /
                            \                         /
        🧈 LIPIDS β€”β€”β€”β€”β€”β€”β€”β€”β€” [ BIOCHEMISTRY CORE ] β€”β€”β€”β€”β€”β€”β€”β€”β€” πŸ”¬ NUCLEIC ACIDS
        FA, TG, Phospholipids       ⬆⬇            DNA & RNA, Purines/Pyrimidines
        Energy storage, membranes  /   \
                                  /     \
                   ⚑ ATP & BIOENERGETICS   πŸ”‹ ETC & OXPHOS
                   Ξ”G, Keq, Coupled rxns   Complexes I–V, 32 ATP

🍬 Section 2 β€” Biomolecules at a Glance

🍭 Carbohydrates

TypeExamplesKey Feature
MonosaccharideGlucose, Fructose, GalactoseAldoses/Ketoses; reducing sugars
DisaccharideSucrose, Lactose, MaltoseGlycosidic bond (Ξ± or Ξ²)
OligosaccharideRaffinose, cell-surface oligosaccharides3–10 monosaccharides
PolysaccharideGlycogen, Starch, CelluloseΞ±-1,4 (+ Ξ±-1,6 branch in Glycogen)
🟒 Remember: Glycogen = α-1,4 backbone + α-1,6 branch points (liver & muscle). Cellulose = β-1,4 (NOT digestible). Brain = 100% glucose-dependent normally.

🧩 Proteins β€” Structural Levels

LevelDescriptionStabilising Forces
1Β° PrimaryAA sequence; peptide bondsCovalent (peptide bond)
2Β° SecondaryΞ±-helix, Ξ²-sheet, turnsH-bonds along backbone
3Β° TertiaryFull 3D fold of polypeptideH-bonds, Van der Waals, hydrophobic, disulfide
4Β° QuaternaryMultiple subunits (e.g. Hb)Same as 3Β° (mostly non-covalent)
πŸ”΅ Key: Hydrophobic AA cluster inside the protein; charged/polar AA on the surface. Denaturation disrupts 2Β°/3Β°/4Β° β€” NOT 1Β° (peptide bonds remain intact).

🧈 Lipids

ClassComponentsFunction
Fatty AcidsSaturated / Unsaturated chainsEnergy substrate (Ξ²-oxidation)
TriglyceridesGlycerol + 3 FALong-term energy storage (adipose)
PhospholipidsGlycerol + 2 FA + phosphate headMembrane bilayer; amphipathic
CholesterolSterol ringMembrane fluidity; steroid precursor
SphingolipidsSphingosine + FACell signalling; myelin sheath
🟑 Key: Phospholipids are amphipathic β€” hydrophilic heads face water, hydrophobic tails cluster together to form the bilayer.

πŸ”¬ Nucleic Acids β€” DNA vs RNA

FeatureDNARNA
Sugar2'-DeoxyriboseRibose
BasesA, T, G, CA, U, G, C
StructureDouble helixSingle strand
PurinesAdenine (A), Guanine (G) β€” double ringSame
PyrimidinesCytosine (C), Thymine (T) β€” single ringCytosine (C), Uracil (U)
H-bondsA=T (2 bonds), G≑C (3 bonds)A=U (2), G≑C (3)
🟣 Mnemonic: PURe As Gold = Purines: Adenine, Guanine. CUT the PY = Pyrimidines: Cytosine, Uracil, Thymine.

πŸ”— Covalent Bond Energies (Quick Reference)

BondEnergy (kcal/mol)BondEnergy (kcal/mol)
O–O34C–H99
S–S (disulfide)51C–S108
C–N70O–H110
N–H94C=O164

⚑ Section 3 β€” Bioenergetics Core Concepts

🌑️ Free Energy

        Ξ”G  =  Ξ”H  βˆ’  TΒ·Ξ”S
        β”‚       β”‚       β”‚
        β”‚    Enthalpy  Entropy Γ— Temp (K)
     Free energy change
Ξ”G SignMeaningReaction TypeSpontaneous?
Ξ”G < 0 βœ…Energy releasedExergonicYES
Ξ”G > 0 ❌Energy requiredEndergonicNO
Ξ”G = 0 βš–οΈEquilibriumNo net changeβ€”
Key equations:
  • Ξ”GΒ° = βˆ’RT ln Keq
  • Ξ”G = Ξ”GΒ° + RT ln [Products]/[Reactants]
  • Ξ”GΒ° values are additive in sequential reactions
  • Standard conditions: 1 mol/L, pH 7.0, 25Β°C
🟑 Key: Ξ”GΒ° = βˆ’RT ln Keq. If Keq > 1 β†’ Ξ”GΒ° < 0 (favourable). If Keq < 1 β†’ Ξ”GΒ° > 0 (unfavourable).

⚑ ATP β€” The Energy Currency

ATP PropertyDetail
StructureAdenosine + 3 phosphate groups
Ξ”GΒ° of hydrolysis (ATPβ†’ADP+Pi)βˆ’7.3 kcal/mol
High-energy bonds2 phosphoanhydride bonds (β–γ and α–β)
In-cell formMg²⁺ complex (Mg-ATP)
Adenylate kinase2 ADP β‡Œ ATP + AMP
NOT used asLong-term energy store (turned over rapidly)
Creatine phosphateMuscle energy reserve (Ξ”GΒ° = βˆ’10.3 kcal/mol)
πŸ”΄ EXAM TRAP: ATP has 2 high-energy bonds (β–γ and α–β phosphoanhydride), NOT 3! The α–ribose bond is NOT high-energy.

πŸ”„ Coupled Reactions (Worked Example)

Glucose + Pi β†’ Glucose-6-P       Ξ”GΒ° = +3.3 kcal/mol  ❌ (unfavourable)
ATP β†’ ADP + Pi                   Ξ”GΒ° = βˆ’7.3 kcal/mol  βœ… (favourable)
─────────────────────────────────────────────────────────
NET: Glucose + ATP β†’ G-6-P + ADP Ξ”GΒ° = βˆ’4.0 kcal/mol  βœ… SPONTANEOUS
  • Endergonic reactions are driven by coupling to ATP hydrolysis
  • Share a common intermediate
  • Overall Ξ”GΒ° = sum of individual Ξ”GΒ° values

πŸ”€ Section 4 β€” Glucose β†’ ATP Flowchart

🍭 GLUCOSE
    β”‚
    β–Ό ─────────────────────────────────────────
   GLYCOLYSIS (Cytoplasm)
   β€’ 2 ATP net (substrate-level phosphorylation)
   β€’ 2 NADH produced
   β€’ Glucose (C6) β†’ 2 Pyruvate (C3)
    β”‚
    β–Ό ─────────────────────────────────────────
   PYRUVATE DECARBOXYLATION (Mitochondrial matrix)
   β€’ Pyruvate β†’ Acetyl-CoA
   β€’ 2 NADH + 2 COβ‚‚ released
   β€’ Enzyme: Pyruvate dehydrogenase complex (needs B₁/TPP)
    β”‚
    β–Ό ─────────────────────────────────────────
   TCA CYCLE / KREBS CYCLE (Mitochondrial matrix)
   β€’ Per glucose: 6 NADH, 2 FADHβ‚‚, 2 GTP
   β€’ Produces: 4 COβ‚‚
   β€’ Key intermediates: Citrate β†’ Isocitrate β†’ Ξ±-KG
     β†’ Succinyl-CoA β†’ Succinate β†’ Fumarate β†’ Malate β†’ OAA
    β”‚
    β–Ό ─────────────────────────────────────────
   ELECTRON TRANSPORT CHAIN (Inner mitochondrial membrane)
   β€’ NADH & FADHβ‚‚ donate electrons to Complexes I–IV
   β€’ Creates H⁺ gradient across inner membrane
    β”‚
    β–Ό ─────────────────────────────────────────
   ATP SYNTHASE β€” Complex V
   β€’ H⁺ flows back through Fβ‚€F₁ ATPase
   β€’ ADP + Pi β†’ ATP
    β”‚
    β–Ό ─────────────────────────────────────────
   COβ‚‚ + Hβ‚‚O  +  ~32 ATP  πŸŽ‰

⚑ ATP Yield Summary

StageNADHFADHβ‚‚Direct ATPATP Equivalent
Glycolysis2β€”2~7
Pyruvate decarboxylation2β€”β€”~5
TCA Cycle622 (GTP)~20
TOTAL1024~32 ATP
NADH = 2.5 ATP each | FADHβ‚‚ = 1.5 ATP each

πŸ”‹ Section 5 β€” Electron Transport Chain

Complex Strip

ComplexNameSubstrateH⁺ PumpedKey Components
INADH DehydrogenaseNADH β†’ NAD⁺4 H⁺FMN, Fe-S clusters
IISuccinate DehydrogenaseFADHβ‚‚ β†’ FAD0 H⁺ ⚠️Fe-S, FAD; links TCAβ†’ETC
IIICytochrome bc₁CoQ β†’ Cyt c4 H⁺Q cycle, Cyt b, c₁
IVCytochrome c OxidaseCyt c β†’ Oβ‚‚2 H⁺Cu, heme a, a₃; Oβ‚‚β†’Hβ‚‚O
VATP SynthaseH⁺ gradient β†’ ATP(H⁺ re-enters)Fβ‚€ motor, F₁ head

Mobile Carriers

CarrierLocationCarries
CoQ (Ubiquinone)Lipid bilayer (mobile)2 electrons + 2H⁺
Cytochrome cIntermembrane space1 electron only

πŸ›‘ ETC Inhibitors β€” High Yield Table

InhibitorTargetMechanismEffect
Rotenone / AmytalComplex IBlocks NADH oxidation↓ ATP, ↓ Oβ‚‚ use
MalonateComplex IICompetitive vs succinate↓ FADHβ‚‚ oxidation
Antimycin AComplex IIIBlocks Q cycle↓ ATP, ↓ Oβ‚‚ use
Cyanide / CO / Hβ‚‚SComplex IVBinds heme a₃; blocks Oβ‚‚FATAL β€” stops ETC
OligomycinComplex V (Fβ‚€)Blocks H⁺ channel↓ ATP, ↓ Oβ‚‚ use
DNP / ThermogeninInner membraneDissipates H⁺ gradientATP↓, Oβ‚‚ use INCREASES
πŸ”΄ EXAM TRAP: Uncouplers (DNP, Thermogenin/UCP-1) = ETC keeps running + Oβ‚‚ consumption INCREASES, but ATP synthesis STOPS β€” energy released as heat. Inhibitors stop both.

πŸ§ͺ Section 6 β€” Key Coenzymes & Vitamins

CoenzymeVitamin PrecursorReduced FormRoleATP Yield
NAD⁺Niacin (B₃)NADHElectron carrier β†’ Complex I~2.5 ATP
FADRiboflavin (Bβ‚‚)FADHβ‚‚Electron carrier β†’ Complex II~1.5 ATP
CoAPantothenic acid (Bβ‚…)Acyl-CoAAcyl group carrierβ€”
TPPThiamine (B₁)Active formDecarboxylation reactionsβ€”
BiotinBiotin (B₇)CarboxybiotinCOβ‚‚ carrier (carboxylations)β€”
PLPPyridoxine (B₆)Active formTransamination (AA metabolism)β€”
LipoamideLipoic acidDihydrolipoamidePDH & Ξ±-KG dehydrogenaseβ€”
🟒 Mnemonic for B-vitamins in metabolism: The Ripe Nectarine Provides Body's Life = Thiamine(B₁), Riboflavin(Bβ‚‚), Niacin(B₃), Pantothenic(Bβ‚…), Biotin(B₇), Lipoic acid

🎯 Section 7 β€” Last-Minute High-Yield Facts

Quick Recall Cards

🍭 Carbs🧩 Proteins⚑ ATPπŸ”‹ ETC
Reducing sugar = free anomeric –OH20 standard AAsΞ”GΒ° = βˆ’7.3 kcal/molNADH β†’ 2.5 ATP
Glycogen: Ξ±-1,4 + Ξ±-1,69 are essentialPEP > ATP > AMP (energy)FADHβ‚‚ β†’ 1.5 ATP
Cellulose: Ξ²-1,4 (indigestible)Disulfide = Cys-CysMg²⁺ complex in cells1 Glucose β†’ ~32 ATP
Starch: amylose + amylopectinChaperones prevent misfoldingCreatine-P = muscle reserveOβ‚‚ only at Complex IV
N-glycan β†’ Asn; O-glycan β†’ Ser/ThrZymogen = inactive precursor2 ADP β‡Œ ATP + AMPCyt c between III & IV

πŸ“Š Aerobic vs Anaerobic β€” Final Comparison

Feature🌬️ AEROBIC🚫 ANAEROBIC
Oβ‚‚ requiredYesNo
ATP yield~32 ATP2 ATP
Final e⁻ acceptorOβ‚‚ β†’ Hβ‚‚OPyruvate β†’ Lactate
LocationCytoplasm + MitochondriaCytoplasm only
NADH fateETC β†’ ATPRegenerates NAD⁺
End productsCOβ‚‚ + Hβ‚‚OLactate (humans) / Ethanol (yeast)
SpeedSlow but efficientFast but inefficient
When usedRest / aerobic exerciseSprinting, hypoxia, RBCs

🧠 Top 10 One-Liners to Memorise

  1. Ξ”G < 0 = spontaneous = exergonic (energy OUT)
  2. Ξ”G = 0 = equilibrium (no net reaction)
  3. ATP has 2 high-energy bonds, NOT 3
  4. Complex II does NOT pump protons
  5. Cyanide kills at Complex IV (blocks Oβ‚‚ binding)
  6. DNP = uncoupler β†’ Oβ‚‚ use ↑, ATP ↓, heat ↑
  7. NADH enters at Complex I β†’ 2.5 ATP
  8. FADHβ‚‚ enters at Complex II β†’ 1.5 ATP
  9. Cellulose = Ξ²-1,4 β†’ humans cannot digest it
  10. G≑C has 3 H-bonds; A=T/A=U has 2 H-bonds

Sources: Harper's Illustrated Biochemistry 32e & Lippincott's Biochemistry 8e

show me all formet in this chat section

Here is every format this chat section supports, with live examples:

Heading 1

Heading 2

Heading 3

Heading 4


✍️ Text Formatting

Bold text β€” use **text** Italic text β€” use *text* Bold and italic β€” use ***text*** Strikethrough β€” use ~~text~~ Inline code β€” use backticks ==Highlight== (may not render in all clients)

πŸ“‹ Tables

Column 1Column 2Column 3
Cell ACell BCell C
Cell DCell ECell F
Aligned columns:
LeftCenterRight
texttexttext
123456789

πŸ“ Lists

Unordered list:
  • Item one
  • Item two
    • Nested item
    • Nested item
      • Deeper nested
Ordered list:
  1. First item
  2. Second item
    1. Sub-item
    2. Sub-item
  3. Third item
Task / Checklist:
  • Completed task
  • Also done
  • Not done yet
  • Pending

πŸ’¬ Blockquotes

Single blockquote β€” use >
Nested blockquote:
Level 2
Level 3
🟒 Tip box style Use for key facts or warnings

πŸ’» Code Blocks

Inline: print("hello")
Python block:
def atp_yield(nadh, fadh2):
    return (nadh * 2.5) + (fadh2 * 1.5)

print(atp_yield(10, 2))  # Output: 28.0
No language (plain):
Glucose β†’ Pyruvate β†’ Acetyl-CoA β†’ TCA β†’ ETC β†’ ATP
Other languages supported:
const delta_g = (dH, T, dS) => dH - T * dS;
python3 build_pdf.py
{ "molecule": "ATP", "bonds": 2, "dG": -7.3 }

βž— Math / Equations

Inline math: Ξ”G = Ξ”H βˆ’ TΞ”S
Using Unicode symbols directly:
  • Ξ± Ξ² Ξ³ Ξ΄ Ξ΅ ΞΆ Ξ· ΞΈ
  • Ξ” Ξ£ Ξ  Ξ© Ξ» ΞΌ Ξ½ Ο€
  • ≀ β‰₯ β‰  β‰ˆ Β± Γ— Γ· √
  • ⁰ ΒΉ Β² Β³ ⁴ ⁡ (superscripts)
  • β‚€ ₁ β‚‚ ₃ β‚„ β‚… (subscripts)
  • β†’ ← ↑ ↓ ↔ β‡Œ β‡’

─── Dividers / Horizontal Rules

Above line uses ---

Above uses ***

Above uses ___

πŸ”— Links

Inline: Google Reference style: OpenAI

ASCII Flowcharts & Diagrams

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Glucose │────▢│Glycolysis│────▢│ Pyruvateβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β”‚
                                      β–Ό
                               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                               β”‚  Acetyl-CoA  β”‚
                               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        [Topic]
       /   |   \
      /    |    \
  [A]    [B]    [C]
   |      |      |
  [a1]  [b1]   [c1]

πŸ“Š Progress / Bar Charts (ASCII)

ATP Yield:
Glycolysis  β–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  2 ATP
Pyruvate    β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘  5 ATP
TCA Cycle   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘  20 ATP
TOTAL       β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ  32 ATP

πŸƒ Emoji Support

Full emoji works inline: 🧬 πŸ”¬ ⚑ πŸ§ͺ πŸ”‹ πŸ’Š πŸ₯ 🧠 ❀️ 🦠 🧫 🧲 πŸ’‰ 🩺 πŸ“Š πŸ“‹ πŸ—‚οΈ βœ… ❌ ⚠️ 🟒 πŸ”΄ 🟑 πŸ”΅ 🟣 🟠

πŸ“Œ Footnotes

This is a fact with a footnote.1

What does NOT render here

FeatureStatus
HTML tags (<div>, <span>)❌ Not rendered
CSS styling❌ Not rendered
Images (uploaded)βœ… Works
LaTeX math ($\Delta G$)❌ Not rendered
Colour text❌ Not rendered
Custom fonts❌ Not rendered
Animations❌ Not rendered
Embedded video❌ Not rendered

βœ… Summary β€” What Works Best in Chat

FormatBest Used For
TablesComparisons, data, drug lists
Code blocksFlowcharts, equations, structured text
BlockquotesTips, warnings, mnemonics
Bold/ItalicKey terms, exam traps
Ordered listsSteps, protocols
Unordered listsFacts, bullet points
EmojiVisual colour-coding, section headers
HeadingsNavigation, section titles
ASCII diagramsFlowcharts, mind maps, pathways
Horizontal rulesSeparating sections

Footnotes

  1. Source: Harper's Illustrated Biochemistry 32e ↩
This is a shared conversation. Sign in to Orris to start your own chat.