Gut brain axis Physiology. Concise and precise, with flowcharts and diagrams.
gut brain axis physiology mechanisms vagus nerve enteric nervous system 2024
┌─────────────────────────────────────────────────────────────┐
│ GUT-BRAIN AXIS │
│ │
│ CNS (Brain + Spinal Cord) │
│ │ ▲ │
│ Efferent Afferent │
│ (top-down) (bottom-up) │
│ ▼ │ │
│ ┌─────────────────────────────┐ │
│ │ Autonomic Nervous System │ │
│ │ Parasympathetic + Sympathetic │
│ └──────────┬──────────────────┘ │
│ │ │
│ ┌────▼────────────────────┐ │
│ │ Enteric Nervous System │ ← "Second Brain" │
│ │ Myenteric + Submucosal │ │
│ │ Plexuses │ │
│ └──────────┬──────────────┘ │
│ │ │
│ ┌──────────▼──────────────┐ │
│ │ GI Tract Effectors │ │
│ │ (mucosa, smooth muscle, │ │
│ │ secretory cells, immune)│ │
│ └─────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
| Plexus | Location | Function |
|---|---|---|
| Myenteric (Auerbach's) | Between longitudinal and circular muscle layers | Controls GI motility and peristalsis |
| Submucosal (Meissner's) | Between circular muscle and mucosa | Senses luminal environment; regulates secretion and blood flow |

┌──────────────────────────────────────────────────────────────┐
│ VAGAL PATHWAY │
│ │
│ BRAIN │
│ NTS (Nucleus Tractus Solitarius) ◄──── Afferent (80-90%) │
│ DMV (Dorsal Motor Nucleus) ────► Efferent (10-20%) │
│ │ ▲ │
│ Efferent fibers Afferent fibers │
│ (parasympathetic (sensory info │
│ motor commands) from gut wall) │
│ │ │ │
│ ▼ │ │
│ ENS / Gut smooth muscle Enterochromaffin cells │
│ ↓ motility (5-HT release) │
│ ↑ secretion │
└──────────────────────────────────────────────────────────────┘
BOTTOM-UP (Gut → Brain):
┌───────────────┐
│ Gut lumen │
│ - nutrients │
│ - microbiota │
│ - distension │
└───────┬───────┘
│
▼
┌───────────────┐ ┌──────────────────┐
│ Enteroendo- │────►│ Vagal afferents │──► NTS ──► Hypothalamus
│ crine cells │ │ (80-90% fibers) │ ──► Limbic system
│ (5-HT, CCK, │ └──────────────────┘ ──► Cortex
│ GLP-1, PYY, │
│ ghrelin) │ ┌──────────────────┐
└───────────────┘────►│ Spinal afferents │──► Dorsal horn ──► Brain
│ (nociception) │
└──────────────────┘
│
▼
┌───────────────┐
│ Portal vein │──► Liver ──► Systemic circulation ──► CNS
│ SCFAs, bile │ (crosses BBB or acts
│ acids, indoles│ on circumventricular organs)
└───────────────┘
TOP-DOWN (Brain → Gut):
┌───────────────────────────────────────┐
│ Cortex / Limbic / Hypothalamus │
│ (stress, emotion, cognition) │
└───────────┬───────────────────────────┘
│
┌─────▼──────┐ ┌─────────────────┐
│ Vagal │ │ HPA Axis │
│ efferents │ │ CRF → ACTH → │
│ (DMV) │ │ Cortisol │
└─────┬──────┘ └────────┬────────┘
│ │
▼ ▼
ENS activation Gut mucosa / immune
(↑ motility/secretion) (↑ permeability, mast
cell activation, pain)
| Hormone | Source | Signal | Brain Target | Effect |
|---|---|---|---|---|
| Serotonin (5-HT) | Enterochromaffin cells (95% of body's 5-HT) | Activates vagal afferents | NTS, raphe nuclei | Motility, mood, nausea |
| Cholecystokinin (CCK) | I-cells (duodenum/jejunum) | Activates vagal afferents | NTS → hypothalamus | Satiety, ↓ food intake |
| GLP-1 | L-cells (ileum/colon) | Vagal + bloodstream | Hypothalamus (ARC) | Satiety, insulin secretion |
| PYY | L-cells | Bloodstream + vagal | Hypothalamus (ARC) | Satiety |
| Ghrelin | X/A cells (stomach) | Bloodstream | Hypothalamus (ARC, AgRP/NPY) | Hunger, ↑ food intake |
| Leptin | Adipocytes | Bloodstream | Hypothalamus (POMC/CART) | Satiety, ↓ food intake |

STRESS INPUT (psychological or physiological)
│
▼
Hypothalamus (PVN)
└── CRF (Corticotropin-releasing factor)
│
▼
Anterior Pituitary
└── ACTH (Adrenocorticotropin)
│
▼
Adrenal Cortex
└── Cortisol
│
┌────┘
▼ ▼
Negative feedback GUT EFFECTS:
(to hypothalamus & - ↑ gut permeability
pituitary) - Mast cell activation
- ↑ visceral sensitivity
- Altered motility
- Dysbiosis
BRAIN
▲ │
Neural │ │ Neuroendocrine
(vagus) │ │ (HPA axis, cortisol)
Immune │ │ Metabolic
(cytokines) │ (SCFAs, tryptophan)
│ ▼
GUT ◄──────► MICROBIOTA
ENS │
┌─────┴──────────────────────────────────┐
│ Produces: │
│ • SCFAs (butyrate, propionate, acetate) │
│ • GABA, serotonin precursors │
│ • BDNF regulators │
│ • Indoles (tryptophan metabolites) │
│ • LPS (barrier disruption) │
└─────────────────────────────────────────┘
| Neurotransmitter | Primary Action |
|---|---|
| ACh | Primary excitatory transmitter; stimulates secretion and smooth muscle contraction |
| VIP (Vasoactive intestinal peptide) | Inhibits smooth muscle; stimulates fluid secretion |
| Substance P | Excitatory; pain signaling, peristaltic reflex |
| Serotonin (5-HT) | Initiates peristaltic reflex; activates vagal afferents |
| Nitric oxide (NO) | Inhibitory motor neuron; smooth muscle relaxation |
| Enkephalins | Inhibitory; reduce secretion and motility (opioid effect) |
| Somatostatin | Inhibitory; reduces secretion and motility |
| NPY | Inhibitory; reduces secretion |
Luminal content/distension
│
▼
Mechanoreceptors in mucosa
│
▼
Intrinsic Primary Afferent Neurons (IPANs)
│
┌───┴────────┐
▼ ▼
Ascending Descending
interneurons interneurons
│ │
▼ ▼
Excitatory Inhibitory
motor neurons motor neurons
(ACh, SubstP) (NO, VIP)
│ │
▼ ▼
Contraction Relaxation
(oral/above) (aboral/below)
│
▼
Propulsion of content (peristalsis)
| Disruption | Mechanism | Condition |
|---|---|---|
| HPA hyperactivation | CRF → ↑ visceral sensitivity, mast cell activation | IBS, functional dyspepsia |
| Vagal dysfunction | Impaired afferent signaling | Gastroparesis, altered satiety |
| Dysbiosis | Altered SCFAs, ↓ serotonin precursors | Anxiety, depression, IBD |
| ENS neurodegeneration | Loss of myenteric neurons | Achalasia, Hirschsprung's, constipation |
| BBB disruption | Gut-derived LPS enters circulation | Neuroinflammation, neurodegenerative disease |
Draft a 5 mark answer. Exam ready, scoring, point wise, flowcharts and diagrams. In addition to what you've already given, add about gut microbiota, how brain controls the gut, the collective function of brain, ANS, hormones on gut for the axis, like how sleep, emotional disturbances affect it and add a bit on newer advances and studies on gut microbes. Make it crisp and precise and add applied physiology too.
gut microbiota brain axis sleep emotion 2024
gut brain axis sleep disturbance emotion gut microbiota recent advances 2024 2025
Memory hook: C-A-E-H-I-M = CNS, ANS, ENS, HPA, Immune, Microbiota
┌──────────────────────────────────────────────────────┐
│ GUT-BRAIN AXIS │
│ │
│ BRAIN (Cortex → Limbic → Hypothalamus) │
│ ↑ ↓ │
│ Afferent (80%) Efferent (20%) │
│ ↑ ↓ │
│ VAGUS NERVE (CN X) ← primary conduit │
│ SPINAL AFFERENTS ← pain/nociception │
│ ↑ ↓ │
│ ENS (Myenteric + Submucosal plexus) │
│ ↕ │
│ GI tract effectors │
│ (smooth muscle, mucosa, immune, secretory) │
└──────────────────────────────────────────────────────┘
BRAIN (Cortex/Limbic/Hypothalamus)
│
┌──────┴──────┐
▼ ▼
PARASYMPATHETIC SYMPATHETIC
(Vagus nerve, (T5-L2 cord →
Pelvic nerve) Celiac/mesenteric
│ ganglia)
▼ ▼
ACh → ENS NE → ENS / smooth muscle
↑ Motility ↓ Motility
↑ Secretion ↓ Secretion
↓ Sphincter ↑ Sphincter tone
tone ↓ Blood flow
STIMULUS (food / stress / emotion / sleep disruption)
│
┌────────┴─────────┐
▼ ▼
CNS Processing ENS Processing
(Hypothalamus, (Local reflexes,
Limbic system) peristalsis)
│ │
┌────┘ ┌─────────────┘
│ │
▼ ▼
ANS Output HPA Axis
Parasympathetic → CRF (hypothalamus)
• ↑ motility ↓
• ↑ secretion ACTH (pituitary)
• ↓ sphincter ↓
Cortisol (adrenals)
Sympathetic → ↓
• ↓ motility Gut effects:
• ↑ sphincter ↑ permeability
• vasoconstriction mast cell activation
↑ visceral sensitivity
│
▼
GUT HORMONES (Enteroendocrine cells)
┌──────────┬───────────┬──────────────────────────────┐
│ Hormone │ Source │ Brain Effect │
├──────────┼───────────┼──────────────────────────────┤
│ 5-HT │ EC cells │ Vagal activation, mood, nausea│
│ CCK │ I-cells │ Satiety via NTS → hypothalamus│
│ GLP-1 │ L-cells │ Satiety, ↓ food intake │
│ PYY │ L-cells │ Satiety, ↓ appetite │
│ Ghrelin │ Stomach │ Hunger (↑ AgRP/NPY neurons) │
│ Leptin │ Adipocytes│ Satiety (↑ POMC/CART neurons) │
└──────────┴───────────┴──────────────────────────────┘

SLEEP DEPRIVATION / DISRUPTION
│
▼
↑ Cortisol (HPA activation) + ↓ Melatonin
│
┌────┴────────────────────┐
▼ ▼
GUT EFFECTS MICROBIOTA EFFECTS
• ↑ gut permeability • ↓ Lactobacillus,
• ↑ visceral pain Bifidobacterium
• Altered motility • ↑ Proteobacteria
• ↑ mast cell activation • ↓ SCFA production
│ │
└───────┬─────────────────┘
▼
↑ Neuroinflammation
↑ Anxiety / Depression symptoms
↓ BDNF (brain plasticity)
EMOTIONAL DISTURBANCES (Anxiety / Depression)
│
▼
Amygdala / ACC activation
│
┌────┴────────────────────┐
▼ ▼
↑ CRF release ↓ Vagal tone
↓ Vagal efferents ↓ HRV (heart rate variability)
│
▼
GI symptoms:
• IBS-like motility changes
• ↑ visceral hypersensitivity
• ↑ gut permeability ("leaky gut")
• Altered microbiota composition
GUT MICROBIOTA (10¹⁴ organisms, >100× human genome)
│
┌───────────┼────────────┬──────────────┐
▼ ▼ ▼ ▼
NEURAL ENDOCRINE IMMUNE METABOLIC
│ │ │ │
Vagal Enterocrine Cytokines SCFAs, indoles
afferent cell (IL-6, IL-10, tryptophan
activation stimulation TNF-α) metabolites
(via 5-HT, (GLP-1, PYY, │ │
SCFAs) CCK) Cross BBB Reach brain via
│ │ or vagal portal vein /
└───────────┴────────────┴──────────────┘
▼
CNS EFFECTS:
• BDNF production
• Neurogenesis
• Myelination
• BBB integrity
• Mood, cognition, behavior
| Product | Source Bacteria | Brain Effect |
|---|---|---|
| SCFAs (butyrate, propionate, acetate) | Clostridia, Bifidobacteria | ↑ BDNF, BBB integrity, anti-inflammatory |
| GABA | Lactobacillus, Bifidobacterium | Anxiolytic; regulates mood |
| Serotonin precursors (tryptophan → 5-HT) | Spore-forming bacteria | Mood regulation, gut motility |
| Dopamine precursors | Bacillus, Serratia | Reward, motivation |
| BDNF stimulators | Bifidobacterium longum | Neuroprotection, neuroplasticity |
| LPS (lipopolysaccharide) | Gram-negative bacteria (dysbiosis) | Neuroinflammation, BBB disruption |
| Advance | Finding | Clinical Implication |
|---|---|---|
| Psychobiotics | Lactobacillus rhamnosus, B. longum reduce anxiety in RCTs (Binda et al., 2024) | Probiotic therapy for depression/anxiety |
| Fecal Microbiota Transplant (FMT) | Transfers anxiety/depression phenotype between germ-free mice | Dysbiosis as causal in psychiatric disease |
| Vagus Nerve Stimulation (VNS) | Approved for treatment-resistant depression; anti-inflammatory via cholinergic pathway | Gut-brain as therapeutic target |
| Long COVID & 5-HT axis | Gut viral infection → ↓ serotonin availability → dampened vagal signaling → cognitive dysfunction (Neuroscience, 2023) | Gut 5-HT depletion explains brain fog |
| Sleep-microbiome cycle | Dysbiosis ↔ sleep disturbance form a vicious cycle; circadian rhythm governs microbial composition (Wang et al., 2025) | Chrono-probiotics as therapy |
| Parkinson's Disease | Alpha-synuclein pathology originates in ENS; spreads via vagus to brain ("gut-first" hypothesis) | ENS biopsy as early Parkinson's diagnostic |
| Aryl Hydrocarbon Receptor (AHR) | Microbial metabolites activate AHR → regulate T-regulatory cells and microglia | Target for MS, neuroinflammation |
| Clinical Scenario | Mechanism | Axis Involved |
|---|---|---|
| IBS | CRF ↑ → mast cells → visceral hypersensitivity + altered motility | HPA + ENS + microbiota |
| Functional dyspepsia | Impaired vagal tone → delayed gastric emptying | Vagal efferent failure |
| Anxiety → diarrhea | Amygdala → ↑ CRF → ↑ colonic motility | Limbic-HPA-ENS |
| Anorexia nervosa | Dysregulated ghrelin/leptin/CCK signaling | Neuroendocrine-GBA |
| Depression → constipation | ↓ 5-HT (95% in gut) → ↓ motility | Serotonergic GBA |
| Hepatic encephalopathy | Gut bacteria → NH₃, false neurotransmitters → encephalopathy | Microbiota-brain axis |
| Autism Spectrum Disorder | Gut dysbiosis → altered GABA/glutamate signaling | Microbiota-brain neurodevelopment |
| Post-infectious IBS | Infection → dysbiosis + sensitized afferents → chronic symptoms | Immune-ENS-GBA |
ENVIRONMENTAL INPUT
(Food, stress, sleep, emotion, infection)
│
┌────────┴─────────┐
▼ ▼
BRAIN GUT MICROBIOTA
(Cortex/Limbic/ (10¹⁴ organisms)
Hypothalamus) │
│ SCFAs, GABA, 5-HT,
│ LPS, cytokines
│ │
┌──┴──────────────────┘
│
├─► HPA AXIS: CRF → ACTH → Cortisol
│ (stress response)
│
├─► ANS PARASYMPATHETIC: Vagus/Pelvic nerve
│ → ↑ Motility, ↑ Secretion (rest-digest)
│
├─► ANS SYMPATHETIC: NE via celiac ganglia
│ → ↓ Motility, ↑ Sphincter (fight-flight)
│
└─► ENS (Myenteric + Submucosal plexus)
→ Local reflexes (peristalsis, secretion)
→ Neurotransmitters: ACh, VIP, 5-HT, NO, SubP
│
▼
GI EFFECTORS
Motility | Secretion | Absorption
Sensation | Immune | Permeability
│
▼ (feedback)
VAGAL AFFERENTS (80%)
SPINAL AFFERENTS (pain)
│
▼
BACK TO BRAIN
(NTS → Hypothalamus → Limbic → Cortex)
┌─────────────────────────────────────────────────┐
│ 5 PATHWAYS OF GUT-BRAIN COMMUNICATION │
│ 1. Neural - Vagus nerve (CN X), spinal │
│ 2. Endocrine- CCK, GLP-1, PYY, ghrelin, 5-HT │
│ 3. Immune - Cytokines (IL-6, TNF-α, IL-10) │
│ 4. HPA - CRF → ACTH → Cortisol │
│ 5. Microbial- SCFAs, GABA, tryptophan, LPS │
│ │
│ ENS = 200-600M neurons, 2 plexuses │
│ 95% of body serotonin is in the GUT │
│ Vagus = 80% afferent (gut→brain) │
│ FMT can transfer mood/behavior phenotype │
└─────────────────────────────────────────────────┘
Can you please make a PDF of this answer. Ready to download?
ls /home/daytona/workspace/ 2>/dev/null || echo "workspace empty or missing"
mkdir -p /home/daytona/workspace/gut-brain-axis && echo "done"
~/gut-brain-axis/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether, PageBreak
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus.flowables import Flowable
import io
OUTPUT = "/home/daytona/workspace/gut-brain-axis/Gut_Brain_Axis_Physiology_5Marks.pdf"
# ─── Colour palette ───────────────────────────────────────────────
C_NAVY = colors.HexColor("#1a3a5c")
C_TEAL = colors.HexColor("#0d7377")
C_LTBLUE = colors.HexColor("#e8f4f8")
C_LTGREEN = colors.HexColor("#e8f5e9")
C_LTYELLOW= colors.HexColor("#fffde7")
C_LTPURPLE= colors.HexColor("#f3e5f5")
C_LTORANGE= colors.HexColor("#fff3e0")
C_ACCENT = colors.HexColor("#14a085")
C_DARK = colors.HexColor("#212121")
C_GRAY = colors.HexColor("#757575")
C_LGRAY = colors.HexColor("#f5f5f5")
C_WHITE = colors.white
C_RED = colors.HexColor("#c62828")
C_ORANGE = colors.HexColor("#e65100")
# ─── Document setup ───────────────────────────────────────────────
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=1.8*cm, rightMargin=1.8*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Gut-Brain Axis Physiology – 5 Mark Exam Answer",
author="Orris Medical AI"
)
W = A4[0] - 3.6*cm # usable width
styles = getSampleStyleSheet()
def S(name, **kw):
"""Quick style builder."""
base = styles.get(name, styles["Normal"])
return ParagraphStyle(name + str(id(kw)), parent=base, **kw)
# ─── Custom styles ────────────────────────────────────────────────
title_s = S("Normal", fontSize=18, textColor=C_WHITE, alignment=TA_CENTER,
fontName="Helvetica-Bold", spaceAfter=2)
subtitle_s = S("Normal", fontSize=11, textColor=C_WHITE, alignment=TA_CENTER,
fontName="Helvetica", spaceAfter=0)
badge_s = S("Normal", fontSize=9, textColor=C_WHITE, alignment=TA_CENTER,
fontName="Helvetica-Bold")
h1_s = S("Normal", fontSize=13, textColor=C_WHITE, fontName="Helvetica-Bold",
spaceBefore=6, spaceAfter=4, leftIndent=0)
h2_s = S("Normal", fontSize=11, textColor=C_NAVY, fontName="Helvetica-Bold",
spaceBefore=8, spaceAfter=3)
h3_s = S("Normal", fontSize=10, textColor=C_TEAL, fontName="Helvetica-Bold",
spaceBefore=5, spaceAfter=2)
body_s = S("Normal", fontSize=9, textColor=C_DARK, fontName="Helvetica",
spaceAfter=3, leading=14)
bullet_s = S("Normal", fontSize=9, textColor=C_DARK, fontName="Helvetica",
spaceAfter=2, leftIndent=14, firstLineIndent=-10, leading=13)
code_s = S("Normal", fontSize=8, textColor=C_DARK, fontName="Courier",
spaceAfter=2, leading=11, leftIndent=6)
note_s = S("Normal", fontSize=8.5, textColor=C_NAVY, fontName="Helvetica-Oblique",
spaceAfter=2, leftIndent=8, leading=12)
recall_s = S("Normal", fontSize=9, textColor=C_DARK, fontName="Helvetica",
spaceAfter=2, leading=13, leftIndent=8)
src_s = S("Normal", fontSize=7.5, textColor=C_GRAY, fontName="Helvetica-Oblique",
spaceBefore=4, spaceAfter=2, leading=11)
# ─── Helper flowables ─────────────────────────────────────────────
def section_header(text, mark_text=""):
"""Coloured banner for main sections."""
content = f"<b>{text}</b>"
if mark_text:
content += f" <font size='9' color='#ffe082'>({mark_text})</font>"
tbl = Table([[Paragraph(content, h1_s)]], colWidths=[W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_NAVY),
("ROUNDEDCORNERS", [4]),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 10),
]))
return tbl
def info_box(text, bg=C_LTBLUE, border=C_TEAL):
tbl = Table([[Paragraph(text, note_s)]], colWidths=[W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("LINEAFTER", (0,0), (0,-1), 2, border),
("LINEBEFORE", (0,0), (0,-1), 3, border),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
]))
return tbl
def code_block(lines, bg=C_LGRAY):
rows = [[Paragraph(l, code_s)] for l in lines]
tbl = Table(rows, colWidths=[W])
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("LINEABOVE", (0,0), (-1,0), 0.5, C_GRAY),
("LINEBELOW", (0,-1),(-1,-1), 0.5, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 2),
("BOTTOMPADDING", (0,0), (-1,-1), 2),
("LEFTPADDING", (0,0), (-1,-1), 8),
("RIGHTPADDING", (0,0), (-1,-1), 4),
]))
return tbl
def hr(color=C_TEAL, thickness=0.5):
return HRFlowable(width="100%", thickness=thickness, color=color, spaceAfter=4, spaceBefore=4)
def sp(h=4):
return Spacer(1, h)
def b(text):
return f"<b>{text}</b>"
def col(text, c):
return f'<font color="{c}">{text}</font>'
def bullet(text):
return Paragraph(f"• {text}", bullet_s)
# ─── Build story ──────────────────────────────────────────────────
story = []
# ══════════════════════════════════════════════════════════════
# TITLE BLOCK
# ══════════════════════════════════════════════════════════════
title_tbl = Table([
[Paragraph("GUT–BRAIN AXIS", title_s)],
[Paragraph("Physiology — Exam-Ready 5 Mark Answer", subtitle_s)],
[Paragraph("Bidirectional | Neural | Hormonal | Immune | Microbial", badge_s)],
], colWidths=[W])
title_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_NAVY),
("ROUNDEDCORNERS", [6]),
("TOPPADDING", (0,0), (-1,-1), 10),
("BOTTOMPADDING", (0,0), (-1,-1), 10),
("LEFTPADDING", (0,0), (-1,-1), 14),
("LINEBELOW", (0,1), (-1,1), 1, C_ACCENT),
]))
story += [title_tbl, sp(8)]
# ══════════════════════════════════════════════════════════════
# SECTION 1 — DEFINITION
# ══════════════════════════════════════════════════════════════
story += [section_header("1. DEFINITION & OVERVIEW", "0.5 mark"), sp(4)]
story.append(Paragraph(
"The <b>gut-brain axis (GBA)</b> is a <b>bidirectional communication network</b> "
"integrating the CNS, ANS, ENS, HPA axis, immune system, and gut microbiota to "
"regulate GI function, behavior, mood, and systemic homeostasis.",
body_s))
story.append(info_box(
"<b>Memory Hook:</b> C–A–E–H–I–M = CNS · ANS · ENS · HPA · Immune · Microbiota",
bg=C_LTYELLOW, border=C_ORANGE))
story.append(sp(4))
# Component table
comp_data = [
[Paragraph(b("Component"), h3_s), Paragraph(b("Role"), h3_s)],
["CNS (Brain + Spinal Cord)", "Integration, emotion, cognition, top-down control"],
["ANS (Para + Sympathetic)", "Motor output to ENS and gut wall"],
["ENS (Myenteric + Submucosal)", '"Second brain" – local GI reflexes'],
["HPA Axis", "Stress-hormone pathway; cortisol modulates gut"],
["Immune System", "Cytokines cross-talk between gut and brain"],
["Gut Microbiota", "Metabolite-mediated bottom-up signalling"],
]
ct = Table(comp_data, colWidths=[W*0.4, W*0.6])
ct.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_TEAL),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8.5),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LGRAY]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
]))
story += [ct, sp(8)]
# ══════════════════════════════════════════════════════════════
# SECTION 2 — STRUCTURAL / ENS
# ══════════════════════════════════════════════════════════════
story += [section_header("2. STRUCTURAL COMPONENTS — The ENS", "0.5 mark"), sp(4)]
story.append(Paragraph(b("ENS = \"Second Brain\" — 200–600 million neurons"), h2_s))
story.append(code_block([
" GUT–BRAIN AXIS",
"",
" BRAIN (Cortex → Limbic → Hypothalamus)",
" ↑ Afferent (80%) ↓ Efferent (20%)",
" VAGUS NERVE (CN X) ← primary conduit",
" SPINAL AFFERENTS ← pain / nociception",
" ↑ ↓",
" ENS (Myenteric plexus + Submucosal plexus)",
" ↕",
" GI tract effectors",
" (smooth muscle · mucosa · immune · secretory)",
]))
story.append(sp(4))
ens_data = [
[Paragraph(b("Plexus"), h3_s), Paragraph(b("Location"), h3_s), Paragraph(b("Function"), h3_s)],
["Myenteric\n(Auerbach's)", "Between longitudinal\n& circular muscle", "Controls motility\n& peristalsis"],
["Submucosal\n(Meissner's)", "Between circular\nmuscle & mucosa", "Secretion, blood flow,\nluminal sensing"],
]
et = Table(ens_data, colWidths=[W*0.28, W*0.36, W*0.36])
et.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_TEAL),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8.5),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LGRAY]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story += [et, sp(4)]
story.append(info_box("ENS can function <b>independently</b> of CNS — complete peristaltic reflex preserved after vagotomy.", bg=C_LTGREEN, border=C_ACCENT))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════
# SECTION 3 — HOW BRAIN CONTROLS GUT
# ══════════════════════════════════════════════════════════════
story += [section_header("3. HOW THE BRAIN CONTROLS THE GUT (Top-Down)", "0.5 mark"), sp(4)]
story.append(code_block([
"BRAIN (Cortex / Limbic / Hypothalamus)",
" | |",
" PARASYMPATHETIC SYMPATHETIC",
" (Vagus + Pelvic n.) (T5–L2 cord →",
" | Celiac / Mesent. ganglia)",
" ↓ ↓",
" ACh → ENS NE → ENS / smooth muscle",
" ↑ Motility ↓ Motility",
" ↑ Secretion ↓ Secretion",
" ↓ Sphincter tone ↑ Sphincter tone",
" ↓ Mucosal blood flow",
]))
story.append(sp(3))
brain_bullets = [
"<b>Cephalic phase:</b> Sight/smell of food → vagal efferents → ↑ gastric acid, ↑ pancreatic enzymes, ↑ motility",
"<b>Stress response:</b> Cortex → limbic → hypothalamus → HPA axis + sympathetic outflow → GI suppression",
"<b>Emotional modulation:</b> Amygdala & insula directly modulate ENS via vagal efferents",
"<b>Sleep:</b> Circadian signals from SCN (suprachiasmatic nucleus) → melatonin → regulate gut motility rhythm",
"<b>Efferent vagal fibres</b> = only 10–20% of vagal fibres; originate from <b>Dorsal Motor Nucleus (DMV)</b>",
]
for b_text in brain_bullets:
story.append(bullet(b_text))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════
# SECTION 4 — COLLECTIVE FUNCTION
# ══════════════════════════════════════════════════════════════
story += [section_header("4. BRAIN + ANS + HORMONES — Collective Action on Gut", "1 mark"), sp(4)]
story.append(code_block([
" STIMULUS (food / stress / emotion / sleep disruption / infection)",
" |",
" ┌─────────┴──────────┐",
" ▼ ▼",
" CNS Processing ENS Processing",
" (Hypothalamus, (Local reflexes,",
" Limbic system) peristalsis)",
" | |",
" ┌─────┘ ┌──────────────┘",
" | |",
" ▼ ▼",
" ANS OUTPUT HPA AXIS",
" Parasympathetic → CRF (hypothalamus)",
" • ↑ motility ↓",
" • ↑ secretion ACTH (pituitary)",
" • ↓ sphincter ↓",
" Cortisol (adrenals)",
" Sympathetic → ↓",
" • ↓ motility Gut effects:",
" • ↑ sphincter ↑ permeability",
" • vasoconstriction mast cell activation",
" ↑ visceral sensitivity",
]))
story.append(sp(5))
story.append(Paragraph(b("Key Gut Hormones Acting on the Brain"), h2_s))
gh_data = [
[Paragraph(b("Hormone"), h3_s), Paragraph(b("Source"), h3_s),
Paragraph(b("Signal route"), h3_s), Paragraph(b("Brain Effect"), h3_s)],
["Serotonin (5-HT)", "Enterochromaffin cells\n(95% of body's 5-HT)", "Vagal afferents", "Motility, mood, nausea"],
["CCK", "I-cells\n(duodenum/jejunum)", "Vagal afferents → NTS", "Satiety, ↓ food intake"],
["GLP-1", "L-cells (ileum/colon)", "Vagal + bloodstream", "Satiety, insulin secretion"],
["PYY", "L-cells", "Bloodstream + vagal", "Satiety, ↓ appetite"],
["Ghrelin", "X/A cells (stomach)", "Bloodstream", "Hunger ↑ (AgRP/NPY neurons)"],
["Leptin", "Adipocytes", "Bloodstream", "Satiety ↑ (POMC/CART neurons)"],
]
ght = Table(gh_data, colWidths=[W*0.2, W*0.25, W*0.22, W*0.33])
ght.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_NAVY),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LTBLUE]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story += [ght, sp(8)]
# ══════════════════════════════════════════════════════════════
# SECTION 5 — SLEEP & EMOTION
# ══════════════════════════════════════════════════════════════
story += [section_header("5. SLEEP & EMOTIONAL DISTURBANCES ON THE AXIS", "0.5 mark"), sp(4)]
story.append(code_block([
" SLEEP DEPRIVATION / DISRUPTION",
" |",
" ▼",
" ↑ Cortisol (HPA) + ↓ Melatonin + ↑ Sympathetic tone",
" |",
" ┌────────┴──────────────┐",
" ▼ ▼",
" GUT EFFECTS MICROBIOTA EFFECTS",
" • ↑ gut permeability • ↓ Lactobacillus, Bifidobacterium",
" • ↑ visceral pain • ↑ Proteobacteria",
" • Altered motility • ↓ SCFA production",
" • ↑ mast cell • ↓ mucosal immunity",
" activation",
" ↘ ↙",
" ↑ Neuroinflammation",
" ↑ Anxiety / Depression",
" ↓ BDNF (brain plasticity)",
]))
story.append(sp(4))
story.append(code_block([
" EMOTIONAL DISTURBANCES (Anxiety / Depression / Anger)",
" |",
" ▼",
" Amygdala / ACC activation",
" |",
" ┌────────┴──────────────────┐",
" ▼ ▼",
" ↑ CRF release ↓ Vagal tone",
" ↓ Vagal efferents ↓ HRV",
" |",
" ▼",
" GI SYMPTOMS:",
" • IBS-like motility changes",
" • ↑ visceral hypersensitivity",
" • ↑ gut permeability (\"leaky gut\")",
" • Altered microbiota composition",
]))
story.append(sp(3))
story.append(info_box(
"<b>Key facts:</b> Melatonin (pineal + gut EC cells) regulates circadian gut motility. "
"90% of body serotonin is gut-derived — disrupted sleep → altered 5-HT → mood dysregulation. "
"Stress-induced CRF → mast cell degranulation → mucosal permeability → bacterial translocation.",
bg=C_LTYELLOW, border=C_ORANGE))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════
# SECTION 6 — GUT MICROBIOTA & BRAIN
# ══════════════════════════════════════════════════════════════
story += [section_header("6. GUT MICROBIOTA & THE BRAIN", "1 mark"), sp(4)]
story.append(Paragraph(
"The gut microbiome (~10¹⁴ organisms, >100× the human genome) communicates with the CNS via <b>four routes</b>:",
body_s))
story.append(sp(3))
story.append(code_block([
"GUT MICROBIOTA (10¹⁴ organisms)",
" |",
" ┌──────────┬──────────┬───────────┐",
" ▼ ▼ ▼ ▼",
" NEURAL ENDOCRINE IMMUNE METABOLIC",
" Vagal Enterocrine Cytokines SCFAs, indoles",
" afferent cell (IL-6, tryptophan",
" (5-HT, stimulation IL-10, metabolites",
" SCFAs) (GLP-1,PYY) TNF-α)",
" | | | |",
" └──────────┴──────────┴───────────┘",
" ▼",
" CNS EFFECTS:",
" • BDNF production • Neurogenesis",
" • Myelination • BBB integrity",
" • Mood / cognition • Behaviour",
]))
story.append(sp(4))
story.append(Paragraph(b("What Microbiota Produce"), h2_s))
mp_data = [
[Paragraph(b("Product"), h3_s), Paragraph(b("Source Bacteria"), h3_s), Paragraph(b("Brain Effect"), h3_s)],
["SCFAs (butyrate, propionate, acetate)", "Clostridia, Bifidobacteria", "↑ BDNF, BBB integrity, anti-inflammatory"],
["GABA", "Lactobacillus, Bifidobacterium", "Anxiolytic; mood regulation"],
["Serotonin precursors (tryptophan)", "Spore-forming bacteria", "Mood, gut motility"],
["Dopamine precursors", "Bacillus, Serratia", "Reward, motivation"],
["BDNF stimulators", "Bifidobacterium longum", "Neuroprotection, neuroplasticity"],
["LPS (dysbiosis)", "Gram-negative bacteria", "Neuroinflammation, BBB disruption"],
]
mpt = Table(mp_data, colWidths=[W*0.32, W*0.28, W*0.40])
mpt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_TEAL),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LTGREEN]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story += [mpt, sp(5)]
story.append(Paragraph(b("Top-Down (Brain → Microbiota)"), h3_s))
for b_text in [
"Stress → ↑ catecholamines → alter gut motility + secretion → change luminal environment → dysbiosis",
"Cortisol → ↓ mucosal immunity → overgrowth of pathogenic flora",
"Neurotransmitters (NE) can directly influence bacterial gene expression (microbial endocrinology)",
]:
story.append(bullet(b_text))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════
# SECTION 7 — NEWER ADVANCES
# ══════════════════════════════════════════════════════════════
story += [PageBreak(), section_header("7. NEWER ADVANCES & RECENT STUDIES", "0.5 mark"), sp(4)]
adv_data = [
[Paragraph(b("Advance"), h3_s), Paragraph(b("Key Finding"), h3_s), Paragraph(b("Clinical Implication"), h3_s)],
["Psychobiotics", "L. rhamnosus, B. longum reduce anxiety/depression in RCTs (Binda et al., 2024)", "Probiotic therapy for psychiatric disease"],
["Fecal Microbiota\nTransplant (FMT)", "Anxiety/depression phenotype transferable via FMT in germ-free mice", "Dysbiosis as causal factor in psychiatric conditions"],
["Vagus Nerve\nStimulation (VNS)", "Approved for treatment-resistant depression; anti-inflammatory via cholinergic pathway", "Gut-brain axis as direct therapeutic target"],
["Long COVID &\n5-HT axis (2023)", "Gut SARS-CoV-2 → ↓ serotonin availability → dampened vagal signalling → brain fog", "Gut 5-HT depletion explains COVID neurological symptoms"],
["Sleep-microbiome\ncycle (Wang et al., 2025)", "Dysbiosis ↔ sleep disturbance form a vicious cycle; circadian rhythm governs microbial composition", "Chrono-probiotics as novel sleep therapy"],
["Parkinson's\n\"gut-first\" hypothesis", "Alpha-synuclein pathology begins in ENS; travels via vagus to substantia nigra", "ENS biopsy as early Parkinson's diagnostic"],
["Aryl Hydrocarbon\nReceptor (AHR)", "Microbial metabolites activate AHR → regulate T-regulatory cells and microglia", "Target for MS and neuroinflammatory diseases"],
]
at = Table(adv_data, colWidths=[W*0.22, W*0.44, W*0.34])
at.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_NAVY),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LTPURPLE]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story += [at, sp(8)]
# ══════════════════════════════════════════════════════════════
# SECTION 8 — APPLIED PHYSIOLOGY
# ══════════════════════════════════════════════════════════════
story += [section_header("8. APPLIED PHYSIOLOGY", "implicit throughout"), sp(4)]
ap_data = [
[Paragraph(b("Clinical Scenario"), h3_s), Paragraph(b("Mechanism"), h3_s), Paragraph(b("Axis Involved"), h3_s)],
["IBS", "CRF ↑ → mast cells → visceral hypersensitivity + altered motility", "HPA + ENS + Microbiota"],
["Functional dyspepsia", "Impaired vagal tone → delayed gastric emptying", "Vagal efferent failure"],
["Anxiety → diarrhea", "Amygdala → ↑ CRF → ↑ colonic motility", "Limbic–HPA–ENS"],
["Depression → constipation", "↓ 5-HT (95% in gut) → ↓ motility", "Serotonergic GBA"],
["Hepatic encephalopathy", "Gut bacteria → NH₃, false neurotransmitters → encephalopathy", "Microbiota–brain axis"],
["Autism Spectrum Disorder", "Gut dysbiosis → altered GABA/glutamate signalling", "Microbiota–brain neurodevelopment"],
["Post-infectious IBS", "Infection → dysbiosis + sensitised afferents → chronic symptoms", "Immune–ENS–GBA"],
["Anorexia nervosa", "Dysregulated ghrelin/leptin/CCK signalling", "Neuroendocrine–GBA"],
]
apt = Table(ap_data, colWidths=[W*0.25, W*0.48, W*0.27])
apt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_TEAL),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LTORANGE]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story += [apt, sp(8)]
# ══════════════════════════════════════════════════════════════
# SECTION 9 — MASTER FLOWCHART
# ══════════════════════════════════════════════════════════════
story += [section_header("9. MASTER FLOWCHART — Complete Gut-Brain Axis"), sp(4)]
story.append(code_block([
" ENVIRONMENTAL INPUT",
" (Food · Stress · Sleep · Emotion · Infection)",
" |",
" ┌──────────┴──────────┐",
" ▼ ▼",
" BRAIN GUT MICROBIOTA",
" (Cortex/Limbic/ (10¹⁴ organisms)",
" Hypothalamus) |",
" | SCFAs · GABA · 5-HT",
" | LPS · cytokines",
" | |",
" ┌──────┴─────────────────────┘",
" |",
" ├─► HPA AXIS: CRF → ACTH → Cortisol → ↑ gut permeability",
" |",
" ├─► ANS PARASYMPATHETIC: Vagus / Pelvic nerve",
" | → ↑ Motility · ↑ Secretion (rest-digest)",
" |",
" ├─► ANS SYMPATHETIC: NE via celiac ganglia",
" | → ↓ Motility · ↑ Sphincter (fight-flight)",
" |",
" └─► ENS (Myenteric + Submucosal plexus)",
" → Local reflexes (peristalsis · secretion)",
" → Neurotransmitters: ACh · VIP · 5-HT · NO · Substance P",
" |",
" ▼",
" GI EFFECTORS",
" Motility | Secretion | Absorption | Sensation | Immune",
" |",
" ▼ (feedback)",
" VAGAL AFFERENTS (80%) + SPINAL AFFERENTS (pain)",
" |",
" ▼",
" BACK TO BRAIN",
" (NTS → Hypothalamus → Limbic → Cortex)",
], bg=colors.HexColor("#e3f2fd")))
story.append(sp(8))
# ══════════════════════════════════════════════════════════════
# SECTION 10 — ENS NEUROTRANSMITTERS
# ══════════════════════════════════════════════════════════════
story += [section_header("10. ENS KEY NEUROTRANSMITTERS"), sp(4)]
nt_data = [
[Paragraph(b("NT"), h3_s), Paragraph(b("Action"), h3_s)],
["ACh", "Primary excitatory → ↑ secretion + smooth muscle contraction"],
["VIP", "Inhibits smooth muscle; ↑ fluid secretion"],
["Substance P", "Excitatory; pain signalling, ascending peristaltic reflex"],
["Serotonin (5-HT)", "Initiates peristaltic reflex; activates vagal afferents"],
["Nitric oxide (NO)", "Inhibitory motor neuron → smooth muscle relaxation"],
["Enkephalins", "Inhibitory; ↓ secretion + motility (opioid effect)"],
["Somatostatin", "Inhibitory; ↓ secretion + motility"],
]
ntt = Table(nt_data, colWidths=[W*0.22, W*0.78])
ntt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), C_NAVY),
("TEXTCOLOR", (0,0), (-1,0), C_WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8.5),
("FONTNAME", (0,1), (-1,-1), "Helvetica"),
("ROWBACKGROUNDS",(0,1), (-1,-1), [C_WHITE, C_LGRAY]),
("GRID", (0,0), (-1,-1), 0.4, C_GRAY),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING", (0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 6),
]))
story += [ntt, sp(8)]
# ══════════════════════════════════════════════════════════════
# QUICK RECALL BOX
# ══════════════════════════════════════════════════════════════
story.append(Paragraph("QUICK RECALL — Last-Minute Revision", S("Normal",
fontSize=11, textColor=C_WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER)))
recall_lines = [
("5 PATHWAYS OF GUT-BRAIN COMMUNICATION", True),
("1. Neural — Vagus nerve (CN X), spinal afferents", False),
("2. Endocrine — CCK · GLP-1 · PYY · Ghrelin · 5-HT", False),
("3. Immune — Cytokines (IL-6 · TNF-α · IL-10)", False),
("4. HPA — CRF → ACTH → Cortisol", False),
("5. Microbial — SCFAs · GABA · Tryptophan · LPS", False),
("", False),
("KEY NUMBERS", True),
("ENS = 200–600 million neurons | 2 plexuses", False),
("95% of body serotonin is produced in the GUT", False),
("Vagus = 80% afferent (gut → brain) / 20% efferent", False),
("FMT can transfer mood/behaviour phenotype (animal studies)", False),
("Alpha-synuclein (Parkinson's) may originate in ENS", False),
]
recall_rows = []
for text, is_heading in recall_lines:
if not text:
recall_rows.append([Spacer(1, 3)])
elif is_heading:
recall_rows.append([Paragraph(text, S("Normal", fontSize=9, fontName="Helvetica-Bold",
textColor=C_NAVY, leading=13))])
else:
recall_rows.append([Paragraph(text, recall_s)])
rt = Table(recall_rows, colWidths=[W - 16])
rt.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), C_LTYELLOW),
("LINEABOVE", (0,0), (-1,0), 2, C_ORANGE),
("LINEBELOW", (0,-1),(-1,-1), 2, C_ORANGE),
("LINEBEFORE", (0,0), (0,-1), 4, C_ORANGE),
("LINEAFTER", (0,0), (0,-1), 4, C_ORANGE),
("TOPPADDING", (0,0), (-1,-1), 3),
("BOTTOMPADDING", (0,0), (-1,-1), 3),
("LEFTPADDING", (0,0), (-1,-1), 12),
]))
story += [rt, sp(8)]
# ══════════════════════════════════════════════════════════════
# SOURCES
# ══════════════════════════════════════════════════════════════
story.append(hr())
story.append(Paragraph("<b>Sources:</b> Sleisenger & Fordtran's GI and Liver Disease · Medical Physiology (Boron & Boulpaep) · "
"Harrison's Principles of Internal Medicine 22e · Yamada's Textbook of Gastroenterology 7e · "
"Ganong's Review of Medical Physiology 26e · Kaplan & Sadock's Comprehensive Textbook of Psychiatry · "
"Binda et al., Microorganisms 2024 [PMID 38674579] · Wang et al., Brain Medicine 2025", src_s))
# ─── Page numbering ───────────────────────────────────────────────
def add_page_number(canvas, doc):
canvas.saveState()
canvas.setFont("Helvetica", 8)
canvas.setFillColor(C_GRAY)
canvas.drawRightString(A4[0] - 1.8*cm, 1.2*cm, f"Page {doc.page}")
canvas.drawString(1.8*cm, 1.2*cm, "Gut-Brain Axis Physiology | Orris Medical AI")
canvas.restoreState()
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
print("PDF generated successfully:", OUTPUT)
cd /home/daytona/workspace/gut-brain-axis && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/gut-brain-axis/Gut_Brain_Axis_Physiology_5Marks.pdf
Gut Brain Axis Physiology 5Marks
PDF Document · PDF
| Section | Content |
|---|---|
| 1 | Definition & Overview + Component table + Memory hook |
| 2 | ENS "Second Brain" - structural diagram + plexus table |
| 3 | How Brain Controls Gut - top-down flowchart (Para + Sympathetic) |
| 4 | Brain + ANS + Hormones - collective axis flowchart + gut hormone table |
| 5 | Sleep & Emotional disturbances - dual flowcharts (sleep + emotion → gut) |
| 6 | Gut Microbiota & Brain - 4 routes diagram + metabolite product table |
| 7 | Newer Advances (Psychobiotics, FMT, VNS, Long COVID, Parkinson's, AHR) |
| 8 | Applied Physiology - IBS, depression, autism, hepatic encephalopathy etc. |
| 9 | Master Flowchart - complete integrated axis |
| 10 | ENS neurotransmitters table + Quick Recall revision box |