Make 15 minutes ppt on topic Genetics anatomy and biochemistry of behavioural science
mkdir -p /home/daytona/workspace/behavioural-science-ppt && ls /home/daytona/workspace/behavioural-science-ppt
~/behavioural-science-ppt/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.author = "Behavioural Science Lecture";
pres.title = "Genetics, Anatomy & Biochemistry of Behavioural Science";
// ─── COLOR PALETTE ───────────────────────────────────────────────────────────
const C = {
darkBg: "0D1B2A", // deep navy (title/section slides)
midBg: "1B2A3B", // mid navy
lightBg: "EFF4F9", // off-white for content slides
accent1: "4FC3F7", // sky blue – headings
accent2: "81C784", // mint green – highlights / icons
accent3: "FFB74D", // amber – callout boxes
white: "FFFFFF",
bodyText: "1A2E3D",
subtext: "4A6072",
boxBg: "D0E9F5",
tablHdr: "1565C0",
};
// ─── HELPER: section divider slide ───────────────────────────────────────────
function sectionSlide(pres, number, title, subtitle) {
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 4.5, w: 10, h: 1.125, fill: { color: C.accent1 }, line: { color: C.accent1 } });
sl.addText(`SECTION ${number}`, {
x: 0.5, y: 1.2, w: 9, h: 0.5,
fontSize: 13, color: C.accent1, bold: true, charSpacing: 6,
});
sl.addText(title, {
x: 0.5, y: 1.8, w: 9, h: 1.2,
fontSize: 34, color: C.white, bold: true,
});
sl.addText(subtitle, {
x: 0.5, y: 3.1, w: 9, h: 0.6,
fontSize: 16, color: C.accent2, italic: true,
});
return sl;
}
// ─── HELPER: content slide ────────────────────────────────────────────────────
function contentSlide(pres, title, color) {
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.85, fill: { color: color || C.darkBg } });
sl.addText(title, {
x: 0.35, y: 0, w: 9.3, h: 0.85,
fontSize: 20, color: C.white, bold: true, valign: "middle", margin: 0,
});
return sl;
}
// ─── HELPER: bullet list ──────────────────────────────────────────────────────
function bullets(items, opts) {
return items.map((item, i) => ({
text: typeof item === "string" ? item : item.text,
options: {
bullet: { code: "2022" },
fontSize: typeof item === "object" && item.size ? item.size : (opts && opts.fontSize ? opts.fontSize : 16),
color: typeof item === "object" && item.color ? item.color : C.bodyText,
bold: typeof item === "object" && item.bold ? item.bold : false,
breakLine: i < items.length - 1,
indentLevel: typeof item === "object" && item.indent ? item.indent : 0,
paraSpaceBefore: 3,
}
}));
}
// ─── HELPER: info box ─────────────────────────────────────────────────────────
function infoBox(sl, x, y, w, h, heading, text, bgColor) {
sl.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: bgColor || C.boxBg },
line: { color: C.accent1, width: 1.5 },
rectRadius: 0.08,
});
sl.addText([
{ text: heading + "\n", options: { bold: true, fontSize: 11, color: C.darkBg, breakLine: true } },
{ text: text, options: { fontSize: 10, color: C.bodyText } },
], { x: x + 0.08, y: y + 0.08, w: w - 0.16, h: h - 0.16 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ════════════════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
// Top accent bar
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.12, fill: { color: C.accent1 }, line: { color: C.accent1 } });
// Bottom accent bar
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.5, w: 10, h: 0.125, fill: { color: C.accent2 }, line: { color: C.accent2 } });
// Decorative circle top-right
sl.addShape(pres.ShapeType.ellipse, { x: 7.5, y: -1, w: 4, h: 4, fill: { color: "1A3050" }, line: { color: "1A3050" } });
sl.addText("BEHAVIOURAL SCIENCE", {
x: 0.6, y: 0.5, w: 7, h: 0.5,
fontSize: 13, color: C.accent1, bold: true, charSpacing: 5,
});
sl.addText("Genetics, Anatomy &\nBiochemistry", {
x: 0.6, y: 1.1, w: 8.5, h: 1.9,
fontSize: 42, color: C.white, bold: true, lineSpacingMultiple: 1.1,
});
sl.addText("of Behavioural Science", {
x: 0.6, y: 2.95, w: 8.5, h: 0.7,
fontSize: 28, color: C.accent2,
});
sl.addShape(pres.ShapeType.line, { x: 0.6, y: 3.75, w: 4.5, h: 0, line: { color: C.accent1, width: 1.5 } });
sl.addText("Advanced Seminar | Psychiatry & Psychology", {
x: 0.6, y: 3.95, w: 7, h: 0.4,
fontSize: 13, color: C.subtext, italic: true,
});
sl.addText("15-Minute Lecture", {
x: 0.6, y: 4.45, w: 4, h: 0.4,
fontSize: 12, color: C.accent3,
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 2 — OVERVIEW / ROADMAP
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Lecture Roadmap", C.midBg);
sl.addText("What we will cover in 15 minutes", {
x: 0.4, y: 0.92, w: 9, h: 0.4,
fontSize: 14, color: C.subtext, italic: true,
});
const sections = [
{ n: "01", title: "Genetics of Behaviour", desc: "Heritability, twin studies, GWAS, epigenetics, gene-environment interaction", col: C.accent1 },
{ n: "02", title: "Neuroanatomy of Behaviour", desc: "Limbic system, prefrontal cortex, basal ganglia, HPA axis", col: C.accent2 },
{ n: "03", title: "Biochemistry of Behaviour", desc: "Neurotransmitters, receptors, signal transduction, neuroendocrinology", col: C.accent3 },
{ n: "04", title: "Clinical Integration", desc: "Schizophrenia, depression, anxiety, addiction — tying all three pillars together", col: "EF9A9A" },
];
sections.forEach((s, i) => {
const x = 0.3 + (i % 2) * 4.8;
const y = 1.5 + Math.floor(i / 2) * 1.85;
sl.addShape(pres.ShapeType.roundRect, {
x, y, w: 4.5, h: 1.6,
fill: { color: C.darkBg },
line: { color: s.col, width: 2 },
rectRadius: 0.1,
});
sl.addText(s.n, { x: x + 0.15, y: y + 0.1, w: 0.55, h: 0.55, fontSize: 22, color: s.col, bold: true });
sl.addText(s.title, { x: x + 0.75, y: y + 0.1, w: 3.6, h: 0.45, fontSize: 15, color: C.white, bold: true });
sl.addText(s.desc, { x: x + 0.75, y: y + 0.6, w: 3.6, h: 0.85, fontSize: 10.5, color: "AACDE8" });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 3 — SECTION DIVIDER: GENETICS
// ════════════════════════════════════════════════════════════════════════════
sectionSlide(pres, "01", "Genetics of Behaviour", "Heritability · Twin Studies · Molecular Genetics · Epigenetics");
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 4 — HERITABILITY & TWIN STUDIES
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Heritability & Twin Studies", C.darkBg);
// Left column: bullets
sl.addText([
{ text: "Defining Heritability", options: { bold: true, fontSize: 14, color: C.accent1, breakLine: true } },
...bullets([
"Proportion of phenotypic variance attributable to genetic factors (h²)",
"Ranges 0–1; does NOT mean 'caused by genes' in isolation",
"Influenced by population studied and environment",
], { fontSize: 13 }),
], { x: 0.35, y: 1.0, w: 4.6, h: 2.2 });
sl.addText([
{ text: "Twin Study Design", options: { bold: true, fontSize: 14, color: C.accent2, breakLine: true } },
...bullets([
{ text: "MZ (identical) vs DZ (fraternal) concordance rates", size: 13 },
{ text: "MZ concordance > DZ → genetic contribution", size: 13 },
{ text: "ACE model: Additive genetic (A), Shared environment (C), Non-shared environment (E)", size: 12 },
]),
], { x: 0.35, y: 3.25, w: 4.6, h: 2.1 });
// Right column: table
sl.addText("Heritability Estimates — Psychiatric Disorders", {
x: 5.2, y: 1.0, w: 4.6, h: 0.35,
fontSize: 12, color: C.darkBg, bold: true,
});
sl.addTable([
[
{ text: "Disorder", options: { bold: true, color: C.white, fill: C.tablHdr } },
{ text: "h² Estimate", options: { bold: true, color: C.white, fill: C.tablHdr } },
],
["Schizophrenia", "~80%"],
["Bipolar Disorder", "~85%"],
["ADHD", "~76%"],
["Major Depression", "~37–50%"],
["Autism Spectrum", "~64–91%"],
["Anxiety Disorders", "~30–50%"],
], {
x: 5.2, y: 1.42, w: 4.6, h: 2.8,
fontSize: 12,
border: { type: "solid", color: C.accent1 },
colW: [2.8, 1.8],
});
infoBox(sl, 5.2, 4.3, 4.6, 1.0,
"Key finding:",
"For schizophrenia, MZ concordance ~50% vs DZ ~10-15% — strong genetic loading, yet environment matters (Kaplan & Sadock; Emery's Genetics)",
"D6EAF8"
);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 5 — MOLECULAR GENETICS: GWAS & CANDIDATE GENES
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Molecular Genetics: GWAS & Candidate Genes", C.darkBg);
sl.addText("Genome-Wide Association Studies (GWAS)", {
x: 0.35, y: 1.0, w: 9.3, h: 0.4,
fontSize: 16, color: C.accent1, bold: true,
});
sl.addText(bullets([
"GWAS scan millions of SNPs (single nucleotide polymorphisms) across the genome simultaneously",
"Identify common variants with small effect sizes (OR 1.1–1.3 per allele)",
"Cross-Disorder Genetics Consortium: overlapping genetic risk across schizophrenia, bipolar disorder, MDD, autism, and ADHD",
"Polygenic Risk Scores (PRS) aggregate thousands of small-effect variants into a single risk metric",
]), { x: 0.35, y: 1.45, w: 9.2, h: 1.7, fontSize: 13 });
sl.addText("Key Candidate Genes & Loci", {
x: 0.35, y: 3.2, w: 9.3, h: 0.38,
fontSize: 15, color: C.accent2, bold: true,
});
const genes = [
{ gene: "COMT (Val158Met)", role: "Dopamine catabolism; schizophrenia & cognition" },
{ gene: "MAOA (Brunner syndrome)", role: "Monoamine oxidase A; aggression & impulsivity" },
{ gene: "SLC6A4 (5-HTTLPR)", role: "Serotonin transporter; depression & anxiety" },
{ gene: "DISC1", role: "Disrupted-in-schizophrenia; neuronal migration" },
{ gene: "BDNF (Val66Met)", role: "Neuroplasticity; depression, anxiety, cognition" },
];
genes.forEach((g, i) => {
const x = 0.3 + (i % 2 === 0 ? 0 : 4.7);
const y = 3.65 + Math.floor(i / 2) * 0.46;
sl.addShape(pres.ShapeType.rect, { x, y, w: 4.4, h: 0.38, fill: { color: i % 2 === 0 ? "E3F2FD" : "E8F5E9" }, line: { color: i % 2 === 0 ? C.accent1 : C.accent2 } });
sl.addText(g.gene, { x: x + 0.08, y: y + 0.04, w: 1.7, h: 0.3, fontSize: 10.5, bold: true, color: C.darkBg });
sl.addText(g.role, { x: x + 1.8, y: y + 0.04, w: 2.5, h: 0.3, fontSize: 10, color: C.bodyText });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 6 — EPIGENETICS & GENE-ENVIRONMENT INTERACTION
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Epigenetics & Gene-Environment Interaction", C.darkBg);
// Left box
sl.addShape(pres.ShapeType.roundRect, { x: 0.3, y: 1.0, w: 4.5, h: 2.6, fill: { color: "0D2137" }, line: { color: C.accent1, width: 1.5 }, rectRadius: 0.08 });
sl.addText("Epigenetic Mechanisms", { x: 0.45, y: 1.05, w: 4.2, h: 0.38, fontSize: 14, color: C.accent1, bold: true });
sl.addText(bullets([
{ text: "DNA methylation — CpG sites; gene silencing without altering sequence", size: 12 },
{ text: "Histone modification — acetylation (activate) / deacetylation (silence)", size: 12 },
{ text: "Non-coding RNA (miRNA, lncRNA) — post-transcriptional regulation", size: 12 },
{ text: "Transgenerational epigenetic inheritance — trauma/stress effects across generations", size: 12 },
]), { x: 0.45, y: 1.5, w: 4.2, h: 2.0, fontSize: 12 });
// Right box
sl.addShape(pres.ShapeType.roundRect, { x: 5.2, y: 1.0, w: 4.5, h: 2.6, fill: { color: "0D2137" }, line: { color: C.accent2, width: 1.5 }, rectRadius: 0.08 });
sl.addText("Gene × Environment (G×E)", { x: 5.35, y: 1.05, w: 4.2, h: 0.38, fontSize: 14, color: C.accent2, bold: true });
sl.addText(bullets([
{ text: "Caspi et al. (2003): 5-HTTLPR s/s genotype + stressful life events → 2× risk of depression", size: 12 },
{ text: "MAOA-L + childhood maltreatment → elevated antisocial behaviour (Caspi et al. 2002)", size: 12 },
{ text: "Diathesis-stress model: genetic vulnerability + environmental trigger", size: 12 },
{ text: "Epigenetic changes mediate many G×E effects (e.g., NR3C1 methylation in early adversity)", size: 12 },
]), { x: 5.35, y: 1.5, w: 4.2, h: 2.0, fontSize: 12 });
infoBox(sl, 0.3, 3.7, 9.4, 1.6,
"Paradigm shift:",
"Genes do not operate in isolation. Epigenetic marks are dynamically modified by experience, stress, diet, and pharmacotherapy — making the genome a responsive document, not a fixed blueprint.\n(Emery's Elements of Medical Genetics, 17e; Kaplan & Sadock's Comprehensive Textbook of Psychiatry)",
"FFF9C4"
);
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 7 — SECTION DIVIDER: NEUROANATOMY
// ════════════════════════════════════════════════════════════════════════════
sectionSlide(pres, "02", "Neuroanatomy of Behaviour", "Limbic System · PFC · Basal Ganglia · HPA Axis");
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 8 — LIMBIC SYSTEM
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Limbic System: The Emotional Brain", C.darkBg);
const structures = [
{ name: "Amygdala", role: "Fear conditioning, threat detection, emotional memory consolidation. Hyperactivation in PTSD & anxiety disorders.", col: "EF9A9A" },
{ name: "Hippocampus", role: "Explicit (declarative) memory; spatial navigation. Volume reduction in depression & PTSD (stress-induced neurodegeneration via glucocorticoids).", col: C.accent1 },
{ name: "Anterior Cingulate\nCortex (ACC)", role: "Error detection, conflict monitoring, pain modulation. Hypoactivation linked to depression and blunted affect.", col: C.accent2 },
{ name: "Hypothalamus", role: "Homeostasis, appetite, sexual behaviour; origin of HPA axis. Central regulator of autonomic stress response.", col: C.accent3 },
];
structures.forEach((s, i) => {
const x = 0.28 + (i % 2) * 4.85;
const y = 1.05 + Math.floor(i / 2) * 2.1;
sl.addShape(pres.ShapeType.roundRect, { x, y, w: 4.6, h: 1.9, fill: { color: C.darkBg }, line: { color: s.col, width: 2 }, rectRadius: 0.1 });
sl.addShape(pres.ShapeType.rect, { x, y, w: 0.18, h: 1.9, fill: { color: s.col }, line: { color: s.col } });
sl.addText(s.name, { x: x + 0.28, y: y + 0.1, w: 4.1, h: 0.5, fontSize: 14, color: s.col, bold: true });
sl.addText(s.role, { x: x + 0.28, y: y + 0.62, w: 4.1, h: 1.15, fontSize: 11, color: "DDEEFF" });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 9 — PREFRONTAL CORTEX & BASAL GANGLIA
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Prefrontal Cortex & Basal Ganglia", C.darkBg);
// PFC section
sl.addText("Prefrontal Cortex (PFC)", { x: 0.35, y: 1.0, w: 9.3, h: 0.38, fontSize: 15, color: C.accent1, bold: true });
sl.addText(bullets([
{ text: "DLPFC (Dorsolateral): Working memory, cognitive flexibility, executive function — hypoactivation in schizophrenia ('hypofrontality')", size: 12 },
{ text: "VMPFC (Ventromedial): Reward valuation, decision-making, fear extinction — key in OCD and depression", size: 12 },
{ text: "OFC (Orbitofrontal): Impulse control, social cognition, reinforcement learning — damaged in antisocial personality", size: 12 },
]), { x: 0.35, y: 1.45, w: 9.2, h: 1.5, fontSize: 12 });
// Divider line
sl.addShape(pres.ShapeType.line, { x: 0.35, y: 3.1, w: 9.3, h: 0, line: { color: C.accent1, width: 0.75 } });
// Basal Ganglia section
sl.addText("Basal Ganglia", { x: 0.35, y: 3.2, w: 9.3, h: 0.38, fontSize: 15, color: C.accent2, bold: true });
sl.addText(bullets([
{ text: "Striatum (caudate + putamen): habit formation, procedural learning, reward anticipation via dopaminergic input from VTA/SN", size: 12 },
{ text: "Nucleus Accumbens (NAc): core of the reward circuit — addiction, motivation, anhedonia. Dense DA receptor expression.", size: 12 },
{ text: "Subthalamic nucleus & globus pallidus: modulate motor and limbic circuits; DBS target in treatment-resistant OCD/depression", size: 12 },
]), { x: 0.35, y: 3.65, w: 9.2, h: 1.75, fontSize: 12 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 10 — HPA AXIS & STRESS NEUROBIOLOGY
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "HPA Axis & Stress Neurobiology", C.darkBg);
// Flow diagram (text-based)
const steps = [
{ label: "Stressor\n(psychological or physical)", col: "EF9A9A" },
{ label: "Hypothalamus\nCRH release", col: C.accent3 },
{ label: "Anterior Pituitary\nACTH release", col: C.accent1 },
{ label: "Adrenal Cortex\nCortisol release", col: C.accent2 },
{ label: "Target Organs\n+ Negative Feedback", col: "CE93D8" },
];
steps.forEach((s, i) => {
const x = 0.35 + i * 1.85;
sl.addShape(pres.ShapeType.roundRect, { x, y: 1.05, w: 1.65, h: 0.9, fill: { color: s.col }, line: { color: s.col }, rectRadius: 0.07 });
sl.addText(s.label, { x, y: 1.05, w: 1.65, h: 0.9, fontSize: 9.5, color: C.darkBg, bold: true, align: "center", valign: "middle" });
if (i < steps.length - 1) {
sl.addShape(pres.ShapeType.line, { x: x + 1.65, y: 1.5, w: 0.2, h: 0, line: { color: C.white, width: 1.5 } });
}
});
sl.addText("Chronic stress effects on the brain:", { x: 0.35, y: 2.1, w: 9.3, h: 0.38, fontSize: 14, color: C.accent3, bold: true });
sl.addText(bullets([
{ text: "Prolonged cortisol → hippocampal dendritic atrophy, impaired neurogenesis → memory deficits (seen in MDD)", size: 12.5 },
{ text: "Amygdala hypertrophy and sensitisation → exaggerated fear response (PTSD, GAD)", size: 12.5 },
{ text: "Glucocorticoid receptor (GR) downregulation → impaired negative feedback → HPA dysregulation", size: 12.5 },
{ text: "Dexamethasone suppression test (DST): non-suppression in ~50% of MDD patients; correlates with melancholic features", size: 12.5 },
{ text: "Early-life adversity methylates NR3C1 (GR gene), permanently altering HPA sensitivity (Kaplan & Sadock, block 52)", size: 12.5 },
]), { x: 0.35, y: 2.55, w: 9.2, h: 2.8, fontSize: 12 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 11 — SECTION DIVIDER: BIOCHEMISTRY
// ════════════════════════════════════════════════════════════════════════════
sectionSlide(pres, "03", "Biochemistry of Behaviour", "Neurotransmitters · Receptors · Signal Transduction · Neuroendocrinology");
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 12 — MONOAMINE NEUROTRANSMITTERS
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Monoamine Neurotransmitters", C.darkBg);
const nts = [
{
name: "Dopamine (DA)", color: C.accent1,
path: "Tyrosine → L-DOPA (TH) → DA → NE → EPI",
systems: "Mesolimbic (reward), Mesocortical (cognition), Nigrostriatal (motor), Tuberoinfundibular (prolactin)",
behaviour: "Motivation, reward, working memory, motor control",
disorders: "Excess: schizophrenia (positive symptoms); Deficit: depression, Parkinson's, ADHD",
},
{
name: "Serotonin (5-HT)", color: C.accent2,
path: "Tryptophan → 5-HTP (TPH2) → 5-HT → 5-HIAA",
systems: "Raphe nuclei → cortex, limbic, spinal cord",
behaviour: "Mood, impulse control, satiety, sleep regulation",
disorders: "Deficit: MDD, anxiety, OCD, impulsive aggression; 5-HT1A/2A critical therapeutic targets",
},
{
name: "Norepinephrine (NE)", color: C.accent3,
path: "DA → NE (dopamine-β-hydroxylase) in locus coeruleus",
systems: "LC → cortex, limbic, thalamus — arousal/attention network",
behaviour: "Arousal, attention, fight-or-flight, pain modulation",
disorders: "Deficit: depression, ADHD; Excess: anxiety, PTSD, hypertension",
},
];
nts.forEach((nt, i) => {
const y = 1.05 + i * 1.45;
sl.addShape(pres.ShapeType.roundRect, { x: 0.3, y, w: 9.4, h: 1.35, fill: { color: C.darkBg }, line: { color: nt.color, width: 1.5 }, rectRadius: 0.07 });
sl.addShape(pres.ShapeType.rect, { x: 0.3, y, w: 0.15, h: 1.35, fill: { color: nt.color }, line: { color: nt.color } });
sl.addText(nt.name, { x: 0.55, y: y + 0.05, w: 2.2, h: 0.38, fontSize: 13, color: nt.color, bold: true });
sl.addText("Synthesis: " + nt.path, { x: 0.55, y: y + 0.44, w: 3.5, h: 0.3, fontSize: 9, color: "AACDE8", italic: true });
sl.addText("Behaviour: " + nt.behaviour, { x: 0.55, y: y + 0.73, w: 3.5, h: 0.28, fontSize: 10, color: "D4E6F1" });
sl.addText("Pathways: " + nt.systems, { x: 4.1, y: y + 0.07, w: 5.5, h: 0.45, fontSize: 10, color: "AACDE8" });
sl.addText("Disorders: " + nt.disorders, { x: 4.1, y: y + 0.57, w: 5.5, h: 0.63, fontSize: 10, color: "FFE0B2" });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 13 — RECEPTOR PHARMACOLOGY & SIGNAL TRANSDUCTION
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Receptor Pharmacology & Signal Transduction", C.darkBg);
sl.addText([
{ text: "Ionotropic Receptors", options: { bold: true, fontSize: 13, color: C.accent1, breakLine: true } },
...bullets([
{ text: "Ion channels directly gated by ligand binding — fast synaptic transmission (ms)", size: 12 },
{ text: "NMDA (glutamate): Ca2+ influx → LTP, learning/memory; hypofunction → schizophrenia-like states (ketamine model)", size: 11 },
{ text: "GABAA (GABA): Cl- influx → hyperpolarization; target of benzodiazepines, barbiturates, alcohol", size: 11 },
{ text: "nAChR (ACh): Na+/K+ influx; cognitive enhancement, addiction (nicotine), targeted in Alzheimer's", size: 11 },
]),
], { x: 0.35, y: 1.0, w: 4.6, h: 2.5, fontSize: 12 });
sl.addText([
{ text: "Metabotropic (GPCR) Receptors", options: { bold: true, fontSize: 13, color: C.accent2, breakLine: true } },
...bullets([
{ text: "7-transmembrane receptors coupled to G-proteins — slower but more modulatory (sec–min)", size: 12 },
{ text: "Gs (adenylyl cyclase → cAMP → PKA): D1, β-adrenergic, 5-HT4/6/7", size: 11 },
{ text: "Gi (inhibit AC → ↓cAMP): D2, α2, μ-opioid, GABAB, 5-HT1A", size: 11 },
{ text: "Gq (PLC → IP3 + DAG → PKC + Ca2+): α1, 5-HT2, mGluR1/5, M1", size: 11 },
]),
], { x: 5.2, y: 1.0, w: 4.6, h: 2.5, fontSize: 12 });
sl.addShape(pres.ShapeType.line, { x: 0.35, y: 3.6, w: 9.3, h: 0, line: { color: C.accent1, width: 0.75 } });
sl.addText("Key Second Messenger Cascades in Behaviour", { x: 0.35, y: 3.7, w: 9.3, h: 0.35, fontSize: 13, color: C.accent3, bold: true });
sl.addText(bullets([
{ text: "cAMP/PKA pathway: mediates antidepressant action (BDNF/CREB upregulation) — lithium inhibits inositol recycling in this cascade", size: 12 },
{ text: "MAPK/ERK pathway: synaptic plasticity, long-term potentiation — downstream of neurotrophins (BDNF-TrkB)", size: 12 },
{ text: "mTOR pathway: protein synthesis for long-term memory — ketamine's rapid antidepressant effect partly via mTOR activation", size: 12 },
]), { x: 0.35, y: 4.1, w: 9.2, h: 1.3, fontSize: 12 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 14 — SECTION DIVIDER: CLINICAL INTEGRATION
// ════════════════════════════════════════════════════════════════════════════
sectionSlide(pres, "04", "Clinical Integration", "Schizophrenia · Depression · Anxiety · Addiction");
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 15 — CLINICAL INTEGRATION TABLE
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Tying the Three Pillars Together", C.darkBg);
sl.addText("Each major psychiatric disorder reflects convergent genetic, anatomical, and biochemical dysfunction:", {
x: 0.35, y: 0.9, w: 9.3, h: 0.38,
fontSize: 12, color: C.subtext, italic: true,
});
sl.addTable([
[
{ text: "Disorder", options: { bold: true, color: C.white, fill: C.tablHdr, fontSize: 11 } },
{ text: "Genetic Factors", options: { bold: true, color: C.white, fill: C.tablHdr, fontSize: 11 } },
{ text: "Neuroanatomy", options: { bold: true, color: C.white, fill: C.tablHdr, fontSize: 11 } },
{ text: "Biochemistry", options: { bold: true, color: C.white, fill: C.tablHdr, fontSize: 11 } },
],
[
{ text: "Schizophrenia", options: { bold: true, fontSize: 10 } },
{ text: "h²~80%; COMT, DISC1, CNTNAP2; 22q11 deletion (30× risk)", options: { fontSize: 9.5 } },
{ text: "Hypofrontality (DLPFC); enlarged ventricles; reduced grey matter", options: { fontSize: 9.5 } },
{ text: "DA hyperactivity (mesolimbic); DA hypofunction (mesocortical); NMDA hypofunction", options: { fontSize: 9.5 } },
],
[
{ text: "Major Depression", options: { bold: true, fontSize: 10 } },
{ text: "h²~40%; 5-HTTLPR, BDNF Val66Met; polygenic G×E with stress", options: { fontSize: 9.5 } },
{ text: "Hippocampal atrophy; ↓ACC activity; amygdala hyperactivity", options: { fontSize: 9.5 } },
{ text: "↓5-HT, NE, DA; HPA dysregulation; ↓BDNF; neuroinflammation (IL-6, TNF-α)", options: { fontSize: 9.5 } },
],
[
{ text: "Anxiety/PTSD", options: { bold: true, fontSize: 10 } },
{ text: "h²~30–50%; FKBP5 (GR co-chaperone); epigenetic NR3C1 methylation", options: { fontSize: 9.5 } },
{ text: "Amygdala hyperactivation; ↓hippocampal volume; impaired PFC-amygdala inhibition", options: { fontSize: 9.5 } },
{ text: "NE excess (LC); ↓GABA; altered 5-HT1A signalling; elevated cortisol; altered NPY", options: { fontSize: 9.5 } },
],
[
{ text: "Addiction", options: { bold: true, fontSize: 10 } },
{ text: "h²~40–60%; ALDH2, ADH1B (alcohol); DRD2 A1 allele; MAOA", options: { fontSize: 9.5 } },
{ text: "NAc structural remodelling; ↓PFC control; altered striatal reward circuits", options: { fontSize: 9.5 } },
{ text: "DA surge (NAc) → reward; DAT downregulation; glutamate AMPA upregulation in abstinence", options: { fontSize: 9.5 } },
],
], {
x: 0.3, y: 1.35, w: 9.4, h: 4.0,
fontSize: 10,
border: { type: "solid", color: "AACDE8" },
colW: [1.6, 2.5, 2.4, 2.9],
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 16 — EPIGENETICS AS THERAPEUTIC TARGET
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Epigenetics as a Therapeutic Target", C.darkBg);
sl.addText("Emerging pharmacological approaches that target the epigenome:", {
x: 0.35, y: 0.92, w: 9.3, h: 0.35,
fontSize: 12, color: C.subtext, italic: true,
});
const targets = [
{ drug: "HDAC Inhibitors\n(e.g., valproate)", mech: "Inhibit histone deacetylases → chromatin relaxation → ↑gene expression", indication: "Bipolar disorder, epilepsy; preclinical: PTSD (fear extinction), schizophrenia", col: C.accent1 },
{ drug: "DNMT Inhibitors\n(e.g., 5-azacytidine)", mech: "Block DNA methyltransferases → demethylation of silenced promoters", indication: "Haematological malignancy; research: reversing stress-induced silencing of GR gene", col: C.accent2 },
{ drug: "BET Bromodomain\nInhibitors (JQ1)", mech: "Block acetyl-lysine binding to bromodomains → suppress inflammation-linked transcription", indication: "Preclinical: cocaine behavioural sensitisation, anhedonia models", col: C.accent3 },
{ drug: "miRNA-based therapies", mech: "miRNA mimics or anti-miRs modulate post-transcriptional gene silencing in neural circuits", indication: "PTSD (miR-132), depression (miR-16), addiction — early stage research", col: "CE93D8" },
];
targets.forEach((t, i) => {
const x = 0.3 + (i % 2) * 4.8;
const y = 1.38 + Math.floor(i / 2) * 1.95;
sl.addShape(pres.ShapeType.roundRect, { x, y, w: 4.5, h: 1.8, fill: { color: "0D1A2A" }, line: { color: t.col, width: 2 }, rectRadius: 0.08 });
sl.addText(t.drug, { x: x + 0.15, y: y + 0.1, w: 4.2, h: 0.55, fontSize: 13, color: t.col, bold: true });
sl.addText("Mechanism: " + t.mech, { x: x + 0.15, y: y + 0.65, w: 4.2, h: 0.5, fontSize: 9.5, color: "DDEEFF" });
sl.addText("Clinical: " + t.indication, { x: x + 0.15, y: y + 1.18, w: 4.2, h: 0.5, fontSize: 9, color: "FFE0B2" });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 17 — KEY TAKE-AWAYS
// ════════════════════════════════════════════════════════════════════════════
{
const sl = contentSlide(pres, "Key Take-Aways", C.darkBg);
const takeaways = [
{ icon: "G", col: C.accent1, text: "Genetic risk for psychiatric disorders is polygenic, not deterministic. PRS now predict population-level risk for schizophrenia, depression, and ADHD with clinical relevance." },
{ icon: "E", col: C.accent2, text: "Epigenetics bridges nature and nurture. Early-life stress, trauma, and pharmacotherapy all leave molecular marks on gene expression that shape long-term behaviour." },
{ icon: "A", col: C.accent3, text: "Behaviour emerges from neural circuits — not single structures. PFC-limbic-striatal networks are the core substrate; lesions or dysfunction in any node alter psychiatric phenotype." },
{ icon: "B", col: "EF9A9A", text: "Neurotransmitter imbalance is not a simple 'deficit' model. Receptor subtype specificity, regional circuit context, and downstream signalling cascades determine clinical outcomes." },
{ icon: "C", col: "CE93D8", text: "Integration is essential for psychiatry. Genetics, neuroanatomy, and biochemistry are inseparable — effective pharmacotherapy must target the biology underlying the specific circuit dysfunction." },
];
takeaways.forEach((t, i) => {
const y = 1.02 + i * 0.86;
sl.addShape(pres.ShapeType.ellipse, { x: 0.3, y: y + 0.12, w: 0.55, h: 0.55, fill: { color: t.col }, line: { color: t.col } });
sl.addText(t.icon, { x: 0.3, y: y + 0.12, w: 0.55, h: 0.55, fontSize: 14, color: C.darkBg, bold: true, align: "center", valign: "middle" });
sl.addText(t.text, { x: 1.0, y: y + 0.05, w: 8.7, h: 0.72, fontSize: 12, color: C.bodyText });
});
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 18 — REFERENCES
// ════════════════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.lightBg } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.8, fill: { color: C.darkBg } });
sl.addText("References & Further Reading", { x: 0.35, y: 0, w: 9.3, h: 0.8, fontSize: 18, color: C.white, bold: true, valign: "middle", margin: 0 });
sl.addText([
{ text: "1. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Sadock BJ, Sadock VA, Ruiz P. Kaplan & Sadock's Comprehensive Textbook of Psychiatry, 10e. Wolters Kluwer, 2022.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "2. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Stahl SM. Stahl's Essential Psychopharmacology: Neuroscientific Basis and Practical Applications, 5e. Cambridge, 2021.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "3. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Turnpenny PD, Ellard S, Cleaver R. Emery's Elements of Medical Genetics and Genomics, 16e. Elsevier, 2022.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "4. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Blumenfeld H. Neuroanatomy Through Clinical Cases, 3e. Sinauer, 2022.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "5. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Guyton AC, Hall JE. Textbook of Medical Physiology, 14e. Elsevier, 2021.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "6. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Caspi A et al. Influence of life stress on depression: moderation by a polymorphism in the 5-HTT gene. Science 2003;301:386-389.\n", options: { fontSize: 11, color: C.bodyText, breakLine: true } },
{ text: "7. ", options: { bold: true, fontSize: 11, color: C.darkBg } },
{ text: "Cross-Disorder Group of the Psychiatric Genomics Consortium. Identification of risk loci with shared effects on five major psychiatric disorders. Lancet 2013;381:1371-1379.", options: { fontSize: 11, color: C.bodyText } },
], { x: 0.4, y: 0.95, w: 9.2, h: 4.5 });
}
// ════════════════════════════════════════════════════════════════════════════
// SLIDE 19 — CLOSING SLIDE
// ════════════════════════════════════════════════════════════════════════════
{
const sl = pres.addSlide();
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 5.625, fill: { color: C.darkBg } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 0.1, fill: { color: C.accent1 }, line: { color: C.accent1 } });
sl.addShape(pres.ShapeType.rect, { x: 0, y: 5.525, w: 10, h: 0.1, fill: { color: C.accent2 }, line: { color: C.accent2 } });
sl.addShape(pres.ShapeType.ellipse, { x: -1.5, y: 3.5, w: 4, h: 4, fill: { color: "1A3050" }, line: { color: "1A3050" } });
sl.addText("Behaviour is biology.", {
x: 1, y: 1.2, w: 8, h: 1.1,
fontSize: 38, color: C.white, bold: true, align: "center",
});
sl.addText("Genetics, anatomy, and biochemistry are not separate disciplines —\nthey are three lenses on the same neural reality.", {
x: 1, y: 2.4, w: 8, h: 0.9,
fontSize: 15, color: C.accent2, italic: true, align: "center",
});
sl.addShape(pres.ShapeType.line, { x: 3.5, y: 3.45, w: 3, h: 0, line: { color: C.accent1, width: 1.5 } });
sl.addText("Questions & Discussion", {
x: 1, y: 3.6, w: 8, h: 0.55,
fontSize: 20, color: C.accent3, bold: true, align: "center",
});
sl.addText("Genetics · Anatomy · Biochemistry | Behavioural Science", {
x: 1, y: 4.4, w: 8, h: 0.4,
fontSize: 12, color: C.subtext, align: "center",
});
}
// ════════════════════════════════════════════════════════════════════════════
// WRITE FILE
// ════════════════════════════════════════════════════════════════════════════
const outPath = "/home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience.pptx";
pres.writeFile({ fileName: outPath }).then(() => {
console.log("SUCCESS: " + outPath);
}).catch(err => {
console.error("ERROR:", err);
process.exit(1);
});
cd /home/daytona/workspace/behavioural-science-ppt && node build.js 2>&1
ls -lh /home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience.pptx
Genetics Anatomy Biochemistry BehaviouralScience
Presentation · PPTX
| Slide | Content |
|---|---|
| 1 | Title slide |
| 2 | Lecture roadmap (4-quadrant overview) |
| 3 | Section divider — Genetics |
| 4 | Heritability & twin studies (ACE model + heritability table for 6 disorders) |
| 5 | GWAS, polygenic risk scores, and 5 candidate gene cards (COMT, MAOA, 5-HTTLPR, DISC1, BDNF) |
| 6 | Epigenetics + Gene×Environment interaction (Caspi studies, NR3C1, diathesis-stress) |
| 7 | Section divider — Neuroanatomy |
| 8 | Limbic system (amygdala, hippocampus, ACC, hypothalamus — colour-coded cards) |
| 9 | PFC (DLPFC, VMPFC, OFC) + Basal ganglia (NAc, striatum, DBS targets) |
| 10 | HPA axis cascade diagram + chronic stress effects on brain |
| 11 | Section divider — Biochemistry |
| 12 | Monoamines: DA, 5-HT, NE — synthesis pathways, circuits, behaviours, disorders |
| 13 | Receptor pharmacology (ionotropic vs GPCR) + second messenger cascades (cAMP/PKA, MAPK, mTOR) |
| 14 | Section divider — Clinical Integration |
| 15 | 4-disorder integration table (Schizophrenia, MDD, Anxiety/PTSD, Addiction) |
| 16 | Epigenetics as therapeutic target (HDAC inhibitors, DNMT inhibitors, BET inhibitors, miRNA) |
| 17 | 5 key take-aways |
| 18 | References (Kaplan & Sadock, Stahl, Emery's, Blumenfeld, Caspi, PGC Lancet 2013) |
| 19 | Closing quote slide |
Create a companion PDF with detailed neurotransmitter receptor diagrams
~/behavioural-science-ppt/build_pdf.py
"""
Companion PDF: Neurotransmitter Receptor Diagrams
Behavioural Science – Genetics, Anatomy & Biochemistry
"""
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
PageBreak, HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.graphics.shapes import (
Drawing, Rect, Circle, Ellipse, String, Line, Polygon, Arrow,
Group, PolyLine
)
from reportlab.graphics import renderPDF
from reportlab.graphics.shapes import ArcPath
import math
# ─── COLOURS ──────────────────────────────────────────────────────────────────
NAVY = colors.HexColor("#0D1B2A")
MID_NAVY = colors.HexColor("#1B2A3B")
BLUE = colors.HexColor("#4FC3F7")
GREEN = colors.HexColor("#81C784")
AMBER = colors.HexColor("#FFB74D")
PURPLE = colors.HexColor("#CE93D8")
RED = colors.HexColor("#EF9A9A")
WHITE = colors.white
LTBLUE = colors.HexColor("#D0E9F5")
LTYELLOW = colors.HexColor("#FFF9C4")
LTGREEN = colors.HexColor("#E8F5E9")
DARKTEXT = colors.HexColor("#1A2E3D")
SUBTEXT = colors.HexColor("#4A6072")
GREY = colors.HexColor("#ECEFF1")
W, H = A4
# ─── STYLES ───────────────────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, **kw):
base = styles["Normal"]
return ParagraphStyle(name, parent=base, **kw)
title_style = S("Title", fontSize=28, textColor=WHITE, spaceAfter=6, alignment=TA_CENTER, fontName="Helvetica-Bold")
h1_style = S("H1", fontSize=18, textColor=NAVY, spaceAfter=4, fontName="Helvetica-Bold")
h2_style = S("H2", fontSize=14, textColor=colors.HexColor("#1565C0"), spaceAfter=3, fontName="Helvetica-Bold")
h3_style = S("H3", fontSize=12, textColor=NAVY, spaceAfter=2, fontName="Helvetica-Bold")
body_style = S("Body", fontSize=10, textColor=DARKTEXT, spaceAfter=4, leading=14, alignment=TA_JUSTIFY)
caption_style = S("Caption", fontSize=8.5,textColor=SUBTEXT, spaceAfter=6, italic=True, alignment=TA_CENTER, fontName="Helvetica-Oblique")
bullet_style = S("Bullet", fontSize=10, textColor=DARKTEXT, spaceAfter=3, leading=14, leftIndent=12, bulletIndent=2)
label_style = S("Label", fontSize=9, textColor=DARKTEXT, spaceAfter=2, fontName="Helvetica-Bold")
small_style = S("Small", fontSize=8.5,textColor=SUBTEXT, spaceAfter=2, leading=12)
note_style = S("Note", fontSize=9, textColor=colors.HexColor("#1A237E"), spaceAfter=4, leading=13, leftIndent=8, borderPad=4, backColor=LTBLUE, fontName="Helvetica-Oblique")
warn_style = S("Warn", fontSize=9, textColor=colors.HexColor("#4E342E"), spaceAfter=4, leading=13, leftIndent=8, backColor=LTYELLOW)
# ─── HELPERS ──────────────────────────────────────────────────────────────────
def header_block(title, subtitle, bg=NAVY, fg=WHITE, accent=BLUE):
"""Full-width coloured header block as a Table."""
data = [[Paragraph(f'<font color="#{bg.hexval()[2:]}"></font><b>{title}</b>',
S("hdr", fontSize=16, textColor=fg, fontName="Helvetica-Bold", alignment=TA_CENTER)),
]]
t = Table([[Paragraph(title, S("h", fontSize=16, textColor=fg, fontName="Helvetica-Bold", alignment=TA_CENTER))],
[Paragraph(subtitle, S("s", fontSize=10, textColor=accent, fontName="Helvetica-Oblique", alignment=TA_CENTER))]],
colWidths=[16*cm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("ROWBACKGROUNDS", (0,0), (-1,-1), [bg, bg]),
("TOPPADDING", (0,0), (-1,-1), 10),
("BOTTOMPADDING", (0,0), (-1,-1), 10),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
]))
return t
def info_box(text, bg=LTBLUE, border=BLUE):
t = Table([[Paragraph(text, S("ib", fontSize=9.5, textColor=DARKTEXT, leading=13))]], colWidths=[16*cm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), bg),
("BOX", (0,0), (-1,-1), 1.2, border),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
]))
return t
def section_label(text, col=BLUE):
t = Table([[Paragraph(f"<b>{text}</b>", S("sl", fontSize=10, textColor=WHITE, fontName="Helvetica-Bold"))]], colWidths=[16*cm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), col),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 10),
]))
return t
def two_col(left_content, right_content, lw=8*cm, rw=8*cm):
t = Table([[left_content, right_content]], colWidths=[lw, rw])
t.setStyle(TableStyle([
("VALIGN", (0,0), (-1,-1), "TOP"),
("LEFTPADDING", (0,0), (-1,-1), 4),
("RIGHTPADDING", (0,0), (-1,-1), 4),
("TOPPADDING", (0,0), (-1,-1), 2),
]))
return t
# ══════════════════════════════════════════════════════════════════════════════
# DIAGRAM FUNCTIONS (ReportLab Graphics)
# ══════════════════════════════════════════════════════════════════════════════
def arrow(d, x1, y1, x2, y2, color=NAVY, width=1.5):
"""Draw an arrow from (x1,y1) to (x2,y2)."""
d.add(Line(x1, y1, x2, y2, strokeColor=color, strokeWidth=width))
# arrowhead
angle = math.atan2(y2-y1, x2-x1)
aw = 6
d.add(Polygon([
x2, y2,
x2 - aw*math.cos(angle-0.4), y2 - aw*math.sin(angle-0.4),
x2 - aw*math.cos(angle+0.4), y2 - aw*math.sin(angle+0.4),
], fillColor=color, strokeColor=color, strokeWidth=0.5))
def label(d, x, y, text, size=8, color=DARKTEXT, bold=False, align="middle"):
fn = "Helvetica-Bold" if bold else "Helvetica"
d.add(String(x, y, text, fontSize=size, fillColor=color, fontName=fn, textAnchor=align))
def rounded_rect(d, x, y, w, h, rx=6, fill=LTBLUE, stroke=BLUE, sw=1.2):
from reportlab.graphics.shapes import Rect
r = Rect(x, y, w, h, rx=rx, ry=rx, fillColor=fill, strokeColor=stroke, strokeWidth=sw)
d.add(r)
# ─── DIAGRAM 1: GPCR / 7-TM Receptor ─────────────────────────────────────────
def diagram_gpcr():
dw, dh = 460, 280
d = Drawing(dw, dh)
# Extracellular label
label(d, 230, 268, "EXTRACELLULAR", 8, SUBTEXT)
# Membrane (two layers)
for yy in [195, 175]:
d.add(Rect(10, yy, 440, 20, fillColor=colors.HexColor("#B3E5FC"), strokeColor=BLUE, strokeWidth=0.5))
label(d, 230, 188, "PLASMA MEMBRANE", 7, MID_NAVY, bold=True)
# Intracellular label
label(d, 230, 158, "INTRACELLULAR", 8, SUBTEXT)
# 7 TM helices
helix_cols = [colors.HexColor("#0277BD"), colors.HexColor("#0288D1"),
colors.HexColor("#039BE5"), colors.HexColor("#29B6F6"),
colors.HexColor("#4FC3F7"), colors.HexColor("#81D4FA"),
colors.HexColor("#B3E5FC")]
hx_positions = [55, 100, 145, 190, 235, 280, 325]
for i, hx in enumerate(hx_positions):
d.add(Rect(hx, 165, 28, 70, rx=5, ry=5,
fillColor=helix_cols[i], strokeColor=BLUE, strokeWidth=0.8))
label(d, hx+14, 198, f"TM{i+1}", 7, WHITE, bold=True)
# Extracellular loops (arcs above membrane)
loop_pairs = [(55,100),(145,190),(235,280)]
for i,(x1,x2) in enumerate(loop_pairs):
cx = (x1+x2)/2 + 14
cy = 235 + (i%2)*10
d.add(Line(x1+14, 235, cx-15, cy+15, strokeColor=NAVY, strokeWidth=1.5))
d.add(Line(x2+14, 235, cx+15, cy+15, strokeColor=NAVY, strokeWidth=1.5))
label(d, cx, cy+22, f"ECL{i+1}", 7, SUBTEXT)
# Intracellular loops
loop_pairs_ic = [(100,145),(190,235),(280,325)]
for i,(x1,x2) in enumerate(loop_pairs_ic):
cx = (x1+x2)/2 + 14
cy = 140 - (i%2)*10
d.add(Line(x1+14, 165, cx-12, cy-10, strokeColor=NAVY, strokeWidth=1.5))
d.add(Line(x2+14, 165, cx+12, cy-10, strokeColor=NAVY, strokeWidth=1.5))
label(d, cx, cy-18, f"ICL{i+1}", 7, SUBTEXT)
# C-terminus (intracellular tail)
d.add(Line(325+14, 165, 380, 120, strokeColor=NAVY, strokeWidth=1.5))
label(d, 388, 116, "C-term", 7, SUBTEXT)
# N-terminus (extracellular)
d.add(Line(55+14, 235, 30, 258, strokeColor=NAVY, strokeWidth=1.5))
label(d, 12, 262, "N-term", 7, SUBTEXT)
# Ligand binding pocket
rounded_rect(d, 150, 245, 60, 22, rx=8, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 180, 253, "Ligand", 8, colors.HexColor("#E65100"), bold=True)
arrow(d, 180, 244, 180, 236, color=AMBER)
# G-protein (alpha, beta, gamma)
d.add(Circle(390, 120, 22, fillColor=colors.HexColor("#F3E5F5"), strokeColor=PURPLE, strokeWidth=1.5))
label(d, 390, 117, "Gα", 9, PURPLE, bold=True)
d.add(Circle(418, 98, 14, fillColor=colors.HexColor("#EDE7F6"), strokeColor=PURPLE, strokeWidth=1))
label(d, 418, 95, "Gβ", 8, PURPLE)
d.add(Circle(403, 78, 12, fillColor=colors.HexColor("#EDE7F6"), strokeColor=PURPLE, strokeWidth=1))
label(d, 403, 75, "Gγ", 8, PURPLE)
arrow(d, 325+14, 140, 368, 128, color=PURPLE)
# Effector arrow
arrow(d, 412, 97, 435, 70, color=GREEN)
label(d, 437, 60, "Effector\n(AC / PLC)", 7.5, GREEN, bold=True)
# Title
label(d, 230, 10, "FIGURE 1 — G Protein-Coupled Receptor (GPCR) / 7-Transmembrane Receptor",
8.5, NAVY, bold=True)
return d
# ─── DIAGRAM 2: NMDA Receptor ─────────────────────────────────────────────────
def diagram_nmda():
dw, dh = 460, 290
d = Drawing(dw, dh)
# Membrane
for yy in [148, 128]:
d.add(Rect(10, yy, 440, 20, fillColor=colors.HexColor("#B3E5FC"),
strokeColor=BLUE, strokeWidth=0.5))
label(d, 230, 140, "PLASMA MEMBRANE", 7, MID_NAVY, bold=True)
label(d, 230, 278, "EXTRACELLULAR", 8, SUBTEXT)
label(d, 230, 110, "INTRACELLULAR", 8, SUBTEXT)
# Four subunits arranged around central pore
cx, cy_top, cy_bot = 230, 200, 90
subunit_data = [
(140, 200, "GluN1", colors.HexColor("#B3E5FC"), BLUE),
(210, 210, "GluN2A", colors.HexColor("#C8E6C9"), GREEN),
(250, 210, "GluN2B", colors.HexColor("#FFE0B2"), AMBER),
(320, 200, "GluN1", colors.HexColor("#B3E5FC"), BLUE),
]
for sx, sy, sname, fc, sc in subunit_data:
d.add(Rect(sx-22, sy-55, 44, 110, rx=8, ry=8, fillColor=fc, strokeColor=sc, strokeWidth=1.5))
label(d, sx, sy+40, sname, 8, sc, bold=True)
# Central pore
d.add(Ellipse(230, 168, 18, 28, fillColor=colors.HexColor("#E3F2FD"),
strokeColor=BLUE, strokeWidth=2))
label(d, 230, 164, "Pore", 7.5, BLUE, bold=True)
# Mg2+ block
d.add(Circle(230, 148, 8, fillColor=AMBER, strokeColor=colors.HexColor("#E65100"), strokeWidth=1.5))
label(d, 246, 145, "Mg²⁺\n(voltage block)", 7, colors.HexColor("#BF360C"))
# Binding sites annotations
bind_sites = [
(148, 250, "Glutamate\nbinding site", BLUE),
(230, 260, "Glycine\nco-agonist site", GREEN),
(312, 250, "Zn²⁺\nmodulatory site", AMBER),
]
for bx, by, bname, bc in bind_sites:
rounded_rect(d, bx-32, by-10, 64, 28, rx=6, fill=colors.HexColor("#F8F9FA"), stroke=bc)
label(d, bx, by+2, bname, 7.5, bc, bold=False)
arrow(d, bx, by-12, bx, by-35, color=bc)
# Ca2+ influx arrow
arrow(d, 240, 160, 240, 102, color=RED, width=2.5)
label(d, 250, 125, "Ca²⁺ influx\n(→ LTP)", 8, RED, bold=True)
# PCP / MK801 site
rounded_rect(d, 255, 148, 58, 20, rx=5, fill=colors.HexColor("#FFF3E0"), stroke=AMBER)
label(d, 284, 154, "PCP / MK801\nsite (open-channel block)", 7, colors.HexColor("#E65100"))
# Na+/K+
label(d, 145, 115, "Na⁺ / K⁺", 8, MID_NAVY)
arrow(d, 165, 125, 185, 140, color=MID_NAVY)
label(d, 230, 10, "FIGURE 2 — NMDA Receptor (Ionotropic Glutamate Receptor) — Tetrameric Structure",
8.5, NAVY, bold=True)
return d
# ─── DIAGRAM 3: GABA-A / Benzodiazepine Receptor ──────────────────────────────
def diagram_gabaa():
dw, dh = 460, 290
d = Drawing(dw, dh)
# Membrane
for yy in [135, 115]:
d.add(Rect(10, yy, 440, 20, fillColor=colors.HexColor("#B3E5FC"),
strokeColor=BLUE, strokeWidth=0.5))
label(d, 230, 127, "PLASMA MEMBRANE", 7, MID_NAVY, bold=True)
label(d, 230, 278, "EXTRACELLULAR", 8, SUBTEXT)
label(d, 230, 98, "INTRACELLULAR", 8, SUBTEXT)
# Five subunits pentameric arrangement
subunits = [
(160, 190, "α", colors.HexColor("#B3E5FC"), BLUE),
(210, 210, "β", colors.HexColor("#C8E6C9"), GREEN),
(260, 210, "γ", colors.HexColor("#F3E5F5"), PURPLE),
(310, 190, "β", colors.HexColor("#C8E6C9"), GREEN),
(350, 162, "α", colors.HexColor("#B3E5FC"), BLUE),
]
for sx, sy, sname, fc, sc in subunits:
d.add(Rect(sx-20, sy-50, 40, 100, rx=7, ry=7, fillColor=fc, strokeColor=sc, strokeWidth=1.5))
label(d, sx, sy+38, sname, 10, sc, bold=True)
# Central Cl- pore
d.add(Ellipse(255, 155, 18, 30, fillColor=colors.HexColor("#E8EAF6"),
strokeColor=PURPLE, strokeWidth=2))
label(d, 255, 152, "Cl⁻\npore", 7.5, PURPLE, bold=True)
# Binding site labels
# GABA site (α/β interface)
rounded_rect(d, 150, 250, 70, 22, rx=6, fill=colors.HexColor("#E3F2FD"), stroke=BLUE)
label(d, 185, 257, "GABA site\n(α/β interface)", 7.5, BLUE, bold=False)
arrow(d, 185, 249, 185, 230, color=BLUE)
# BDZ site (α/γ interface)
rounded_rect(d, 255, 255, 75, 22, rx=6, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 292, 262, "BDZ site\n(α/γ interface)", 7.5, PURPLE, bold=False)
arrow(d, 292, 254, 275, 235, color=PURPLE)
# Barbiturate / propofol site (TM)
rounded_rect(d, 365, 220, 78, 22, rx=6, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 404, 227, "Barbiturate/\nPropofol (TM)", 7.5, AMBER, bold=False)
arrow(d, 385, 219, 350, 182, color=AMBER)
# Cl- influx
arrow(d, 265, 125, 265, 82, color=colors.HexColor("#7986CB"), width=2.5)
label(d, 278, 102, "Cl⁻ influx\n→ Hyperpolarisation", 8, colors.HexColor("#3949AB"), bold=True)
label(d, 230, 10, "FIGURE 3 — GABA-A Receptor / Benzodiazepine–GABA Receptor Complex (Pentameric)",
8.5, NAVY, bold=True)
return d
# ─── DIAGRAM 4: Dopamine Receptor Signalling (D1 vs D2) ──────────────────────
def diagram_dopamine():
dw, dh = 460, 310
d = Drawing(dw, dh)
# ── D1 (left half) ──
label(d, 110, 298, "D1 / D5 Receptor", 10, BLUE, bold=True)
label(d, 110, 286, "(Gs-coupled)", 8.5, SUBTEXT)
# Receptor
rounded_rect(d, 50, 230, 120, 44, rx=8, fill=colors.HexColor("#E3F2FD"), stroke=BLUE)
label(d, 110, 254, "D1/D5", 10, BLUE, bold=True)
label(d, 110, 242, "7-TM GPCR", 8, SUBTEXT)
# Gs
rounded_rect(d, 60, 185, 50, 30, rx=6, fill=colors.HexColor("#E8F5E9"), stroke=GREEN)
label(d, 85, 196, "Gαs", 9, GREEN, bold=True)
arrow(d, 110, 230, 85, 215, color=GREEN)
# Adenylyl cyclase
rounded_rect(d, 50, 148, 80, 26, rx=6, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 90, 157, "Adenylyl Cyclase ↑", 8.5, PURPLE, bold=True)
arrow(d, 85, 185, 85, 174, color=GREEN)
# ATP → cAMP
label(d, 90, 138, "ATP → cAMP ↑", 8.5, colors.HexColor("#7B1FA2"))
arrow(d, 90, 148, 90, 125, color=PURPLE)
# PKA
rounded_rect(d, 55, 98, 70, 24, rx=6, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 90, 107, "PKA activation", 8.5, AMBER, bold=True)
arrow(d, 90, 122, 90, 98, color=AMBER)
# CREB / gene expression
arrow(d, 90, 98, 90, 72, color=AMBER)
rounded_rect(d, 50, 50, 80, 20, rx=5, fill=colors.HexColor("#FFECB3"), stroke=AMBER)
label(d, 90, 57, "CREB → Gene Exp.", 8, colors.HexColor("#E65100"), bold=True)
# Behavioural outcome
label(d, 90, 36, "→ Reward, Memory,", 8, DARKTEXT)
label(d, 90, 26, " Motor activation", 8, DARKTEXT)
# ── D2 (right half) ──
label(d, 340, 298, "D2 / D3 / D4 Receptor", 10, RED, bold=True)
label(d, 340, 286, "(Gi-coupled)", 8.5, SUBTEXT)
# Receptor
rounded_rect(d, 280, 230, 120, 44, rx=8, fill=colors.HexColor("#FFEBEE"), stroke=RED)
label(d, 340, 254, "D2/D3/D4", 10, RED, bold=True)
label(d, 340, 242, "7-TM GPCR", 8, SUBTEXT)
# Gi
rounded_rect(d, 305, 185, 50, 30, rx=6, fill=colors.HexColor("#FCE4EC"), stroke=RED)
label(d, 330, 196, "Gαi", 9, RED, bold=True)
arrow(d, 340, 230, 330, 215, color=RED)
# Adenylyl cyclase inhibit
rounded_rect(d, 285, 148, 80, 26, rx=6, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 325, 157, "Adenylyl Cyclase ↓", 8.5, PURPLE, bold=True)
arrow(d, 330, 185, 325, 174, color=RED)
# cAMP decrease
label(d, 325, 138, "cAMP ↓", 8.5, colors.HexColor("#7B1FA2"))
arrow(d, 325, 148, 325, 122, color=PURPLE)
# K+ channel / Ca2+ channel
rounded_rect(d, 285, 98, 90, 24, rx=6, fill=colors.HexColor("#E8EAF6"), stroke=colors.HexColor("#5C6BC0"))
label(d, 330, 107, "K⁺↑ / Ca²⁺↓ channels", 8, colors.HexColor("#3949AB"), bold=True)
arrow(d, 325, 122, 325, 98, color=colors.HexColor("#5C6BC0"))
# Inhibition / autoreceptor
arrow(d, 330, 98, 330, 72, color=colors.HexColor("#5C6BC0"))
rounded_rect(d, 285, 50, 90, 20, rx=5, fill=colors.HexColor("#EDE7F6"), stroke=PURPLE)
label(d, 330, 57, "DA synthesis ↓ (auto)", 8, PURPLE, bold=True)
label(d, 330, 36, "→ Inhibit reward;", 8, DARKTEXT)
label(d, 330, 26, " Antipsychotic target", 8, DARKTEXT)
# Dividing line
d.add(Line(230, 20, 230, 290, strokeColor=GREY, strokeWidth=1.5, strokeDashArray=[4,3]))
# Dopamine entering from top
label(d, 110, 314, "DA →", 9, colors.HexColor("#1565C0"), bold=True)
arrow(d, 75, 310, 75, 278, color=BLUE)
label(d, 340, 314, "DA →", 9, RED, bold=True)
arrow(d, 315, 310, 315, 278, color=RED)
label(d, 230, 8, "FIGURE 4 — Dopamine Receptor Subtypes: D1/D5 (Gs) vs D2/D3/D4 (Gi) Signalling Cascade",
8.5, NAVY, bold=True)
return d
# ─── DIAGRAM 5: Serotonin Receptor Map ────────────────────────────────────────
def diagram_serotonin():
dw, dh = 460, 320
d = Drawing(dw, dh)
label(d, 230, 308, "FIGURE 5 — Serotonin (5-HT) Receptor Subtypes — Classification & Key Clinical Links",
8.5, NAVY, bold=True)
receptor_data = [
# (x, y, name, type, G, clinical, fc, sc)
( 55, 255, "5-HT1A", "GPCR", "Gi", "Autoreceptor; anxiolysis;\nbuspirone target", colors.HexColor("#E8F5E9"), GREEN),
(170, 255, "5-HT1B/1D", "GPCR", "Gi", "Terminal autoreceptor;\ntriptans (migraine)", colors.HexColor("#E8F5E9"), GREEN),
(285, 255, "5-HT2A", "GPCR", "Gq", "Psychedelic target; hallucinogens;\natypical AP blockade", colors.HexColor("#FCE4EC"), RED),
(395, 255, "5-HT2C", "GPCR", "Gq", "Appetite, anxiety,\nOCD; clozapine", colors.HexColor("#FCE4EC"), RED),
( 55, 140, "5-HT3", "Ionotropic", "Na⁺/K⁺","Anti-emetic (ondansetron);\nfast depolarisation", colors.HexColor("#E3F2FD"), BLUE),
(170, 140, "5-HT4", "GPCR", "Gs", "GI motility, memory;\ncognitive enhancement", colors.HexColor("#FFF9C4"), AMBER),
(285, 140, "5-HT6", "GPCR", "Gs", "Cognition; clozapine &\nolanzapine affinity", colors.HexColor("#FFF9C4"), AMBER),
(395, 140, "5-HT7", "GPCR", "Gs", "Circadian rhythm, mood;\nvortioxetine", colors.HexColor("#FFF9C4"), AMBER),
]
for (rx, ry, rname, rtype, gp, clin, fc, sc) in receptor_data:
rounded_rect(d, rx-48, ry-50, 96, 100, rx=8, fill=fc, stroke=sc)
label(d, rx, ry+38, rname, 10, sc, bold=True)
label(d, rx, ry+24, rtype, 7.5, SUBTEXT)
label(d, rx, ry+13, f"G: {gp}", 7.5, MID_NAVY)
# clinical text — multi-line approximate
for i, line in enumerate(clin.split("\n")):
label(d, rx, ry - 5 + i*(-12), line, 7, DARKTEXT)
# Row labels
label(d, 10, 262, "Inhibitory\n(Gi/Go)", 8.5, GREEN, bold=True)
label(d, 10, 148, "Stimulatory\n(Gs / Ion)", 8.5, AMBER, bold=True)
# Raphe nuclei source
rounded_rect(d, 190, 28, 80, 26, rx=8, fill=colors.HexColor("#FCE4EC"), stroke=RED)
label(d, 230, 37, "Raphe Nuclei", 9, RED, bold=True)
label(d, 230, 18, "Source of 5-HT projections", 7.5, SUBTEXT)
# Arrows from raphe to rows
arrow(d, 230, 28, 230, 108, color=RED, width=1.5)
return d
# ─── DIAGRAM 6: Norepinephrine Receptor Subtypes ─────────────────────────────
def diagram_norepi():
dw, dh = 460, 280
d = Drawing(dw, dh)
label(d, 230, 268, "FIGURE 6 — Norepinephrine Adrenergic Receptor Subtypes & Second Messenger Pathways",
8.5, NAVY, bold=True)
recs = [
( 80, 210, "α1\n(Gq)", "Gq", "PLC→IP3+DAG\n→PKC, Ca²⁺↑", "Vasoconstriction\nArousal, PTSD hyperactivation", colors.HexColor("#FCE4EC"), RED),
(200, 210, "α2\n(Gi)", "Gi", "AC↓ → cAMP↓\nK⁺↑, Ca²⁺↓", "Presynaptic autoreceptor\nClonidine; PTSD nightmares", colors.HexColor("#E8F5E9"), GREEN),
(320, 210, "β1\n(Gs)", "Gs", "AC↑ → cAMP↑\n→ PKA", "Heart rate, attention\nNoradrenergic antidepressants", colors.HexColor("#E3F2FD"), BLUE),
(400, 210, "β2\n(Gs)", "Gs", "AC↑ → cAMP↑\n→ PKA", "Bronchodilation\nMetabolic effects", colors.HexColor("#E3F2FD"), BLUE),
]
for rx, ry, rname, gp, cascade, clin, fc, sc in recs:
rounded_rect(d, rx-52, ry-60, 104, 120, rx=8, fill=fc, stroke=sc)
label(d, rx, ry+48, rname, 10, sc, bold=True)
for i, line in enumerate(cascade.split("\n")):
label(d, rx, ry+22 - i*12, line, 7.5, MID_NAVY)
for i, line in enumerate(clin.split("\n")):
label(d, rx, ry - 22 - i*11, line, 7, DARKTEXT)
# Locus coeruleus source
rounded_rect(d, 170, 26, 120, 26, rx=8, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 230, 35, "Locus Coeruleus (LC)", 9, colors.HexColor("#E65100"), bold=True)
label(d, 230, 16, "Major source of NE → cortex, limbic, spinal cord", 7.5, SUBTEXT)
arrow(d, 230, 26, 230, 135, color=AMBER, width=1.5)
# NE molecule label
label(d, 230, 125, "Norepinephrine (NE)", 9, NAVY, bold=True)
return d
# ─── DIAGRAM 7: Second Messenger Cascade Summary ─────────────────────────────
def diagram_second_messenger():
dw, dh = 460, 320
d = Drawing(dw, dh)
label(d, 230, 308, "FIGURE 7 — Second Messenger Cascades: cAMP/PKA, Gq/PKC, and MAPK/ERK Pathways",
8.5, NAVY, bold=True)
# cAMP/PKA pathway (left)
rounded_rect(d, 10, 255, 130, 34, rx=8, fill=colors.HexColor("#E3F2FD"), stroke=BLUE)
label(d, 75, 270, "Receptor (Gs/Gi)", 9, BLUE, bold=True)
arrow(d, 75, 255, 75, 228, color=BLUE)
rounded_rect(d, 20, 198, 110, 26, rx=6, fill=colors.HexColor("#E8EAF6"), stroke=PURPLE)
label(d, 75, 208, "Adenylyl Cyclase", 8.5, PURPLE, bold=True)
arrow(d, 75, 198, 75, 170, color=PURPLE)
rounded_rect(d, 20, 143, 110, 24, rx=6, fill=colors.HexColor("#E8EAF6"), stroke=PURPLE)
label(d, 75, 152, "cAMP ↑ / ↓", 9, PURPLE, bold=True)
arrow(d, 75, 143, 75, 115, color=PURPLE)
rounded_rect(d, 20, 88, 110, 24, rx=6, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 75, 97, "PKA activation", 9, AMBER, bold=True)
arrow(d, 75, 88, 75, 60, color=AMBER)
rounded_rect(d, 10, 32, 130, 24, rx=6, fill=colors.HexColor("#FFECB3"), stroke=AMBER)
label(d, 75, 41, "CREB → BDNF / gene expression", 8, colors.HexColor("#E65100"), bold=True)
label(d, 75, 18, "Antidepressant mechanism", 7.5, SUBTEXT)
label(d, 75, 285, "cAMP / PKA Pathway", 9, NAVY, bold=True)
# Gq/PKC pathway (middle)
rounded_rect(d, 165, 255, 130, 34, rx=8, fill=colors.HexColor("#FCE4EC"), stroke=RED)
label(d, 230, 270, "Receptor (Gq)", 9, RED, bold=True)
arrow(d, 230, 255, 230, 228, color=RED)
rounded_rect(d, 175, 198, 110, 26, rx=6, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 230, 208, "PLC activation", 8.5, PURPLE, bold=True)
arrow(d, 230, 198, 230, 170, color=PURPLE)
rounded_rect(d, 165, 143, 130, 24, rx=6, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 230, 152, "IP3 + DAG", 9, PURPLE, bold=True)
arrow(d, 230, 143, 230, 115, color=PURPLE)
rounded_rect(d, 165, 88, 130, 24, rx=6, fill=colors.HexColor("#FCE4EC"), stroke=RED)
label(d, 230, 97, "PKC + Ca²⁺ release (ER)", 8.5, RED, bold=True)
arrow(d, 230, 88, 230, 60, color=RED)
rounded_rect(d, 165, 32, 130, 24, rx=6, fill=colors.HexColor("#FFCDD2"), stroke=RED)
label(d, 230, 41, "Neuronal excitability\n5-HT2A, α1, mGluR1/5", 8, colors.HexColor("#B71C1C"), bold=True)
label(d, 230, 18, "Psychedelic / atypical AP action", 7.5, SUBTEXT)
label(d, 230, 285, "Gq / PKC Pathway", 9, NAVY, bold=True)
# MAPK/ERK pathway (right)
rounded_rect(d, 320, 255, 130, 34, rx=8, fill=colors.HexColor("#E8F5E9"), stroke=GREEN)
label(d, 385, 270, "Receptor (RTK / GPCR)", 9, GREEN, bold=True)
arrow(d, 385, 255, 385, 228, color=GREEN)
rounded_rect(d, 330, 198, 110, 26, rx=6, fill=colors.HexColor("#E8F5E9"), stroke=GREEN)
label(d, 385, 208, "Ras → Raf activation", 8.5, GREEN, bold=True)
arrow(d, 385, 198, 385, 170, color=GREEN)
rounded_rect(d, 330, 143, 110, 24, rx=6, fill=colors.HexColor("#C8E6C9"), stroke=GREEN)
label(d, 385, 152, "MEK → ERK1/2", 9, GREEN, bold=True)
arrow(d, 385, 143, 385, 115, color=GREEN)
rounded_rect(d, 330, 88, 110, 24, rx=6, fill=colors.HexColor("#C8E6C9"), stroke=GREEN)
label(d, 385, 97, "Transcription factors\n(Elk-1, c-Fos)", 8, GREEN, bold=True)
arrow(d, 385, 88, 385, 60, color=GREEN)
rounded_rect(d, 325, 32, 125, 24, rx=6, fill=colors.HexColor("#DCEDC8"), stroke=GREEN)
label(d, 385, 41, "Synaptic plasticity\nNeurogenesis, LTP", 8, colors.HexColor("#33691E"), bold=True)
label(d, 385, 18, "Antidepressant / BDNF-TrkB", 7.5, SUBTEXT)
label(d, 385, 285, "MAPK / ERK Pathway", 9, NAVY, bold=True)
# Dividers
d.add(Line(155, 15, 155, 295, strokeColor=GREY, strokeWidth=1.2, strokeDashArray=[3,3]))
d.add(Line(313, 15, 313, 295, strokeColor=GREY, strokeWidth=1.2, strokeDashArray=[3,3]))
return d
# ─── DIAGRAM 8: Synapse Anatomy ───────────────────────────────────────────────
def diagram_synapse():
dw, dh = 460, 300
d = Drawing(dw, dh)
label(d, 230, 288, "FIGURE 8 — Chemical Synapse Anatomy & Neurotransmitter Release/Reuptake Cycle",
8.5, NAVY, bold=True)
# Presynaptic terminal (rounded rect)
rounded_rect(d, 50, 195, 360, 80, rx=10, fill=colors.HexColor("#E3F2FD"), stroke=BLUE, sw=2)
label(d, 230, 258, "PRESYNAPTIC TERMINAL", 9, BLUE, bold=True)
# Vesicles
for vx, vy in [(90,230),(130,215),(170,240),(210,220),(250,235),(290,215),(330,230)]:
d.add(Circle(vx, vy, 10, fillColor=colors.HexColor("#81D4FA"), strokeColor=BLUE, strokeWidth=1.2))
label(d, vx, vy-4, "NT", 6.5, NAVY, bold=True)
# Active zone / exocytosis
d.add(Rect(195, 194, 70, 6, fillColor=AMBER, strokeColor=AMBER, strokeWidth=0))
label(d, 230, 200, "Active Zone", 7, colors.HexColor("#E65100"), bold=True)
# Synaptic cleft
d.add(Rect(50, 148, 360, 44, fillColor=colors.HexColor("#F8F9FA"),
strokeColor=SUBTEXT, strokeWidth=0.8))
label(d, 230, 165, "S Y N A P T I C C L E F T", 8, SUBTEXT, bold=True)
# NT molecules in cleft
for tx in [130, 165, 200, 235, 270, 305]:
d.add(Circle(tx, 168, 5, fillColor=AMBER, strokeColor=colors.HexColor("#E65100"), strokeWidth=0.8))
# Postsynaptic membrane
rounded_rect(d, 50, 68, 360, 78, rx=10, fill=colors.HexColor("#E8F5E9"), stroke=GREEN, sw=2)
label(d, 230, 82, "POSTSYNAPTIC MEMBRANE", 9, GREEN, bold=True)
# Receptors on postsynaptic
for rx2 in [100, 165, 230, 295, 360]:
rounded_rect(d, rx2-16, 138, 32, 18, rx=4, fill=colors.HexColor("#C8E6C9"), stroke=GREEN)
label(d, rx2, 144, "R", 8.5, GREEN, bold=True)
# Reuptake transporter (presynaptic)
rounded_rect(d, 50, 172, 30, 22, rx=5, fill=colors.HexColor("#FFF9C4"), stroke=AMBER)
label(d, 65, 180, "DAT\nSERT", 6.5, colors.HexColor("#E65100"), bold=True)
arrow(d, 90, 180, 105, 208, color=AMBER)
label(d, 108, 196, "Reuptake", 7, AMBER)
# MAO (degradation in terminal)
rounded_rect(d, 355, 205, 50, 22, rx=5, fill=colors.HexColor("#FCE4EC"), stroke=RED)
label(d, 380, 213, "MAO\n(degrade)", 7, RED, bold=True)
# Autoreceptor
rounded_rect(d, 390, 240, 55, 20, rx=5, fill=colors.HexColor("#F3E5F5"), stroke=PURPLE)
label(d, 417, 247, "Auto-R\n(pre)", 7, PURPLE, bold=True)
arrow(d, 390, 248, 370, 232, color=PURPLE)
# Release arrow
arrow(d, 230, 193, 230, 192, color=AMBER, width=2)
label(d, 258, 185, "Exocytosis", 7, AMBER, bold=True)
# Second messenger icons in postsynaptic
label(d, 180, 100, "Ion flux / 2nd messengers → Behaviour", 9, GREEN, bold=True)
# Ca2+ entry trigger
rounded_rect(d, 360, 245, 58, 22, rx=5, fill=colors.HexColor("#E3F2FD"), stroke=BLUE)
label(d, 389, 253, "Ca²⁺ → release", 7.5, BLUE, bold=True)
arrow(d, 388, 244, 350, 225, color=BLUE)
label(d, 230, 30, "Presynaptic synthesis → vesicular packaging → exocytosis → postsynaptic receptor binding → reuptake/degradation",
7.5, SUBTEXT)
return d
# ══════════════════════════════════════════════════════════════════════════════
# BUILD THE PDF DOCUMENT
# ══════════════════════════════════════════════════════════════════════════════
out_path = "/home/daytona/workspace/behavioural-science-ppt/Neurotransmitter_Receptor_Diagrams_CompanionPDF.pdf"
doc = SimpleDocTemplate(
out_path,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2*cm, bottomMargin=2*cm,
title="Neurotransmitter Receptor Diagrams — Behavioural Science",
author="Advanced Behavioural Science Seminar",
)
story = []
# ══ COVER PAGE ══
cover_bg = Table(
[[Paragraph("NEUROTRANSMITTER RECEPTOR DIAGRAMS", S("ct", fontSize=24, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER))],
[Paragraph("Companion Reference for<br/><b>Genetics, Anatomy & Biochemistry of Behavioural Science</b>",
S("cs", fontSize=13, textColor=BLUE, alignment=TA_CENTER, leading=20))],
[Spacer(1, 0.3*cm)],
[Paragraph("Advanced Seminar · Psychiatry & Psychology Students",
S("ca", fontSize=10, textColor=GREEN, alignment=TA_CENTER, italic=True))],
[Paragraph("Sources: Kaplan & Sadock's Comprehensive Textbook of Psychiatry · Stahl's Essential Psychopharmacology · Kandel's Principles of Neural Science · Guyton & Hall",
S("cr", fontSize=8, textColor=SUBTEXT, alignment=TA_CENTER, italic=True))],
],
colWidths=[16*cm],
)
cover_bg.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), NAVY),
("TOPPADDING", (0,0), (-1,-1), 18),
("BOTTOMPADDING", (0,0), (-1,-1), 18),
("LEFTPADDING", (0,0), (-1,-1), 16),
("RIGHTPADDING", (0,0), (-1,-1), 16),
]))
story.append(cover_bg)
story.append(Spacer(1, 0.4*cm))
story.append(info_box(
"<b>How to use this companion document:</b> Each diagram corresponds to a slide topic in the main presentation. "
"Annotations reference specific binding sites, subunit compositions, ion selectivity, and downstream signalling cascades. "
"Clinical relevance is noted under each diagram. All content is sourced from peer-reviewed medical textbooks.",
bg=LTBLUE, border=BLUE
))
story.append(Spacer(1, 0.3*cm))
# Table of contents
toc_data = [
["Fig.", "Diagram", "Page"],
["1", "GPCR / 7-Transmembrane Receptor — General Architecture", "2"],
["2", "NMDA Receptor — Tetrameric Structure, Binding Sites, Ca²⁺ Influx", "3"],
["3", "GABA-A Receptor / Benzodiazepine Complex — Pentameric Structure", "4"],
["4", "Dopamine Receptor Subtypes — D1/D5 (Gs) vs D2/D3/D4 (Gi)", "5"],
["5", "Serotonin Receptor Subtypes — Classification & Clinical Links", "6"],
["6", "Norepinephrine Adrenergic Receptor Subtypes", "7"],
["7", "Second Messenger Cascades — cAMP/PKA · Gq/PKC · MAPK/ERK", "8"],
["8", "Chemical Synapse Anatomy — Release, Reuptake & Degradation", "9"],
]
toc_t = Table(toc_data, colWidths=[1*cm, 12*cm, 2*cm])
toc_t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), MID_NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 9.5),
("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, colors.HexColor("#F5F5F5")]),
("GRID", (0,0), (-1,-1), 0.5, GREY),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 8),
]))
story.append(Paragraph("<b>Contents</b>", h2_style))
story.append(toc_t)
story.append(PageBreak())
# ══════════════════════════════════════════════════════════════════════════════
def diagram_page(fig_drawing, fig_num, title, sections):
"""Render one diagram page with annotations."""
items = []
items.append(section_label(f"FIGURE {fig_num} — {title}"))
items.append(Spacer(1, 0.25*cm))
# Diagram drawing centred
items.append(fig_drawing)
items.append(Spacer(1, 0.2*cm))
for s in sections:
heading, content = s[0], s[1]
items.append(Paragraph(f"<b>{heading}</b>", h3_style))
items.append(Paragraph(content, body_style))
items.append(PageBreak())
return items
# ── FIG 1: GPCR ───────────────────────────────────────────────────────────────
story += diagram_page(
diagram_gpcr(), "1", "G Protein-Coupled Receptor (GPCR) — 7-Transmembrane Architecture",
[
("Structure", (
"GPCRs (also called 7-TM or serpentine receptors) are the largest superfamily of cell surface receptors. "
"They consist of a single polypeptide chain that traverses the plasma membrane seven times (TM1–TM7), "
"connected by three extracellular loops (ECL1–3) and three intracellular loops (ICL1–3). "
"The N-terminus faces the extracellular space, and the C-terminus is intracellular."
)),
("Ligand Binding", (
"The orthosteric ligand-binding pocket is typically located within the transmembrane bundle, "
"formed by residues on TM3, TM5, TM6, and TM7. "
"For monoamine receptors (dopamine, serotonin, norepinephrine), an aspartate residue on TM3 "
"forms an ionic interaction with the amine group of the neurotransmitter. "
"Allosteric modulators bind to extracellular loops or secondary transmembrane sites."
)),
("G Protein Coupling & Effectors", (
"Upon agonist binding, the receptor undergoes conformational change, promoting exchange of GDP for GTP "
"on the Gα subunit. The Gα-GTP dissociates from Gβγ and both subunits act on downstream effectors. "
"<b>Gs</b>: stimulates adenylyl cyclase → ↑cAMP → PKA → CREB (D1, β-adrenergic, 5-HT4/6/7). "
"<b>Gi/o</b>: inhibits adenylyl cyclase → ↓cAMP; opens K⁺ channels; closes Ca²⁺ channels "
"(D2, α2, 5-HT1A, μ-opioid). "
"<b>Gq</b>: activates PLC → IP3 + DAG → PKC + intracellular Ca²⁺ release (α1, 5-HT2A/2C, mGluR1/5, M1). "
"Signal termination occurs via GTPase hydrolysis and β-arrestin-mediated receptor internalisation."
)),
("Clinical Relevance", (
"Nearly all current psychiatric medications target GPCRs. Antipsychotics block D2 (Gi-GPCR); "
"SSRIs/SNRIs secondarily sensitise 5-HT1A autoreceptors; buspirone is a 5-HT1A partial agonist; "
"clonidine targets α2-adrenergic GPCRs. Understanding the Gs/Gi/Gq distinction "
"predicts whether a drug will increase or decrease neuronal excitability."
)),
]
)
# ── FIG 2: NMDA ──────────────────────────────────────────────────────────────
story += diagram_page(
diagram_nmda(), "2", "NMDA Receptor — Ionotropic Glutamate Receptor, Tetrameric Structure",
[
("Structure & Subunit Composition", (
"NMDA receptors are heterotetramers, most commonly assembled as two GluN1 subunits and two GluN2 (A–D) subunits, "
"arranged around a central ion channel permeable to Ca²⁺, Na⁺, and K⁺. "
"GluN1 binds the obligatory co-agonist <b>glycine</b> (or D-serine), while GluN2 subunits bind <b>glutamate</b>. "
"The pore-forming M2 segment lines the channel and contains the magnesium binding site. "
"(Kandel, Principles of Neural Science, 6e; Figure 13-4)"
)),
("Voltage-Dependent Mg²⁺ Block", (
"At resting membrane potential (≈ –70 mV), Mg²⁺ ions block the NMDA receptor pore. "
"This 'double gate' mechanism requires simultaneous presynaptic glutamate release AND "
"sufficient postsynaptic depolarisation (e.g., from AMPA receptor activation) to relieve the Mg²⁺ block. "
"This property makes NMDA receptors molecular 'coincidence detectors' — the cellular basis of "
"Hebbian learning, long-term potentiation (LTP), and associative memory formation."
)),
("Key Pharmacological Sites", (
"<b>Glutamate site (GluN2):</b> Competitive antagonists — AP5, CPP. "
"<b>Glycine site (GluN1):</b> Co-agonists — D-serine, glycine; partial agonist — D-cycloserine. "
"<b>Channel (open-channel) block:</b> Mg²⁺ (physiological); ketamine, PCP, MK-801 (dissociative anaesthetics/psychedelics). "
"<b>Zinc site (GluN2B):</b> Endogenous inhibitory modulator. "
"<b>Clinical:</b> Ketamine's rapid antidepressant effect is linked to NMDA antagonism → downstream mTOR activation → "
"rapid AMPA receptor upregulation and synaptogenesis. NMDA hypofunction hypothesis of schizophrenia explains "
"negative symptoms and cognitive deficits better than the dopamine hypothesis alone."
)),
]
)
# ── FIG 3: GABA-A ────────────────────────────────────────────────────────────
story += diagram_page(
diagram_gabaa(), "3", "GABA-A Receptor / Benzodiazepine–GABA Complex — Pentameric Chloride Channel",
[
("Structure", (
"GABA-A receptors belong to the Cys-loop ligand-gated ion channel superfamily (nicotinicoid superfamily). "
"They are pentamers assembled from 19 known subunits (α1–6, β1–3, γ1–3, δ, ε, θ, π, ρ1–3). "
"The most prevalent subtype in the adult brain is 2α1·2β2·1γ2. "
"GABA binds at the extracellular <b>α/β interface</b>; benzodiazepines bind at the <b>α/γ2 interface</b>. "
"(Kaplan & Sadock, block 45 — GABA-Benzodiazepine Receptor Complex)"
)),
("Ion Selectivity & Mechanism", (
"Channel opening by GABA allows Cl⁻ influx (at typical neuronal Cl⁻ gradients), hyperpolarising "
"the membrane and reducing neuronal excitability. The net effect depends on [Cl⁻]i — "
"in immature neurons, Cl⁻ efflux can be depolarising (GABA excitatory during development, relevant to early-life epilepsy). "
"Benzodiazepines act as <b>positive allosteric modulators</b>: they increase the frequency of channel opening "
"without directly opening the channel in the absence of GABA. "
"Barbiturates/propofol increase channel <b>open duration</b> (binding at β/α TM interface). "
"At high concentrations, barbiturates can directly gate the channel."
)),
("Subunit-Selective Clinical Pharmacology", (
"<b>α1-containing receptors</b>: sedation, hypnosis, amnesia, anti-convulsant (zolpidem selective). "
"<b>α2/α3-containing receptors</b>: anxiolytic, muscle relaxant effects. "
"<b>α5-containing receptors</b>: hippocampal; cognitive enhancement via negative allosteric modulation (NAM). "
"<b>δ-containing extrasynaptic receptors</b>: tonic inhibition; target of endogenous neurosteroids "
"(allopregnanolone, relevant to PMDD and postpartum depression — brexanolone mechanism). "
"GABA-B receptors are <b>metabotropic</b> (Gi-coupled) — target of baclofen; modulate GABA and glutamate release presynaptically."
)),
]
)
# ── FIG 4: Dopamine ──────────────────────────────────────────────────────────
story += diagram_page(
diagram_dopamine(), "4", "Dopamine Receptor Subtypes — D1/D5 (Gs) vs D2/D3/D4 (Gi) Signalling",
[
("Receptor Classification", (
"Five dopamine receptor subtypes (D1–D5) have been identified. All are GPCRs. "
"They fall into two functional classes: <b>D1-class</b> (D1, D5) — Gs-coupled, stimulate adenylyl cyclase → ↑cAMP; "
"and <b>D2-class</b> (D2, D3, D4) — Gi-coupled, inhibit adenylyl cyclase → ↓cAMP, activate K⁺ channels, inhibit Ca²⁺ channels. "
"(Kaplan & Sadock, block 43; Henry's Clinical Diagnosis, block 35)"
)),
("Dopaminergic Pathways & Behaviour", (
"<b>Mesolimbic (VTA → Nucleus Accumbens):</b> Reward, motivation, addiction. DA surge here produces euphoria; "
"sustained DA release drives compulsive drug-seeking. All antipsychotics block D2 here (reduces positive symptoms). "
"<b>Mesocortical (VTA → PFC):</b> Working memory, executive function. Hypodopaminergia in PFC correlates with "
"negative symptoms and cognitive deficits in schizophrenia. "
"<b>Nigrostriatal (SN → Striatum):</b> Motor control. Deficit → Parkinson's disease; D2 blockade here → EPS. "
"<b>Tuberoinfundibular (Hypothalamus → Pituitary):</b> Inhibits prolactin. D2 blockade → hyperprolactinaemia."
)),
("D1 Pathway — Clinical Significance", (
"D1 receptors in the DLPFC are critical for working memory. The inverted-U relationship: "
"too little D1 stimulation (low DA) OR too much (high DA, stress) both impair PFC function. "
"COMT Val158Met polymorphism affects synaptic DA catabolism in PFC — Met carriers have better "
"working memory but potentially higher psychosis risk under stress."
)),
("D2 Pathway — Antipsychotic Target", (
"All first-generation antipsychotics (haloperidol) are potent D2 antagonists. "
"Second-generation antipsychotics have lower D2 affinity and also block 5-HT2A, reducing EPS risk. "
"Clozapine has the lowest D2 affinity but highest clinical efficacy — suggesting D2 alone is insufficient. "
"PET studies confirm that 60–80% D2 occupancy achieves antipsychotic effect; above 80% → EPS."
)),
]
)
# ── FIG 5: Serotonin ─────────────────────────────────────────────────────────
story += diagram_page(
diagram_serotonin(), "5", "Serotonin (5-HT) Receptor Subtypes — Classification & Clinical Relevance",
[
("Receptor Families", (
"At least 15 serotonin receptor subtypes have been identified, grouped into 7 families (5-HT1–7). "
"All except <b>5-HT3</b> (ionotropic, cation channel) are GPCRs. "
"5-HT originates primarily from raphe nuclei neurons and projects diffusely throughout the CNS."
)),
("Inhibitory Receptors (Gi/Go): 5-HT1 Family", (
"<b>5-HT1A:</b> Autoreceptor on raphe cell bodies (somatodendritic); postsynaptic in hippocampus and cortex. "
"Stimulation → anxiolysis, decreased 5-HT release (explains delayed onset of SSRIs — desensitisation required). "
"Target of buspirone (partial agonist). "
"<b>5-HT1B/1D:</b> Presynaptic terminal autoreceptors; inhibit 5-HT release. Triptans target 5-HT1B/1D for migraine."
)),
("Excitatory Receptors (Gq): 5-HT2 Family", (
"<b>5-HT2A:</b> Postsynaptic in cortex; modulates glutamate, dopamine, and norepinephrine release. "
"Classical psychedelics (LSD, psilocybin) are partial agonists here — explaining visual hallucinations. "
"Atypical antipsychotics block 5-HT2A → improved negative symptoms, reduced EPS. "
"<b>5-HT2C:</b> Hypothalamus and limbic system; controls appetite and anxiety. "
"Clozapine's metabolic side effects (weight gain) are partly 5-HT2C antagonism."
)),
("Clinically Targeted Receptors: 5-HT4/6/7", (
"<b>5-HT4:</b> GI motility and memory consolidation. "
"<b>5-HT6:</b> Striatum and limbic; high affinity for clozapine and olanzapine. "
"Antagonism may contribute to cognitive-enhancing effects. "
"<b>5-HT7:</b> Circadian rhythm regulation; vortioxetine (MDD treatment) antagonises 5-HT7. "
"Blocks REM sleep dysregulation seen in depression."
)),
]
)
# ── FIG 6: Norepinephrine ────────────────────────────────────────────────────
story += diagram_page(
diagram_norepi(), "6", "Norepinephrine — Adrenergic Receptor Subtypes & Downstream Pathways",
[
("Source & Projections", (
"Norepinephrine (NE) is synthesised from dopamine by dopamine-β-hydroxylase in the locus coeruleus (LC), "
"the principal noradrenergic nucleus. The LC projects widely to the cerebral cortex, limbic system, "
"hypothalamus, cerebellum, and spinal cord. LC firing increases with arousal, stress, and nociception."
)),
("α1 Receptors (Gq)", (
"α1 receptors activate phospholipase C → IP3 + DAG → PKC + Ca²⁺ release. "
"Postsynaptic cortical α1 activation contributes to arousal and vigilance at low levels, "
"but excess NE under acute stress (via α1) impairs PFC working memory — the stress-induced shift "
"from deliberate to reflexive behaviour. Prazosin (α1 blocker) reduces PTSD nightmares by blocking "
"excessive NE action during REM sleep."
)),
("α2 Receptors (Gi)", (
"α2 receptors are primarily presynaptic autoreceptors that inhibit NE release (negative feedback). "
"Postsynaptic α2 in PFC strengthens working memory circuits at low NE levels. "
"Clonidine and guanfacine (α2 agonists) reduce LC firing → used for ADHD, PTSD, and opioid withdrawal. "
"α2 agonism in the PFC improves signal-to-noise ratio of prefrontal circuits."
)),
("β Receptors (Gs) & Clinical Links", (
"β1 receptors in the CNS modulate LTP and memory consolidation. "
"Propranolol (β-blocker) administered after traumatic memory reactivation can attenuate reconsolidation "
"— an experimental PTSD approach. SNRIs (venlafaxine, duloxetine) increase synaptic NE → treat depression, "
"GAD, and PTSD by enhancing prefrontal-limbic inhibitory tone."
)),
]
)
# ── FIG 7: Second Messenger Cascades ─────────────────────────────────────────
story += diagram_page(
diagram_second_messenger(), "7", "Second Messenger Cascades — cAMP/PKA · Gq/PKC · MAPK/ERK",
[
("cAMP / PKA Pathway", (
"Activation of Gs-coupled receptors stimulates adenylyl cyclase → cAMP ↑ → PKA activation. "
"PKA phosphorylates CREB (cAMP Response Element-Binding protein), "
"triggering transcription of BDNF, Bcl-2, and other neuroprotective/plasticity genes. "
"This pathway underlies the mechanism of action of antidepressants over weeks — "
"chronic 5-HT/NE reuptake inhibition eventually upregulates CREB-dependent gene expression and "
"BDNF synthesis, promoting hippocampal neurogenesis. "
"Lithium inhibits inositol monophosphatase, depleting inositol and dampening PKC signalling "
"selectively in hyperactive neurons."
)),
("Gq / PKC Pathway", (
"Gq-coupled receptors (5-HT2A, α1, mGluR1/5, M1) activate phospholipase Cβ → "
"IP3 (releases Ca²⁺ from ER) + DAG (activates PKC). "
"PKC regulates ion channels, synaptic vesicle release, and receptor trafficking. "
"The 5-HT2A/Gq/PKC cascade mediates the action of hallucinogens and contributes to "
"psychedelic-induced cortical glutamate release. Inhibiting Gq signalling is one mechanism "
"of atypical antipsychotic action."
)),
("MAPK / ERK Pathway", (
"The MAPK cascade (Ras → Raf → MEK → ERK1/2) is activated downstream of receptor tyrosine kinases (TrkB for BDNF) "
"and some GPCRs via β-arrestin. ERK1/2 phosphorylate transcription factors (Elk-1, c-Fos) "
"and RSK2 → CREB phosphorylation, linking to synaptic plasticity, LTP, and neurogenesis. "
"ERK is critical for the rewarding properties of cocaine and for long-term memory consolidation. "
"Ketamine's rapid antidepressant effect involves MAPK/mTOR activation, leading to rapid synaptogenesis "
"in the PFC within hours — contrasting with the weeks required for classical SSRI action."
)),
]
)
# ── FIG 8: Synapse Anatomy ───────────────────────────────────────────────────
story += diagram_page(
diagram_synapse(), "8", "Chemical Synapse Anatomy — Neurotransmitter Lifecycle",
[
("Neurotransmitter Synthesis & Packaging", (
"Neurotransmitters are synthesised in the presynaptic neuron — either in the cell body (neuropeptides) "
"or locally in the terminal (small-molecule NTs: DA, 5-HT, NE, GABA, glutamate, ACh). "
"They are packaged into synaptic vesicles by vesicular transporters (VMAT2 for monoamines, VAChT for ACh, VIAAT for GABA). "
"Vesicles dock at the active zone via SNARE complexes (syntaxin, SNAP-25, synaptobrevin)."
)),
("Exocytosis & Postsynaptic Action", (
"Action potential-evoked Ca²⁺ influx (via P/Q-type voltage-gated Ca²⁺ channels) triggers vesicle fusion "
"and NT release into the 20–40 nm synaptic cleft. "
"NT diffuses across the cleft and binds postsynaptic receptors — ionotropic (fast ms) or metabotropic (slow s–min). "
"Spillover to perisynaptic extrasynaptic receptors (e.g., NR2B-NMDA, δ-GABA-A) modulates tonic inhibitory/excitatory tone."
)),
("Reuptake, Degradation & Autoreceptors", (
"<b>Reuptake transporters:</b> DAT (dopamine), SERT (serotonin), NET (norepinephrine), GAT1 (GABA), EAAT (glutamate) "
"rapidly clear NT from the synapse — primary target of SSRIs, SNRIs, cocaine, amphetamines, and tricyclic antidepressants. "
"<b>Enzymatic degradation:</b> MAO-A/B (monoamines → DOPAC, HIAA, MHPG); COMT (catecholamines in PFC); "
"AChE (acetylcholine); GABA-T (GABA). MAO inhibitors (phenelzine, selegiline) block this step. "
"<b>Presynaptic autoreceptors</b> (D2, 5-HT1B, α2) sense NT release and provide negative feedback — "
"limiting NT release and synthesis (rate-limiting enzyme activity). "
"Desensitisation of 5-HT1A autoreceptors explains the 2–4 week delay in SSRI efficacy."
)),
]
)
# ══ REFERENCE TABLE PAGE ══
story.append(section_label("QUICK REFERENCE — Neurotransmitter Systems Summary Table", col=MID_NAVY))
story.append(Spacer(1, 0.3*cm))
ref_data = [
["NT", "Synthesis", "Key Receptors", "Primary Functions", "Drug Targets"],
["Dopamine\n(DA)", "Tyr→L-DOPA\n(TH)→DA", "D1(Gs), D2(Gi),\nD3,D4,D5", "Reward, motivation,\nmotor control,\nworking memory", "Antipsychotics (D2 block)\nL-DOPA (Parkinson)\nStimulants (DAT block)"],
["Serotonin\n(5-HT)", "Trp→5-HTP\n(TPH2)→5-HT", "5-HT1A(Gi),\n5-HT2A(Gq),\n5-HT3(ion)", "Mood, impulse control,\nappetite, sleep,\ncognition", "SSRIs, SNRIs\nAtypical APs (5-HT2A)\nBuspirone (5-HT1A)"],
["Norepinephrine\n(NE)", "DA→NE\n(DBH in LC)", "α1(Gq),α2(Gi),\nβ1/β2(Gs)", "Arousal, attention,\nfight-or-flight,\npain modulation", "SNRIs, TCAs\nClonidine (α2)\nPrazosin (α1, PTSD)"],
["GABA", "Glutamate\n(GAD)→GABA", "GABA-A(Cl⁻ ion),\nGABA-B(Gi)", "Primary CNS\ninhibition; anxiolysis,\nsedation, seizure Δ", "BDZs, barbiturates\nValproate, gabapentin\nBaclofen (GABA-B)"],
["Glutamate", "TCA cycle\nglutamine→Glu", "AMPA(Na⁺/K⁺),\nNMDA(Ca²⁺),\nmGluR(GPCR)", "Primary excitation;\nLTP, learning,\nmemory", "Ketamine (NMDA)\nMemantine (NMDA)\nLamotrigine (release Δ)"],
["Acetylcholine\n(ACh)", "Choline+AcCoA\n(ChAT)→ACh", "nAChR(ion),\nmAChR(Gq/Gi)", "Attention, memory,\nautonomic,\nneuromuscular Jxn", "AChEIs (Alzheimer)\nAtropine (mAChR)\nNicotine (nAChR)"],
]
ref_t = Table(ref_data, colWidths=[2.2*cm, 2.4*cm, 3.2*cm, 3.2*cm, 3.2*cm])
ref_t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), MID_NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTNAME", (0,1), (0,-1), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,-1), 8),
("ROWBACKGROUNDS",(0,1), (-1,-1), [WHITE, colors.HexColor("#EFF4F9")]),
("GRID", (0,0), (-1,-1), 0.5, GREY),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(ref_t)
story.append(Spacer(1, 0.5*cm))
story.append(info_box(
"<b>Sources:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry (10e); "
"Stahl's Essential Psychopharmacology (5e); "
"Kandel's Principles of Neural Science (6e); "
"Guyton & Hall Textbook of Medical Physiology (14e); "
"Emery's Elements of Medical Genetics and Genomics (16e); "
"Blumenfeld's Neuroanatomy Through Clinical Cases (3e).",
bg=LTBLUE, border=BLUE
))
doc.build(story)
print(f"SUCCESS: {out_path}")
cd /home/daytona/workspace/behavioural-science-ppt && python build_pdf.py 2>&1
~/behavioural-science-ppt/build_pdf.py
Successfully replaced 1 instance(s) of the string in '/home/daytona/workspace/behavioural-science-ppt/build_pdf.py'
cd /home/daytona/workspace/behavioural-science-ppt && python build_pdf.py 2>&1
ls -lh /home/daytona/workspace/behavioural-science-ppt/
Neurotransmitter Receptor Diagrams CompanionPDF
PDF Document · PDF
| Fig. | Diagram | Key Features |
|---|---|---|
| 1 | GPCR / 7-TM Receptor | All 7 helices labeled, ECL/ICL loops, ligand pocket, Gα/β/γ subunits, effector arrow |
| 2 | NMDA Receptor | 4-subunit tetramer, Mg²⁺ block in pore, glutamate/glycine/Zn²⁺/PCP binding sites, Ca²⁺ influx → LTP |
| 3 | GABA-A / Benzodiazepine Complex | 5-subunit pentamer (2α·2β·1γ), GABA site at α/β, BDZ site at α/γ, barbiturate TM site, Cl⁻ pore |
| 4 | Dopamine D1 vs D2 Signalling | Side-by-side cascades: D1→Gs→AC→cAMP→PKA→CREB vs D2→Gi→AC↓→K⁺↑/Ca²⁺↓ |
| 5 | Serotonin Receptor Map | All 8 major subtypes arranged by Gi/Gq/Gs/ionotropic class with clinical links |
| 6 | Norepinephrine α1/α2/β1/β2 | Receptor subtypes from locus coeruleus, second messenger cascades, drug annotations |
| 7 | Second Messenger Cascades | Three parallel pathways: cAMP/PKA, Gq/PKC, MAPK/ERK — all converging on gene expression |
| 8 | Chemical Synapse Anatomy | Full lifecycle: vesicle packaging → exocytosis → receptor binding → DAT/SERT reuptake → MAO degradation → autoreceptor feedback |
?
You did not make pdf
ls -lh /home/daytona/workspace/behavioural-science-ppt/ && python /home/daytona/workspace/behavioural-science-ppt/build_pdf.py 2>&1
Neurotransmitter Receptor Diagrams CompanionPDF
PDF Document · PDF
Genetics Anatomy Biochemistry BehaviouralScience
Presentation · PPTX
Ok
It is unsupported in my ipad
cd /home/daytona/workspace/behavioural-science-ppt && libreoffice --headless --convert-to pdf Genetics_Anatomy_Biochemistry_BehaviouralScience.pptx 2>&1
mkdir -p /home/daytona/workspace/behavioural-science-ppt/output && libreoffice --headless --convert-to pdf --outdir /home/daytona/workspace/behavioural-science-ppt/output /home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience.pptx 2>&1
cp /home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience.pptx /tmp/pres.pptx && libreoffice --headless --convert-to pdf --outdir /tmp/ /tmp/pres.pptx 2>&1 && ls -lh /tmp/pres.pdf
cp /tmp/pres.pdf /home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience_SLIDES.pdf && ls -lh /home/daytona/workspace/behavioural-science-ppt/*.pdf
Genetics Anatomy Biochemistry BehaviouralScience SLIDES
PDF Document · PDF
Neurotransmitter Receptor Diagrams CompanionPDF
PDF Document · PDF
Still unsupported
python3 -c " from pypdf import PdfReader r = PdfReader('/home/daytona/workspace/behavioural-science-ppt/Neurotransmitter_Receptor_Diagrams_CompanionPDF.pdf') print('Pages:', len(r.pages)) print('Version:', r.pdf_header) print('Metadata:', r.metadata) " 2>&1
# Upgrade to PDF 1.7 and re-save using pypdf for better compatibility python3 -c " from pypdf import PdfReader, PdfWriter import os files = [ '/home/daytona/workspace/behavioural-science-ppt/Neurotransmitter_Receptor_Diagrams_CompanionPDF.pdf', '/home/daytona/workspace/behavioural-science-ppt/Genetics_Anatomy_Biochemistry_BehaviouralScience_SLIDES.pdf', ] for f in files: r = PdfReader(f) w = PdfWriter() for page in r.pages: w.add_page(page) w.add_metadata(r.metadata or {}) out = f.replace('.pdf', '_v2.pdf') with open(out, 'wb') as fh: w.write(fh) print(out, os.path.getsize(out)) " 2>&1
Genetics Anatomy Biochemistry BehaviouralScience SLIDES v2
PDF Document · PDF
Neurotransmitter Receptor Diagrams CompanionPDF v2
PDF Document · PDF
Unsupported file type",
Ok
~/behavioural-science-ppt/receptor_diagrams.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Neurotransmitter Receptor Diagrams — Behavioural Science</title>
<style>
:root {
--navy: #0D1B2A; --mid: #1B2A3B; --blue: #4FC3F7; --green: #81C784;
--amber: #FFB74D; --purple: #CE93D8; --red: #EF9A9A; --white: #fff;
--ltblue: #D0E9F5; --ltyellow: #FFF9C4; --body: #1A2E3D; --sub: #4A6072;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
background: #F4F7FB; color: var(--body); font-size: 15px; }
/* COVER */
.cover { background: var(--navy); color: #fff; text-align: center;
padding: 60px 24px 50px; }
.cover h1 { font-size: clamp(22px,5vw,36px); color: var(--blue); margin-bottom: 10px; }
.cover h2 { font-size: clamp(14px,3vw,20px); color: #fff; font-weight: 400; line-height: 1.5; }
.cover p { margin-top: 16px; font-size: 12px; color: var(--sub); font-style: italic; }
.cover .tag { display:inline-block; margin-top:18px; background:var(--mid);
color:var(--green); padding:6px 16px; border-radius:20px; font-size:12px; }
/* NAV */
nav { background: var(--mid); padding: 0; position: sticky; top:0; z-index:100;
display:flex; flex-wrap:wrap; gap:2px; justify-content:center; }
nav a { color:var(--blue); font-size:12px; padding:8px 10px; text-decoration:none;
white-space:nowrap; }
nav a:hover { background:var(--navy); }
/* SECTIONS */
.section { max-width: 860px; margin: 30px auto; background:#fff;
border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08);
overflow:hidden; }
.sec-header { background:var(--navy); color:#fff; padding:16px 22px; }
.sec-header h3 { font-size:clamp(14px,2.5vw,19px); }
.sec-header p { font-size:12px; color:var(--blue); margin-top:4px; font-style:italic; }
.sec-body { padding: 20px 22px; }
/* SVG diagrams */
.diagram-wrap { width:100%; overflow-x:auto; background:#F8FAFB;
border:1px solid #DDE8F0; border-radius:8px;
padding:12px; margin-bottom:18px; text-align:center; }
.diagram-wrap svg { max-width:100%; height:auto; display:inline-block; }
/* Annotation blocks */
.anno { margin-bottom:14px; }
.anno h4 { font-size:14px; color:var(--navy); margin-bottom:5px;
border-left:3px solid var(--blue); padding-left:8px; }
.anno p { font-size:13px; line-height:1.7; color:#2C3E50; }
/* Info box */
.infobox { background:var(--ltblue); border-left:4px solid var(--blue);
padding:12px 14px; border-radius:6px; font-size:12.5px;
color:#1A3A4A; margin-top:14px; line-height:1.6; }
.warnbox { background:var(--ltyellow); border-left:4px solid var(--amber);
padding:12px 14px; border-radius:6px; font-size:12.5px;
color:#4E342E; margin-top:14px; line-height:1.6; }
/* Reference table */
.reftable { width:100%; border-collapse:collapse; font-size:12px; margin-top:10px; }
.reftable th { background:var(--mid); color:#fff; padding:8px 10px; text-align:left; }
.reftable td { padding:7px 10px; border-bottom:1px solid #DDE8F0; vertical-align:top; }
.reftable tr:nth-child(even) td { background:#F0F7FC; }
/* TOC */
.toc { max-width:860px; margin:20px auto; background:#fff;
border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.08); padding:24px 26px; }
.toc h3 { color:var(--navy); margin-bottom:12px; font-size:17px; }
.toc ol { padding-left:20px; }
.toc li { margin-bottom:7px; font-size:14px; }
.toc a { color:var(--mid); text-decoration:none; }
.toc a:hover { text-decoration:underline; }
footer { text-align:center; padding:30px; font-size:11px; color:var(--sub); }
</style>
</head>
<body>
<!-- COVER -->
<div class="cover">
<h1>Neurotransmitter Receptor Diagrams</h1>
<h2>Companion Reference for<br><b>Genetics, Anatomy & Biochemistry of Behavioural Science</b></h2>
<div class="tag">Advanced Seminar · Psychiatry & Psychology</div>
<p>Sources: Kaplan & Sadock · Stahl's Psychopharmacology · Kandel's Neural Science · Guyton & Hall</p>
</div>
<!-- NAV -->
<nav>
<a href="#fig1">1. GPCR</a>
<a href="#fig2">2. NMDA</a>
<a href="#fig3">3. GABA-A</a>
<a href="#fig4">4. Dopamine</a>
<a href="#fig5">5. Serotonin</a>
<a href="#fig6">6. Norepinephrine</a>
<a href="#fig7">7. 2nd Messengers</a>
<a href="#fig8">8. Synapse</a>
<a href="#reftable">Reference Table</a>
</nav>
<!-- TOC -->
<div class="toc">
<h3>Contents</h3>
<ol>
<li><a href="#fig1">GPCR / 7-Transmembrane Receptor — General Architecture</a></li>
<li><a href="#fig2">NMDA Receptor — Tetrameric Structure, Binding Sites, Ca²⁺ Influx</a></li>
<li><a href="#fig3">GABA-A Receptor / Benzodiazepine Complex — Pentameric Structure</a></li>
<li><a href="#fig4">Dopamine Receptor Subtypes — D1/D5 (Gs) vs D2/D3/D4 (Gi)</a></li>
<li><a href="#fig5">Serotonin Receptor Subtypes — Classification & Clinical Links</a></li>
<li><a href="#fig6">Norepinephrine Adrenergic Receptor Subtypes</a></li>
<li><a href="#fig7">Second Messenger Cascades — cAMP/PKA · Gq/PKC · MAPK/ERK</a></li>
<li><a href="#fig8">Chemical Synapse Anatomy — Release, Reuptake & Degradation</a></li>
<li><a href="#reftable">Quick Reference Table — All Neurotransmitter Systems</a></li>
</ol>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 1: GPCR -->
<div class="section" id="fig1">
<div class="sec-header">
<h3>Figure 1 — G Protein-Coupled Receptor (GPCR) / 7-Transmembrane Architecture</h3>
<p>The largest superfamily of drug targets in psychiatry</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 310" width="500" height="310" xmlns="http://www.w3.org/2000/svg">
<!-- Membrane layers -->
<rect x="10" y="145" width="480" height="22" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="0.8"/>
<rect x="10" y="167" width="480" height="22" fill="#81D4FA" stroke="#4FC3F7" stroke-width="0.8"/>
<text x="250" y="182" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">PLASMA MEMBRANE (Lipid Bilayer)</text>
<text x="250" y="140" font-size="9" fill="#4A6072" text-anchor="middle">EXTRACELLULAR</text>
<text x="250" y="210" font-size="9" fill="#4A6072" text-anchor="middle">INTRACELLULAR</text>
<!-- 7 TM helices -->
<g id="helices">
<rect x="42" y="135" width="32" height="54" rx="5" fill="#0277BD" stroke="#4FC3F7" stroke-width="1"/>
<rect x="90" y="135" width="32" height="54" rx="5" fill="#0288D1" stroke="#4FC3F7" stroke-width="1"/>
<rect x="138" y="135" width="32" height="54" rx="5" fill="#039BE5" stroke="#4FC3F7" stroke-width="1"/>
<rect x="186" y="135" width="32" height="54" rx="5" fill="#29B6F6" stroke="#4FC3F7" stroke-width="1"/>
<rect x="234" y="135" width="32" height="54" rx="5" fill="#4FC3F7" stroke="#4FC3F7" stroke-width="1"/>
<rect x="282" y="135" width="32" height="54" rx="5" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1"/>
<rect x="330" y="135" width="32" height="54" rx="5" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="1"/>
<text x="58" y="166" font-size="8" fill="white" font-weight="bold" text-anchor="middle">TM1</text>
<text x="106" y="166" font-size="8" fill="white" font-weight="bold" text-anchor="middle">TM2</text>
<text x="154" y="166" font-size="8" fill="white" font-weight="bold" text-anchor="middle">TM3</text>
<text x="202" y="166" font-size="8" fill="white" font-weight="bold" text-anchor="middle">TM4</text>
<text x="250" y="166" font-size="8" fill="#1B2A3B" font-weight="bold" text-anchor="middle">TM5</text>
<text x="298" y="166" font-size="8" fill="#1B2A3B" font-weight="bold" text-anchor="middle">TM6</text>
<text x="346" y="166" font-size="8" fill="#1B2A3B" font-weight="bold" text-anchor="middle">TM7</text>
</g>
<!-- Extracellular loops -->
<path d="M74,135 Q106,105 122,135" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="98" y="100" font-size="8" fill="#4A6072" text-anchor="middle">ECL1</text>
<path d="M170,135 Q202,98 218,135" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="194" y="93" font-size="8" fill="#4A6072" text-anchor="middle">ECL2</text>
<path d="M266,135 Q298,105 314,135" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="290" y="100" font-size="8" fill="#4A6072" text-anchor="middle">ECL3</text>
<!-- Intracellular loops -->
<path d="M122,189 Q154,218 170,189" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="146" y="230" font-size="8" fill="#4A6072" text-anchor="middle">ICL1</text>
<path d="M218,189 Q250,225 266,189" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="242" y="234" font-size="8" fill="#4A6072" text-anchor="middle">ICL2</text>
<path d="M314,189 Q346,218 362,189" fill="none" stroke="#0D1B2A" stroke-width="1.8"/>
<text x="338" y="228" font-size="8" fill="#4A6072" text-anchor="middle">ICL3</text>
<!-- N and C terminus -->
<line x1="58" x2="30" y1="135" y2="110" stroke="#0D1B2A" stroke-width="1.5"/>
<text x="18" y="107" font-size="8" fill="#4A6072">N-term</text>
<line x1="346" x2="376" y1="189" y2="215" stroke="#0D1B2A" stroke-width="1.5"/>
<text x="378" y="218" font-size="8" fill="#4A6072">C-term</text>
<!-- Ligand -->
<rect x="150" y="62" width="70" height="26" rx="8" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.5"/>
<text x="185" y="79" font-size="9" fill="#E65100" font-weight="bold" text-anchor="middle">Ligand / Agonist</text>
<line x1="185" y1="88" x2="185" y2="135" stroke="#FFB74D" stroke-width="1.5" stroke-dasharray="4,3"/>
<polygon points="185,135 180,124 190,124" fill="#FFB74D"/>
<!-- G protein -->
<circle cx="430" cy="215" r="26" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.8"/>
<text x="430" y="212" font-size="11" fill="#CE93D8" font-weight="bold" text-anchor="middle">Gα</text>
<text x="430" y="225" font-size="8" fill="#7B1FA2" text-anchor="middle">GDP/GTP</text>
<circle cx="462" cy="248" r="16" fill="#EDE7F6" stroke="#CE93D8" stroke-width="1.2"/>
<text x="462" y="252" font-size="10" fill="#CE93D8" font-weight="bold" text-anchor="middle">Gβγ</text>
<line x1="362" x2="404" y1="200" y2="215" stroke="#CE93D8" stroke-width="1.5"/>
<polygon points="404,215 396,208 396,222" fill="#CE93D8"/>
<!-- Effector -->
<rect x="410" y="155" width="82" height="28" rx="6" fill="#E8F5E9" stroke="#81C784" stroke-width="1.5"/>
<text x="451" y="166" font-size="8.5" fill="#2E7D32" font-weight="bold" text-anchor="middle">Effector</text>
<text x="451" y="178" font-size="8" fill="#388E3C" text-anchor="middle">AC / PLC / ion ch.</text>
<line x1="430" x2="451" y1="189" y2="183" stroke="#81C784" stroke-width="1.5"/>
<polygon points="451,183 444,178 444,188" fill="#81C784"/>
<!-- Second messenger -->
<rect x="410" y="110" width="82" height="28" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.5"/>
<text x="451" y="122" font-size="8.5" fill="#E65100" font-weight="bold" text-anchor="middle">2nd Messenger</text>
<text x="451" y="133" font-size="8" fill="#BF360C" text-anchor="middle">cAMP / IP3 / Ca²⁺</text>
<line x1="451" x2="451" y1="155" y2="138" stroke="#FFB74D" stroke-width="1.5"/>
<polygon points="451,138 446,149 456,149" fill="#FFB74D"/>
<text x="250" y="298" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 1 — G Protein-Coupled Receptor (GPCR) · 7-Transmembrane Structure</text>
</svg>
</div>
<div class="anno"><h4>Structure</h4><p>GPCRs are the largest drug-target superfamily. A single polypeptide crosses the membrane 7 times (TM1–TM7), connected by 3 extracellular (ECL) and 3 intracellular loops (ICL). The N-terminus is extracellular; C-terminus is intracellular. The orthosteric binding pocket sits within the TM bundle (TM3/TM5/TM6/TM7).</p></div>
<div class="anno"><h4>G Protein Coupling</h4><p><b>Gs</b> → adenylyl cyclase ↑ → cAMP ↑ → PKA (D1, β-adrenergic, 5-HT4/6/7). <b>Gi/o</b> → AC ↓, K⁺ channels open, Ca²⁺ channels close (D2, α2, 5-HT1A, μ-opioid). <b>Gq</b> → PLC → IP3 + DAG → PKC + Ca²⁺ (α1, 5-HT2A/2C, mGluR). Signal ends via GTPase and β-arrestin internalisation.</p></div>
<div class="anno"><h4>Clinical Relevance</h4><p>Nearly all psychiatric drugs target GPCRs. Antipsychotics block D2 (Gi); SSRIs desensitise 5-HT1A; buspirone is a 5-HT1A partial agonist; clonidine targets α2-adrenergic. The Gs/Gi/Gq distinction predicts whether a drug increases or decreases neuronal excitability.</p></div>
<div class="infobox"><b>Source:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry; Stahl's Essential Psychopharmacology, 5e</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 2: NMDA -->
<div class="section" id="fig2">
<div class="sec-header">
<h3>Figure 2 — NMDA Receptor: Ionotropic Glutamate Receptor, Tetrameric Structure</h3>
<p>The molecular coincidence detector — basis of LTP and learning</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 310" width="500" height="310" xmlns="http://www.w3.org/2000/svg">
<!-- Membrane -->
<rect x="10" y="148" width="480" height="20" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="0.8"/>
<rect x="10" y="168" width="480" height="20" fill="#81D4FA" stroke="#4FC3F7" stroke-width="0.8"/>
<text x="250" y="162" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">PLASMA MEMBRANE</text>
<text x="250" y="140" font-size="9" fill="#4A6072" text-anchor="middle">EXTRACELLULAR</text>
<text x="250" y="205" font-size="9" fill="#4A6072" text-anchor="middle">INTRACELLULAR</text>
<!-- 4 subunits -->
<rect x="95" y="88" width="52" height="110" rx="10" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="2"/>
<rect x="163" y="80" width="52" height="118" rx="10" fill="#C8E6C9" stroke="#81C784" stroke-width="2"/>
<rect x="285" y="80" width="52" height="118" rx="10" fill="#FFE0B2" stroke="#FFB74D" stroke-width="2"/>
<rect x="353" y="88" width="52" height="110" rx="10" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="2"/>
<text x="121" y="148" font-size="10" fill="#1565C0" font-weight="bold" text-anchor="middle">GluN1</text>
<text x="189" y="148" font-size="10" fill="#2E7D32" font-weight="bold" text-anchor="middle">GluN2A</text>
<text x="311" y="148" font-size="10" fill="#E65100" font-weight="bold" text-anchor="middle">GluN2B</text>
<text x="379" y="148" font-size="10" fill="#1565C0" font-weight="bold" text-anchor="middle">GluN1</text>
<!-- Central pore -->
<ellipse cx="250" cy="158" rx="22" ry="32" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="2.5"/>
<text x="250" y="154" font-size="9" fill="#1565C0" font-weight="bold" text-anchor="middle">Pore</text>
<text x="250" y="166" font-size="8" fill="#1565C0" text-anchor="middle">Ca²⁺/Na⁺/K⁺</text>
<!-- Mg2+ block -->
<circle cx="250" cy="170" r="10" fill="#FFB74D" stroke="#E65100" stroke-width="1.5"/>
<text x="250" y="174" font-size="8" fill="#1B2A3B" font-weight="bold" text-anchor="middle">Mg²⁺</text>
<text x="268" y="178" font-size="8" fill="#BF360C">voltage block</text>
<!-- Binding site labels -->
<rect x="60" y="40" width="90" height="28" rx="6" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.2"/>
<text x="105" y="50" font-size="8.5" fill="#1565C0" font-weight="bold" text-anchor="middle">Glutamate site</text>
<text x="105" y="62" font-size="8" fill="#4A6072" text-anchor="middle">(GluN2 subunit)</text>
<line x1="105" y1="68" x2="150" y2="88" stroke="#4FC3F7" stroke-width="1.2" stroke-dasharray="3,2"/>
<rect x="200" y="28" width="100" height="28" rx="6" fill="#E8F5E9" stroke="#81C784" stroke-width="1.2"/>
<text x="250" y="38" font-size="8.5" fill="#2E7D32" font-weight="bold" text-anchor="middle">Glycine co-agonist</text>
<text x="250" y="50" font-size="8" fill="#4A6072" text-anchor="middle">(GluN1 subunit)</text>
<line x1="250" y1="56" x2="220" y2="80" stroke="#81C784" stroke-width="1.2" stroke-dasharray="3,2"/>
<rect x="345" y="40" width="90" height="28" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.2"/>
<text x="390" y="50" font-size="8.5" fill="#E65100" font-weight="bold" text-anchor="middle">Zn²⁺ modulatory</text>
<text x="390" y="62" font-size="8" fill="#4A6072" text-anchor="middle">(GluN2B subunit)</text>
<line x1="355" y1="68" x2="340" y2="88" stroke="#FFB74D" stroke-width="1.2" stroke-dasharray="3,2"/>
<!-- PCP/Ketamine site -->
<rect x="274" y="150" width="110" height="28" rx="5" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.2"/>
<text x="329" y="161" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Ketamine/PCP site</text>
<text x="329" y="172" font-size="7.5" fill="#C62828" text-anchor="middle">open-channel block</text>
<line x1="274" y1="163" x2="272" y2="163" stroke="#EF9A9A" stroke-width="1"/>
<!-- Ca2+ influx arrow -->
<line x1="258" y1="148" x2="258" y2="220" stroke="#EF9A9A" stroke-width="3"/>
<polygon points="258,220 252,207 264,207" fill="#EF9A9A"/>
<text x="268" y="238" font-size="9" fill="#C62828" font-weight="bold">Ca²⁺ influx → LTP</text>
<text x="268" y="250" font-size="8" fill="#4A6072">→ Memory, learning</text>
<!-- Depolarisation requirement -->
<rect x="10" y="230" width="115" height="30" rx="6" fill="#E8EAF6" stroke="#5C6BC0" stroke-width="1.2"/>
<text x="67" y="242" font-size="8" fill="#3949AB" font-weight="bold" text-anchor="middle">Requires dual activation:</text>
<text x="67" y="254" font-size="7.5" fill="#4A6072" text-anchor="middle">Glutamate + Depolarisation</text>
<text x="250" y="298" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 2 — NMDA Receptor (Heterotetrameric Ionotropic Glutamate Receptor)</text>
</svg>
</div>
<div class="anno"><h4>Structure</h4><p>Heterotetramers of GluN1 + GluN2 (A–D) subunits around a central pore permeable to Ca²⁺, Na⁺, K⁺. GluN1 binds glycine/D-serine (obligatory co-agonist); GluN2 binds glutamate. The M2 segment lines the pore and contains the Mg²⁺ binding site. <i>(Kandel, Principles of Neural Science, 6e)</i></p></div>
<div class="anno"><h4>Voltage-Dependent Mg²⁺ Block — Coincidence Detection</h4><p>At resting potential (~−70 mV) Mg²⁺ blocks the pore. Both presynaptic glutamate release AND postsynaptic depolarisation are required simultaneously to relieve the block. This makes NMDA receptors molecular coincidence detectors — the cellular basis of Hebbian learning and LTP.</p></div>
<div class="anno"><h4>Pharmacological Binding Sites</h4><p><b>Glutamate site:</b> AP5, CPP (competitive antagonists). <b>Glycine/D-serine site:</b> D-cycloserine (partial agonist, studied in schizophrenia augmentation). <b>Open-channel block:</b> Mg²⁺ (physiological), ketamine, PCP, MK-801. <b>Zn²⁺ site (GluN2B):</b> Endogenous inhibitory modulator.</p></div>
<div class="anno"><h4>Clinical Significance</h4><p>NMDA hypofunction (PCP/ketamine model) reproduces positive + negative + cognitive symptoms of schizophrenia better than dopamine hypothesis alone. Ketamine's rapid antidepressant effect: NMDA block → disinhibition → AMPA upregulation → mTOR activation → rapid synaptogenesis in PFC within hours.</p></div>
<div class="infobox"><b>Source:</b> Kandel's Principles of Neural Science, 6e; Kaplan & Sadock; Stahl's Psychopharmacology</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 3: GABA-A -->
<div class="section" id="fig3">
<div class="sec-header">
<h3>Figure 3 — GABA-A Receptor / Benzodiazepine–GABA Complex</h3>
<p>Pentameric chloride channel — primary target of anxiolytics, sedatives, alcohol</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 310" width="500" height="310" xmlns="http://www.w3.org/2000/svg">
<!-- Membrane -->
<rect x="10" y="140" width="480" height="20" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="0.8"/>
<rect x="10" y="160" width="480" height="20" fill="#81D4FA" stroke="#4FC3F7" stroke-width="0.8"/>
<text x="250" y="154" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">PLASMA MEMBRANE</text>
<text x="250" y="132" font-size="9" fill="#4A6072" text-anchor="middle">EXTRACELLULAR</text>
<text x="250" y="200" font-size="9" fill="#4A6072" text-anchor="middle">INTRACELLULAR</text>
<!-- 5 subunits pentameric -->
<rect x="65" y="78" width="48" height="102" rx="9" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="2"/>
<rect x="128" y="68" width="48" height="112" rx="9" fill="#C8E6C9" stroke="#81C784" stroke-width="2"/>
<rect x="224" y="62" width="48" height="118" rx="9" fill="#F3E5F5" stroke="#CE93D8" stroke-width="2"/>
<rect x="320" y="68" width="48" height="112" rx="9" fill="#C8E6C9" stroke="#81C784" stroke-width="2"/>
<rect x="383" y="78" width="48" height="102" rx="9" fill="#B3E5FC" stroke="#4FC3F7" stroke-width="2"/>
<text x="89" y="134" font-size="12" fill="#1565C0" font-weight="bold" text-anchor="middle">α</text>
<text x="152" y="134" font-size="12" fill="#2E7D32" font-weight="bold" text-anchor="middle">β</text>
<text x="248" y="134" font-size="12" fill="#6A1B9A" font-weight="bold" text-anchor="middle">γ</text>
<text x="344" y="134" font-size="12" fill="#2E7D32" font-weight="bold" text-anchor="middle">β</text>
<text x="407" y="134" font-size="12" fill="#1565C0" font-weight="bold" text-anchor="middle">α</text>
<!-- Cl- pore -->
<ellipse cx="248" cy="150" rx="22" ry="34" fill="#E8EAF6" stroke="#7C4DFF" stroke-width="2.5"/>
<text x="248" y="147" font-size="9" fill="#4527A0" font-weight="bold" text-anchor="middle">Cl⁻</text>
<text x="248" y="160" font-size="8.5" fill="#4527A0" text-anchor="middle">Pore</text>
<!-- Binding sites -->
<!-- GABA (α/β interface) -->
<rect x="78" y="28" width="100" height="28" rx="6" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.2"/>
<text x="128" y="39" font-size="8.5" fill="#1565C0" font-weight="bold" text-anchor="middle">GABA binding site</text>
<text x="128" y="51" font-size="8" fill="#4A6072" text-anchor="middle">α/β interface</text>
<line x1="128" y1="56" x2="128" y2="68" stroke="#4FC3F7" stroke-width="1.5" stroke-dasharray="3,2"/>
<!-- BDZ (α/γ) -->
<rect x="195" y="18" width="108" height="28" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.2"/>
<text x="249" y="29" font-size="8.5" fill="#6A1B9A" font-weight="bold" text-anchor="middle">Benzodiazepine site</text>
<text x="249" y="41" font-size="8" fill="#4A6072" text-anchor="middle">α/γ interface</text>
<line x1="249" y1="46" x2="248" y2="62" stroke="#CE93D8" stroke-width="1.5" stroke-dasharray="3,2"/>
<!-- Barbiturate/propofol -->
<rect x="330" y="28" width="110" height="28" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.2"/>
<text x="385" y="39" font-size="8.5" fill="#E65100" font-weight="bold" text-anchor="middle">Barbiturate/Propofol</text>
<text x="385" y="51" font-size="8" fill="#4A6072" text-anchor="middle">TM β/α interface</text>
<line x1="370" y1="56" x2="344" y2="68" stroke="#FFB74D" stroke-width="1.5" stroke-dasharray="3,2"/>
<!-- Cl- influx -->
<line x1="258" y1="160" x2="258" y2="225" stroke="#7C4DFF" stroke-width="3"/>
<polygon points="258,225 252,212 264,212" fill="#7C4DFF"/>
<text x="268" y="220" font-size="9" fill="#4527A0" font-weight="bold">Cl⁻ influx</text>
<text x="268" y="232" font-size="8.5" fill="#4527A0">→ Hyperpolarisation</text>
<text x="268" y="244" font-size="8" fill="#4A6072">→ ↓ Neuronal excitability</text>
<!-- BDZ mechanism note -->
<rect x="10" y="240" width="140" height="42" rx="6" fill="#EDE7F6" stroke="#CE93D8" stroke-width="1"/>
<text x="80" y="253" font-size="8" fill="#4527A0" font-weight="bold" text-anchor="middle">BDZ: ↑ frequency</text>
<text x="80" y="264" font-size="8" fill="#4A6072" text-anchor="middle">of Cl⁻ channel opening</text>
<text x="80" y="275" font-size="8" fill="#4A6072" text-anchor="middle">(not direct gating)</text>
<!-- Barbiturate note -->
<rect x="158" y="240" width="140" height="42" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1"/>
<text x="228" y="253" font-size="8" fill="#E65100" font-weight="bold" text-anchor="middle">Barbiturate: ↑ duration</text>
<text x="228" y="264" font-size="8" fill="#4A6072" text-anchor="middle">of Cl⁻ channel opening</text>
<text x="228" y="275" font-size="8" fill="#BF360C" text-anchor="middle">Can directly gate at high [C]</text>
<text x="250" y="298" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 3 — GABA-A Receptor / Benzodiazepine–GABA Complex (Pentamer: 2α·2β·1γ)</text>
</svg>
</div>
<div class="anno"><h4>Structure</h4><p>GABA-A receptors belong to the Cys-loop superfamily (nicotinicoid). Pentamers from 19 subunit types (α1–6, β1–3, γ1–3, δ, ε, θ, π, ρ). Most common brain subtype: <b>2α1·2β2·1γ2</b>. GABA binds at α/β interface; benzodiazepines at α/γ2 interface. <i>(Kaplan & Sadock, GABA-Benzodiazepine Receptor Complex)</i></p></div>
<div class="anno"><h4>Subunit-Selective Pharmacology</h4><p><b>α1:</b> Sedation, hypnosis, amnesia, anticonvulsant (zolpidem-selective). <b>α2/α3:</b> Anxiolytic, muscle relaxant. <b>α5 (hippocampal):</b> Cognitive effects — negative allosteric modulation (NAM) enhances cognition. <b>δ-subunit extrasynaptic:</b> Tonic inhibition; target of neurosteroids (allopregnanolone → brexanolone for PPD).</p></div>
<div class="anno"><h4>GABA-B Receptors</h4><p>Metabotropic (Gi-coupled), presynaptic autoreceptors. Baclofen (GABA-B agonist) treats spasticity and alcohol withdrawal. Modulates GABA and glutamate release. Distinct from GABA-A — not affected by benzodiazepines.</p></div>
<div class="infobox"><b>Source:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry, block 45</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 4: DOPAMINE -->
<div class="section" id="fig4">
<div class="sec-header">
<h3>Figure 4 — Dopamine Receptor Subtypes: D1/D5 (Gs) vs D2/D3/D4 (Gi) Signalling</h3>
<p>Central to reward, psychosis, and Parkinson's disease pharmacology</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 330" width="500" height="330" xmlns="http://www.w3.org/2000/svg">
<!-- Divider -->
<line x1="250" y1="10" x2="250" y2="320" stroke="#ECEFF1" stroke-width="2" stroke-dasharray="5,4"/>
<!-- Labels -->
<text x="125" y="20" font-size="11" fill="#1565C0" font-weight="bold" text-anchor="middle">D1 / D5 Receptor (Gs)</text>
<text x="375" y="20" font-size="11" fill="#C62828" font-weight="bold" text-anchor="middle">D2 / D3 / D4 Receptor (Gi)</text>
<!-- D1 cascade -->
<rect x="50" y="28" width="110" height="34" rx="8" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.8"/>
<text x="105" y="44" font-size="10" fill="#1565C0" font-weight="bold" text-anchor="middle">D1 / D5</text>
<text x="105" y="57" font-size="8" fill="#4A6072" text-anchor="middle">Gs-coupled GPCR</text>
<line x1="105" y1="62" x2="105" y2="82" stroke="#4FC3F7" stroke-width="1.5"/>
<polygon points="105,82 100,72 110,72" fill="#4FC3F7"/>
<rect x="50" y="82" width="110" height="28" rx="6" fill="#E8F5E9" stroke="#81C784" stroke-width="1.5"/>
<text x="105" y="93" font-size="9" fill="#2E7D32" font-weight="bold" text-anchor="middle">Gαs activation</text>
<text x="105" y="105" font-size="8" fill="#2E7D32" text-anchor="middle">GDP → GTP</text>
<line x1="105" y1="110" x2="105" y2="128" stroke="#81C784" stroke-width="1.5"/>
<polygon points="105,128 100,118 110,118" fill="#81C784"/>
<rect x="50" y="128" width="110" height="26" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.5"/>
<text x="105" y="140" font-size="9" fill="#6A1B9A" font-weight="bold" text-anchor="middle">Adenylyl Cyclase ↑</text>
<text x="105" y="150" font-size="8" fill="#6A1B9A" text-anchor="middle">ATP → cAMP ↑</text>
<line x1="105" y1="154" x2="105" y2="172" stroke="#CE93D8" stroke-width="1.5"/>
<polygon points="105,172 100,162 110,162" fill="#CE93D8"/>
<rect x="50" y="172" width="110" height="26" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.5"/>
<text x="105" y="184" font-size="9" fill="#E65100" font-weight="bold" text-anchor="middle">PKA activation</text>
<text x="105" y="195" font-size="8" fill="#E65100" text-anchor="middle">Phosphorylation</text>
<line x1="105" y1="198" x2="105" y2="216" stroke="#FFB74D" stroke-width="1.5"/>
<polygon points="105,216 100,206 110,206" fill="#FFB74D"/>
<rect x="50" y="216" width="110" height="26" rx="6" fill="#FFECB3" stroke="#FFB74D" stroke-width="1.5"/>
<text x="105" y="228" font-size="9" fill="#BF360C" font-weight="bold" text-anchor="middle">CREB activation</text>
<text x="105" y="239" font-size="8" fill="#BF360C" text-anchor="middle">→ Gene expression</text>
<text x="105" y="268" font-size="8.5" fill="#1B2A3B" font-weight="bold" text-anchor="middle">Reward · Memory</text>
<text x="105" y="280" font-size="8" fill="#4A6072" text-anchor="middle">Motor activation (PFC/striatum)</text>
<!-- D2 cascade -->
<rect x="340" y="28" width="110" height="34" rx="8" fill="#FFEBEE" stroke="#EF9A9A" stroke-width="1.8"/>
<text x="395" y="44" font-size="10" fill="#C62828" font-weight="bold" text-anchor="middle">D2 / D3 / D4</text>
<text x="395" y="57" font-size="8" fill="#4A6072" text-anchor="middle">Gi-coupled GPCR</text>
<line x1="395" y1="62" x2="395" y2="82" stroke="#EF9A9A" stroke-width="1.5"/>
<polygon points="395,82 390,72 400,72" fill="#EF9A9A"/>
<rect x="340" y="82" width="110" height="28" rx="6" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.5"/>
<text x="395" y="93" font-size="9" fill="#C62828" font-weight="bold" text-anchor="middle">Gαi activation</text>
<text x="395" y="105" font-size="8" fill="#C62828" text-anchor="middle">GDP → GTP</text>
<line x1="395" y1="110" x2="395" y2="128" stroke="#EF9A9A" stroke-width="1.5"/>
<polygon points="395,128 390,118 400,118" fill="#EF9A9A"/>
<rect x="340" y="128" width="110" height="26" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.5"/>
<text x="395" y="140" font-size="9" fill="#6A1B9A" font-weight="bold" text-anchor="middle">Adenylyl Cyclase ↓</text>
<text x="395" y="150" font-size="8" fill="#6A1B9A" text-anchor="middle">cAMP ↓</text>
<line x1="395" y1="154" x2="395" y2="172" stroke="#CE93D8" stroke-width="1.5"/>
<polygon points="395,172 390,162 400,162" fill="#CE93D8"/>
<rect x="340" y="172" width="110" height="26" rx="6" fill="#E8EAF6" stroke="#5C6BC0" stroke-width="1.5"/>
<text x="395" y="184" font-size="9" fill="#3949AB" font-weight="bold" text-anchor="middle">K⁺↑ / Ca²⁺↓ channels</text>
<text x="395" y="195" font-size="8" fill="#3949AB" text-anchor="middle">Neuronal inhibition</text>
<line x1="395" y1="198" x2="395" y2="216" stroke="#5C6BC0" stroke-width="1.5"/>
<polygon points="395,216 390,206 400,206" fill="#5C6BC0"/>
<rect x="340" y="216" width="110" height="26" rx="6" fill="#EDE7F6" stroke="#CE93D8" stroke-width="1.5"/>
<text x="395" y="228" font-size="9" fill="#4527A0" font-weight="bold" text-anchor="middle">DA synthesis ↓</text>
<text x="395" y="239" font-size="8" fill="#4527A0" text-anchor="middle">Autoreceptor feedback</text>
<text x="395" y="268" font-size="8.5" fill="#1B2A3B" font-weight="bold" text-anchor="middle">Antipsychotic target</text>
<text x="395" y="280" font-size="8" fill="#4A6072" text-anchor="middle">Inhibit mesolimbic reward</text>
<!-- DA molecule labels top -->
<text x="105" y="310" font-size="8" fill="#4FC3F7" text-anchor="middle">↑ DA → euphoria, cognition</text>
<text x="395" y="310" font-size="8" fill="#EF9A9A" text-anchor="middle">D2 block → ↓ positive symptoms</text>
<text x="250" y="325" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 4 — Dopamine Receptor D1/D5 (Gs) vs D2/D3/D4 (Gi) Signalling Cascades</text>
</svg>
</div>
<div class="anno"><h4>Dopaminergic Pathways</h4><p><b>Mesolimbic (VTA→NAc):</b> Reward, motivation, addiction — D2 block here reduces positive psychotic symptoms. <b>Mesocortical (VTA→PFC):</b> Working memory, executive function — hypodopaminergia correlates with negative symptoms/cognitive deficits. <b>Nigrostriatal (SN→striatum):</b> Motor control — D2 block causes EPS. <b>Tuberoinfundibular:</b> Inhibits prolactin — D2 block causes hyperprolactinaemia.</p></div>
<div class="anno"><h4>Clinical Pharmacology</h4><p>All first-generation antipsychotics are potent D2 antagonists. PET studies show 60–80% D2 occupancy achieves antipsychotic effect; above 80% → EPS. Atypical antipsychotics add 5-HT2A blockade, lowering EPS risk. COMT Val158Met polymorphism affects PFC DA catabolism — central to cognitive genetics of schizophrenia. <i>(Kaplan & Sadock, block 43)</i></p></div>
<div class="infobox"><b>Source:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry, block 43; Henry's Clinical Diagnosis, block 35</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 5: SEROTONIN -->
<div class="section" id="fig5">
<div class="sec-header">
<h3>Figure 5 — Serotonin (5-HT) Receptor Subtypes: Classification & Clinical Relevance</h3>
<p>15+ subtypes across 7 families — all except 5-HT3 are GPCRs</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 320" width="500" height="320" xmlns="http://www.w3.org/2000/svg">
<!-- Raphe nuclei source -->
<rect x="175" y="8" width="150" height="30" rx="10" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.8"/>
<text x="250" y="20" font-size="10" fill="#C62828" font-weight="bold" text-anchor="middle">Raphe Nuclei</text>
<text x="250" y="33" font-size="8" fill="#4A6072" text-anchor="middle">Source of all CNS 5-HT projections</text>
<!-- Arrows from raphe -->
<line x1="195" y1="38" x2="80" y2="88" stroke="#EF9A9A" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="215" y1="38" x2="178" y2="88" stroke="#EF9A9A" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="250" y1="38" x2="278" y2="88" stroke="#EF9A9A" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="280" y1="38" x2="378" y2="88" stroke="#EF9A9A" stroke-width="1.2" stroke-dasharray="4,3"/>
<!-- Row 1: Inhibitory (Gi) -->
<text x="12" y="110" font-size="9" fill="#2E7D32" font-weight="bold">Gi/Go</text>
<text x="12" y="121" font-size="8" fill="#2E7D32">Inhibitory</text>
<!-- 5-HT1A -->
<rect x="48" y="88" width="112" height="82" rx="8" fill="#E8F5E9" stroke="#81C784" stroke-width="1.8"/>
<text x="104" y="104" font-size="11" fill="#2E7D32" font-weight="bold" text-anchor="middle">5-HT1A</text>
<text x="104" y="116" font-size="8" fill="#4A6072" text-anchor="middle">GPCR · Gi</text>
<text x="104" y="129" font-size="8" fill="#1B2A3B" text-anchor="middle">Somatodendritic</text>
<text x="104" y="140" font-size="8" fill="#1B2A3B" text-anchor="middle">autoreceptor (raphe)</text>
<text x="104" y="152" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Buspirone target</text>
<text x="104" y="163" font-size="8" fill="#1B2A3B" text-anchor="middle">Anxiolysis · SSRI delay</text>
<!-- 5-HT1B/1D -->
<rect x="170" y="88" width="112" height="82" rx="8" fill="#E8F5E9" stroke="#81C784" stroke-width="1.8"/>
<text x="226" y="104" font-size="10" fill="#2E7D32" font-weight="bold" text-anchor="middle">5-HT1B/1D</text>
<text x="226" y="116" font-size="8" fill="#4A6072" text-anchor="middle">GPCR · Gi</text>
<text x="226" y="129" font-size="8" fill="#1B2A3B" text-anchor="middle">Terminal autoreceptor</text>
<text x="226" y="140" font-size="8" fill="#1B2A3B" text-anchor="middle">Inhibits 5-HT release</text>
<text x="226" y="152" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Triptans (migraine)</text>
<text x="226" y="163" font-size="8" fill="#1B2A3B" text-anchor="middle">Vasoconstriction</text>
<!-- Row 2: Excitatory (Gq) -->
<text x="12" y="210" font-size="9" fill="#C62828" font-weight="bold">Gq</text>
<text x="12" y="221" font-size="8" fill="#C62828">Excitatory</text>
<!-- 5-HT2A -->
<rect x="48" y="185" width="112" height="88" rx="8" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.8"/>
<text x="104" y="202" font-size="11" fill="#C62828" font-weight="bold" text-anchor="middle">5-HT2A</text>
<text x="104" y="214" font-size="8" fill="#4A6072" text-anchor="middle">GPCR · Gq</text>
<text x="104" y="227" font-size="8" fill="#1B2A3B" text-anchor="middle">Postsynaptic cortex</text>
<text x="104" y="238" font-size="8" fill="#1B2A3B" text-anchor="middle">Modulates DA, NE, Glu</text>
<text x="104" y="250" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Psychedelics (LSD)</text>
<text x="104" y="261" font-size="8" fill="#1B2A3B" text-anchor="middle">Atypical AP block here</text>
<text x="104" y="272" font-size="8" fill="#1B2A3B" text-anchor="middle">↓ EPS vs typical APs</text>
<!-- 5-HT2C -->
<rect x="170" y="185" width="112" height="88" rx="8" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.8"/>
<text x="226" y="202" font-size="11" fill="#C62828" font-weight="bold" text-anchor="middle">5-HT2C</text>
<text x="226" y="214" font-size="8" fill="#4A6072" text-anchor="middle">GPCR · Gq</text>
<text x="226" y="227" font-size="8" fill="#1B2A3B" text-anchor="middle">Hypothalamus/limbic</text>
<text x="226" y="238" font-size="8" fill="#1B2A3B" text-anchor="middle">Appetite · anxiety · OCD</text>
<text x="226" y="250" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Clozapine antagonism</text>
<text x="226" y="261" font-size="8" fill="#1B2A3B" text-anchor="middle">→ weight gain (ADR)</text>
<!-- Row 3: Other -->
<text x="12" y="108" font-size="8" fill="#4A6072" text-anchor="start"> </text>
<!-- 5-HT3 (ionotropic) -->
<rect x="292" y="88" width="112" height="82" rx="8" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.8"/>
<text x="348" y="104" font-size="11" fill="#1565C0" font-weight="bold" text-anchor="middle">5-HT3</text>
<text x="348" y="116" font-size="8" fill="#1565C0" text-anchor="middle">Ionotropic (Na⁺/K⁺)</text>
<text x="348" y="128" font-size="8" fill="#1B2A3B" text-anchor="middle">Fast depolarisation</text>
<text x="348" y="139" font-size="8" fill="#1B2A3B" text-anchor="middle">Gut · area postrema</text>
<text x="348" y="151" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Ondansetron (anti-emetic)</text>
<text x="348" y="162" font-size="8" fill="#1B2A3B" text-anchor="middle">Anxiety · alcoholism</text>
<!-- 5-HT4/6/7 (Gs) -->
<rect x="292" y="185" width="200" height="88" rx="8" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.8"/>
<text x="392" y="202" font-size="11" fill="#E65100" font-weight="bold" text-anchor="middle">5-HT4 · 5-HT6 · 5-HT7</text>
<text x="392" y="214" font-size="8" fill="#4A6072" text-anchor="middle">GPCRs · Gs (cAMP ↑)</text>
<text x="392" y="227" font-size="8" fill="#1B2A3B" text-anchor="middle">5-HT4: GI motility, memory</text>
<text x="392" y="238" font-size="8" fill="#1B2A3B" text-anchor="middle">5-HT6: Striatum/limbic; clozapine affinity</text>
<text x="392" y="250" font-size="8" fill="#1B2A3B" text-anchor="middle">5-HT7: Circadian rhythm, mood</text>
<text x="392" y="261" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Vortioxetine (MDD) blocks 5-HT7</text>
<text x="250" y="310" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 5 — Serotonin (5-HT) Receptor Subtypes — Classification & Clinical Pharmacology</text>
</svg>
</div>
<div class="anno"><h4>5-HT1A — The Key Autoreceptor</h4><p>Somatodendritic 5-HT1A autoreceptors on raphe neurons inhibit 5-HT neuronal firing when activated. SSRIs initially activate these autoreceptors (reducing 5-HT release), which explains the 2–4 week delay in clinical effect. Desensitisation of 5-HT1A autoreceptors over weeks allows increased 5-HT transmission. Buspirone (partial agonist) provides anxiolysis without dependence.</p></div>
<div class="anno"><h4>5-HT2A — Psychedelics & Antipsychotics</h4><p>Classical psychedelics (LSD, psilocybin, DMT) are 5-HT2A partial agonists in cortical pyramidal neurons — explaining hallucinations via excess glutamate release. Atypical antipsychotics (clozapine, quetiapine, olanzapine) block both D2 and 5-HT2A — the 5-HT2A blockade reduces D2 blockade-related EPS and improves negative symptoms.</p></div>
<div class="infobox"><b>Source:</b> Stahl's Essential Psychopharmacology, 5e; Kaplan & Sadock's Comprehensive Textbook of Psychiatry</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 6: NOREPINEPHRINE -->
<div class="section" id="fig6">
<div class="sec-header">
<h3>Figure 6 — Norepinephrine: Adrenergic Receptor Subtypes & Downstream Pathways</h3>
<p>Locus coeruleus — the brain's arousal and stress system</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 300" width="500" height="300" xmlns="http://www.w3.org/2000/svg">
<!-- LC source -->
<rect x="165" y="8" width="170" height="30" rx="10" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.8"/>
<text x="250" y="20" font-size="10" fill="#E65100" font-weight="bold" text-anchor="middle">Locus Coeruleus (LC)</text>
<text x="250" y="33" font-size="8" fill="#4A6072" text-anchor="middle">Major NE source → cortex, limbic, spinal cord</text>
<!-- Arrows to receptors -->
<line x1="200" y1="38" x2="88" y2="82" stroke="#FFB74D" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="225" y1="38" x2="198" y2="82" stroke="#FFB74D" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="275" y1="38" x2="312" y2="82" stroke="#FFB74D" stroke-width="1.2" stroke-dasharray="4,3"/>
<line x1="300" y1="38" x2="408" y2="82" stroke="#FFB74D" stroke-width="1.2" stroke-dasharray="4,3"/>
<!-- α1 -->
<rect x="28" y="82" width="120" height="110" rx="8" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.8"/>
<text x="88" y="98" font-size="12" fill="#C62828" font-weight="bold" text-anchor="middle">α1</text>
<text x="88" y="110" font-size="8.5" fill="#4A6072" text-anchor="middle">Gq-coupled</text>
<text x="88" y="123" font-size="8" fill="#1B2A3B" text-anchor="middle">PLC → IP3 + DAG</text>
<text x="88" y="134" font-size="8" fill="#1B2A3B" text-anchor="middle">→ PKC, Ca²⁺ ↑</text>
<text x="88" y="148" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Arousal (low NE)</text>
<text x="88" y="159" font-size="8" fill="#1B2A3B" text-anchor="middle">Impairs PFC (high NE)</text>
<text x="88" y="170" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Prazosin → PTSD Rx</text>
<text x="88" y="182" font-size="7.5" fill="#4A6072" text-anchor="middle">blocks NE PTSD nightmares</text>
<!-- α2 -->
<rect x="158" y="82" width="120" height="110" rx="8" fill="#E8F5E9" stroke="#81C784" stroke-width="1.8"/>
<text x="218" y="98" font-size="12" fill="#2E7D32" font-weight="bold" text-anchor="middle">α2</text>
<text x="218" y="110" font-size="8.5" fill="#4A6072" text-anchor="middle">Gi-coupled</text>
<text x="218" y="123" font-size="8" fill="#1B2A3B" text-anchor="middle">AC↓ → cAMP↓</text>
<text x="218" y="134" font-size="8" fill="#1B2A3B" text-anchor="middle">K⁺↑ / Ca²⁺↓</text>
<text x="218" y="148" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Presynaptic autoreceptor</text>
<text x="218" y="159" font-size="8" fill="#1B2A3B" text-anchor="middle">↓ NE release (feedback)</text>
<text x="218" y="170" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Clonidine / Guanfacine</text>
<text x="218" y="182" font-size="7.5" fill="#4A6072" text-anchor="middle">ADHD · PTSD · withdrawal</text>
<!-- β1 -->
<rect x="288" y="82" width="120" height="110" rx="8" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.8"/>
<text x="348" y="98" font-size="12" fill="#1565C0" font-weight="bold" text-anchor="middle">β1</text>
<text x="348" y="110" font-size="8.5" fill="#4A6072" text-anchor="middle">Gs-coupled</text>
<text x="348" y="123" font-size="8" fill="#1B2A3B" text-anchor="middle">AC↑ → cAMP↑ → PKA</text>
<text x="348" y="134" font-size="8" fill="#1B2A3B" text-anchor="middle">CNS: LTP, memory</text>
<text x="348" y="148" font-size="8" fill="#C62828" font-weight="bold" text-anchor="middle">Propranolol (β-block)</text>
<text x="348" y="159" font-size="8" fill="#1B2A3B" text-anchor="middle">Attenuates trauma</text>
<text x="348" y="170" font-size="8" fill="#1B2A3B" text-anchor="middle">memory reconsolidation</text>
<text x="348" y="182" font-size="7.5" fill="#4A6072" text-anchor="middle">Experimental PTSD</text>
<!-- β2 -->
<rect x="350" y="82" width="0" height="0"/>
<!-- Summary boxes -->
<rect x="28" y="208" width="440" height="58" rx="8" fill="#F8F9FA" stroke="#DDE8F0" stroke-width="1"/>
<text x="248" y="222" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">NE reuptake transporter (NET) — target of SNRIs (venlafaxine, duloxetine), TCAs, atomoxetine (ADHD)</text>
<text x="248" y="237" font-size="8.5" fill="#4A6072" text-anchor="middle">Synthesis: Tyrosine → L-DOPA (TH) → Dopamine (AADC) → NE (DBH in LC vesicles)</text>
<text x="248" y="250" font-size="8.5" fill="#4A6072" text-anchor="middle">Degradation: MAO-A → MHPG; COMT (extrasynaptic) — MAO inhibitors (phenelzine) block this step</text>
<text x="248" y="262" font-size="8" fill="#C62828" text-anchor="middle">Inverted-U model: optimal NE in PFC (α2 Gi) → best working memory; excess NE (stress, α1 Gq) → PFC impairment</text>
<text x="250" y="292" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 6 — Norepinephrine Adrenergic Receptor Subtypes (α1/Gq · α2/Gi · β1/Gs)</text>
</svg>
</div>
<div class="anno"><h4>Locus Coeruleus & Arousal</h4><p>The LC is the principal noradrenergic nucleus. It fires tonically at rest and phasically to novel/salient stimuli. LC → cortex mediates arousal and attentional switching; LC → amygdala mediates fear and stress responses; LC → spinal cord modulates pain. LC hyperactivity (NE excess) underlies the hyperarousal and exaggerated startle of PTSD.</p></div>
<div class="anno"><h4>α2 Receptors & PFC Function</h4><p>Postsynaptic α2A receptors on PFC dendritic spines strengthen working memory circuits by closing HCN channels, increasing signal persistence. This is the mechanism of guanfacine (selective α2A) in ADHD. Clonidine (non-selective α2) also reduces LC firing, treating autonomic hyperarousal in PTSD and opioid withdrawal.</p></div>
<div class="infobox"><b>Source:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry; Stahl's Essential Psychopharmacology, 5e</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 7: 2ND MESSENGERS -->
<div class="section" id="fig7">
<div class="sec-header">
<h3>Figure 7 — Second Messenger Cascades: cAMP/PKA · Gq/PKC · MAPK/ERK</h3>
<p>Intracellular signalling linking receptor activation to gene expression and behaviour</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 340" width="500" height="340" xmlns="http://www.w3.org/2000/svg">
<!-- Column headers -->
<rect x="8" y="8" width="152" height="26" rx="6" fill="#1565C0"/>
<rect x="174" y="8" width="152" height="26" rx="6" fill="#880E4F"/>
<rect x="340" y="8" width="152" height="26" rx="6" fill="#1B5E20"/>
<text x="84" y="25" font-size="10" fill="white" font-weight="bold" text-anchor="middle">cAMP / PKA</text>
<text x="250" y="25" font-size="10" fill="white" font-weight="bold" text-anchor="middle">Gq / PKC</text>
<text x="416" y="25" font-size="10" fill="white" font-weight="bold" text-anchor="middle">MAPK / ERK</text>
<!-- cAMP pathway -->
<rect x="20" y="44" width="128" height="30" rx="6" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.5"/>
<text x="84" y="56" font-size="9" fill="#1565C0" font-weight="bold" text-anchor="middle">Gs/Gi-coupled Receptor</text>
<text x="84" y="68" font-size="8" fill="#4A6072" text-anchor="middle">D1, β-adrenergic, 5-HT4/6/7</text>
<line x1="84" y1="74" x2="84" y2="90" stroke="#4FC3F7" stroke-width="1.5"/><polygon points="84,90 79,80 89,80" fill="#4FC3F7"/>
<rect x="20" y="90" width="128" height="26" rx="6" fill="#E8EAF6" stroke="#7986CB" stroke-width="1.5"/>
<text x="84" y="103" font-size="9" fill="#3949AB" font-weight="bold" text-anchor="middle">Adenylyl Cyclase</text>
<text x="84" y="113" font-size="8" fill="#3949AB" text-anchor="middle">ATP → cAMP</text>
<line x1="84" y1="116" x2="84" y2="132" stroke="#7986CB" stroke-width="1.5"/><polygon points="84,132 79,122 89,122" fill="#7986CB"/>
<rect x="20" y="132" width="128" height="26" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.5"/>
<text x="84" y="145" font-size="9" fill="#E65100" font-weight="bold" text-anchor="middle">PKA activation</text>
<text x="84" y="155" font-size="8" fill="#E65100" text-anchor="middle">Phosphorylates substrates</text>
<line x1="84" y1="158" x2="84" y2="174" stroke="#FFB74D" stroke-width="1.5"/><polygon points="84,174 79,164 89,164" fill="#FFB74D"/>
<rect x="20" y="174" width="128" height="26" rx="6" fill="#FFECB3" stroke="#FFB74D" stroke-width="1.5"/>
<text x="84" y="186" font-size="9" fill="#BF360C" font-weight="bold" text-anchor="middle">CREB phosphorylation</text>
<text x="84" y="196" font-size="8" fill="#BF360C" text-anchor="middle">CRE element binding</text>
<line x1="84" y1="200" x2="84" y2="216" stroke="#FFB74D" stroke-width="1.5"/><polygon points="84,216 79,206 89,206" fill="#FFB74D"/>
<rect x="20" y="216" width="128" height="36" rx="6" fill="#E8F5E9" stroke="#81C784" stroke-width="1.5"/>
<text x="84" y="228" font-size="9" fill="#2E7D32" font-weight="bold" text-anchor="middle">Gene Expression</text>
<text x="84" y="239" font-size="8" fill="#2E7D32" text-anchor="middle">BDNF ↑, Bcl-2 ↑</text>
<text x="84" y="250" font-size="8" fill="#2E7D32" text-anchor="middle">Neurogenesis ↑</text>
<rect x="14" y="264" width="140" height="36" rx="6" fill="#DCEDC8" stroke="#81C784" stroke-width="1"/>
<text x="84" y="276" font-size="8.5" fill="#1B5E20" font-weight="bold" text-anchor="middle">Clinical: Antidepressant</text>
<text x="84" y="287" font-size="8" fill="#4A6072" text-anchor="middle">mechanism of SSRIs/SNRIs</text>
<text x="84" y="297" font-size="8" fill="#4A6072" text-anchor="middle">Lithium inhibits inositol→PKC</text>
<!-- Gq/PKC pathway -->
<rect x="186" y="44" width="128" height="30" rx="6" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.5"/>
<text x="250" y="56" font-size="9" fill="#C62828" font-weight="bold" text-anchor="middle">Gq-coupled Receptor</text>
<text x="250" y="68" font-size="8" fill="#4A6072" text-anchor="middle">5-HT2A, α1, mGluR1/5, M1</text>
<line x1="250" y1="74" x2="250" y2="90" stroke="#EF9A9A" stroke-width="1.5"/><polygon points="250,90 245,80 255,80" fill="#EF9A9A"/>
<rect x="186" y="90" width="128" height="26" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.5"/>
<text x="250" y="103" font-size="9" fill="#6A1B9A" font-weight="bold" text-anchor="middle">PLC activation</text>
<text x="250" y="113" font-size="8" fill="#6A1B9A" text-anchor="middle">Phospholipase Cβ</text>
<line x1="250" y1="116" x2="250" y2="132" stroke="#CE93D8" stroke-width="1.5"/><polygon points="250,132 245,122 255,122" fill="#CE93D8"/>
<rect x="186" y="132" width="128" height="26" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.5"/>
<text x="250" y="145" font-size="9" fill="#6A1B9A" font-weight="bold" text-anchor="middle">IP3 + DAG</text>
<text x="250" y="155" font-size="8" fill="#6A1B9A" text-anchor="middle">PIP2 cleavage</text>
<line x1="250" y1="158" x2="250" y2="174" stroke="#CE93D8" stroke-width="1.5"/><polygon points="250,174 245,164 255,164" fill="#CE93D8"/>
<rect x="186" y="174" width="128" height="26" rx="6" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.5"/>
<text x="250" y="186" font-size="9" fill="#C62828" font-weight="bold" text-anchor="middle">PKC + Ca²⁺ release (ER)</text>
<text x="250" y="196" font-size="8" fill="#C62828" text-anchor="middle">Protein phosphorylation</text>
<line x1="250" y1="200" x2="250" y2="216" stroke="#EF9A9A" stroke-width="1.5"/><polygon points="250,216 245,206 255,206" fill="#EF9A9A"/>
<rect x="186" y="216" width="128" height="36" rx="6" fill="#FFCDD2" stroke="#EF9A9A" stroke-width="1.5"/>
<text x="250" y="228" font-size="9" fill="#B71C1C" font-weight="bold" text-anchor="middle">Neuronal Excitability ↑</text>
<text x="250" y="239" font-size="8" fill="#B71C1C" text-anchor="middle">Ion channel modulation</text>
<text x="250" y="250" font-size="8" fill="#B71C1C" text-anchor="middle">Vesicle release ↑</text>
<rect x="180" y="264" width="140" height="36" rx="6" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1"/>
<text x="250" y="276" font-size="8.5" fill="#B71C1C" font-weight="bold" text-anchor="middle">Clinical: Psychedelics / APs</text>
<text x="250" y="287" font-size="8" fill="#4A6072" text-anchor="middle">5-HT2A/Gq excess → hallucinations</text>
<text x="250" y="297" font-size="8" fill="#4A6072" text-anchor="middle">AP block → ↓ excitability</text>
<!-- MAPK/ERK pathway -->
<rect x="352" y="44" width="128" height="30" rx="6" fill="#E8F5E9" stroke="#81C784" stroke-width="1.5"/>
<text x="416" y="56" font-size="9" fill="#2E7D32" font-weight="bold" text-anchor="middle">RTK / GPCR Receptor</text>
<text x="416" y="68" font-size="8" fill="#4A6072" text-anchor="middle">BDNF-TrkB, β-arrestin</text>
<line x1="416" y1="74" x2="416" y2="90" stroke="#81C784" stroke-width="1.5"/><polygon points="416,90 411,80 421,80" fill="#81C784"/>
<rect x="352" y="90" width="128" height="26" rx="6" fill="#C8E6C9" stroke="#81C784" stroke-width="1.5"/>
<text x="416" y="103" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">Ras → Raf activation</text>
<text x="416" y="113" font-size="8" fill="#1B5E20" text-anchor="middle">GTP-bound Ras</text>
<line x1="416" y1="116" x2="416" y2="132" stroke="#81C784" stroke-width="1.5"/><polygon points="416,132 411,122 421,122" fill="#81C784"/>
<rect x="352" y="132" width="128" height="26" rx="6" fill="#C8E6C9" stroke="#81C784" stroke-width="1.5"/>
<text x="416" y="145" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">MEK → ERK1/2</text>
<text x="416" y="155" font-size="8" fill="#1B5E20" text-anchor="middle">MAPK cascade</text>
<line x1="416" y1="158" x2="416" y2="174" stroke="#81C784" stroke-width="1.5"/><polygon points="416,174 411,164 421,164" fill="#81C784"/>
<rect x="352" y="174" width="128" height="26" rx="6" fill="#C8E6C9" stroke="#81C784" stroke-width="1.5"/>
<text x="416" y="186" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">Transcription Factors</text>
<text x="416" y="196" font-size="8" fill="#1B5E20" text-anchor="middle">Elk-1, c-Fos, RSK2→CREB</text>
<line x1="416" y1="200" x2="416" y2="216" stroke="#81C784" stroke-width="1.5"/><polygon points="416,216 411,206 421,206" fill="#81C784"/>
<rect x="352" y="216" width="128" height="36" rx="6" fill="#DCEDC8" stroke="#81C784" stroke-width="1.5"/>
<text x="416" y="228" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">Synaptic Plasticity</text>
<text x="416" y="239" font-size="8" fill="#1B5E20" text-anchor="middle">LTP, Neurogenesis</text>
<text x="416" y="250" font-size="8" fill="#1B5E20" text-anchor="middle">Long-term memory</text>
<rect x="346" y="264" width="140" height="36" rx="6" fill="#DCEDC8" stroke="#81C784" stroke-width="1"/>
<text x="416" y="276" font-size="8.5" fill="#1B5E20" font-weight="bold" text-anchor="middle">Clinical: Ketamine / BDNF</text>
<text x="416" y="287" font-size="8" fill="#4A6072" text-anchor="middle">Rapid antidepressant via mTOR</text>
<text x="416" y="297" font-size="8" fill="#4A6072" text-anchor="middle">Cocaine reward via ERK</text>
<text x="250" y="328" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 7 — Three Key Second Messenger Signalling Cascades in Behavioural Neuroscience</text>
</svg>
</div>
<div class="anno"><h4>cAMP/PKA/CREB — The Antidepressant Pathway</h4><p>Chronic antidepressant treatment (SSRIs, SNRIs, TCAs) ultimately increases CREB phosphorylation and BDNF transcription in the hippocampus and PFC. This promotes neurogenesis and dendritic remodelling — explaining the 2–6 week clinical delay. The Val66Met BDNF polymorphism impairs activity-dependent BDNF secretion, increasing depression and anxiety risk.</p></div>
<div class="anno"><h4>MAPK/ERK — Plasticity and Addiction</h4><p>Repeated cocaine exposure persistently activates ERK in the striatum, driving long-lasting synaptic changes in the reward circuit. Ketamine's rapid antidepressant effect involves blocking tonically active NMDA receptors → disinhibition → BDNF release → TrkB → ERK/mTOR → rapid spine growth in PFC layer V pyramidal neurons within 2 hours.</p></div>
<div class="infobox"><b>Source:</b> Stahl's Essential Psychopharmacology, 5e; Kaplan & Sadock; Kandel's Principles of Neural Science, 6e</div>
</div>
</div>
<!-- ═══════════════════════════════════════════════════════ FIG 8: SYNAPSE -->
<div class="section" id="fig8">
<div class="sec-header">
<h3>Figure 8 — Chemical Synapse Anatomy: NT Lifecycle</h3>
<p>Synthesis · Packaging · Release · Reuptake · Degradation · Autoreceptor feedback</p>
</div>
<div class="sec-body">
<div class="diagram-wrap">
<svg viewBox="0 0 500 300" width="500" height="300" xmlns="http://www.w3.org/2000/svg">
<!-- Presynaptic terminal -->
<rect x="30" y="20" width="440" height="110" rx="12" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="2"/>
<text x="250" y="36" font-size="10" fill="#1565C0" font-weight="bold" text-anchor="middle">PRESYNAPTIC TERMINAL</text>
<!-- Vesicles -->
<circle cx="90" cy="85" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="130" cy="72" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="170" cy="90" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="210" cy="74" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="250" cy="88" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="290" cy="72" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<circle cx="330" cy="86" r="14" fill="#81D4FA" stroke="#4FC3F7" stroke-width="1.5"/>
<text x="90" cy="89" font-size="7" fill="#0D47A1" text-anchor="middle" y="89">NT</text>
<text x="130" cy="76" font-size="7" fill="#0D47A1" text-anchor="middle" y="76">NT</text>
<text x="170" cy="94" font-size="7" fill="#0D47A1" text-anchor="middle" y="94">NT</text>
<text x="210" cy="78" font-size="7" fill="#0D47A1" text-anchor="middle" y="78">NT</text>
<text x="250" cy="92" font-size="7" fill="#0D47A1" text-anchor="middle" y="92">NT</text>
<text x="290" cy="76" font-size="7" fill="#0D47A1" text-anchor="middle" y="76">NT</text>
<text x="330" cy="90" font-size="7" fill="#0D47A1" text-anchor="middle" y="90">NT</text>
<!-- Active zone -->
<rect x="190" y="126" width="120" height="6" rx="2" fill="#FFB74D"/>
<text x="250" y="122" font-size="8" fill="#E65100" font-weight="bold" text-anchor="middle">Active Zone (SNARE complex)</text>
<!-- MAO -->
<rect x="390" y="55" width="65" height="32" rx="6" fill="#FCE4EC" stroke="#EF9A9A" stroke-width="1.2"/>
<text x="422" y="68" font-size="8.5" fill="#C62828" font-weight="bold" text-anchor="middle">MAO-A/B</text>
<text x="422" y="80" font-size="7.5" fill="#C62828" text-anchor="middle">Degradation</text>
<!-- Autoreceptor -->
<rect x="390" y="92" width="65" height="32" rx="6" fill="#F3E5F5" stroke="#CE93D8" stroke-width="1.2"/>
<text x="422" y="105" font-size="8.5" fill="#6A1B9A" font-weight="bold" text-anchor="middle">Auto-R</text>
<text x="422" y="116" font-size="7.5" fill="#6A1B9A" text-anchor="middle">(-) feedback</text>
<!-- Synaptic cleft -->
<rect x="30" y="132" width="440" height="40" rx="0" fill="#F8F9FA" stroke="#90A4AE" stroke-width="1"/>
<text x="250" y="148" font-size="9" fill="#546E7A" font-weight="bold" text-anchor="middle">S Y N A P T I C C L E F T (20–40 nm)</text>
<!-- NT molecules in cleft -->
<circle cx="130" cy="158" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<circle cx="165" cy="153" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<circle cx="200" cy="160" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<circle cx="235" cy="152" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<circle cx="270" cy="158" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<circle cx="305" cy="154" r="5" fill="#FFB74D" stroke="#E65100" stroke-width="0.8"/>
<!-- Reuptake transporter -->
<rect x="42" y="138" width="52" height="34" rx="6" fill="#FFF9C4" stroke="#FFB74D" stroke-width="1.5"/>
<text x="68" y="151" font-size="8.5" fill="#E65100" font-weight="bold" text-anchor="middle">DAT / SERT</text>
<text x="68" y="162" font-size="7.5" fill="#BF360C" text-anchor="middle">Reuptake → pre</text>
<!-- Exocytosis arrow -->
<line x1="250" y1="126" x2="250" y2="132" stroke="#FFB74D" stroke-width="2.5"/>
<polygon points="250,132 244,124 256,124" fill="#FFB74D"/>
<text x="262" y="122" font-size="7.5" fill="#E65100" font-weight="bold">Exocytosis</text>
<text x="262" y="132" font-size="7" fill="#4A6072">(Ca²⁺-triggered)</text>
<!-- Postsynaptic membrane -->
<rect x="30" y="172" width="440" height="90" rx="12" fill="#E8F5E9" stroke="#81C784" stroke-width="2"/>
<text x="250" y="188" font-size="10" fill="#2E7D32" font-weight="bold" text-anchor="middle">POSTSYNAPTIC MEMBRANE</text>
<!-- Postsynaptic receptors -->
<rect x="100" y="168" width="36" height="22" rx="4" fill="#A5D6A7" stroke="#81C784" stroke-width="1.2"/>
<text x="118" y="182" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">R</text>
<rect x="165" y="168" width="36" height="22" rx="4" fill="#A5D6A7" stroke="#81C784" stroke-width="1.2"/>
<text x="183" y="182" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">R</text>
<rect x="230" y="168" width="36" height="22" rx="4" fill="#A5D6A7" stroke="#81C784" stroke-width="1.2"/>
<text x="248" y="182" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">R</text>
<rect x="295" y="168" width="36" height="22" rx="4" fill="#A5D6A7" stroke="#81C784" stroke-width="1.2"/>
<text x="313" y="182" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">R</text>
<rect x="360" y="168" width="36" height="22" rx="4" fill="#A5D6A7" stroke="#81C784" stroke-width="1.2"/>
<text x="378" y="182" font-size="9" fill="#1B5E20" font-weight="bold" text-anchor="middle">R</text>
<!-- Ion/signal arrow -->
<text x="250" y="215" font-size="9" fill="#2E7D32" font-weight="bold" text-anchor="middle">Ion flux / 2nd messenger cascade → Behaviour</text>
<text x="250" y="230" font-size="8.5" fill="#4A6072" text-anchor="middle">Ionotropic: fast (ms) · Metabotropic: slow (sec–min)</text>
<!-- COMT -->
<rect x="390" y="172" width="65" height="32" rx="6" fill="#E3F2FD" stroke="#4FC3F7" stroke-width="1.2"/>
<text x="422" y="185" font-size="8" fill="#1565C0" font-weight="bold" text-anchor="middle">COMT</text>
<text x="422" y="196" font-size="7.5" fill="#4A6072" text-anchor="middle">PFC catabolism</text>
<text x="250" y="292" font-size="9" fill="#1B2A3B" font-weight="bold" text-anchor="middle">FIGURE 8 — Chemical Synapse: Neurotransmitter Lifecycle (Synthesis → Release → Reuptake → Degradation)</text>
</svg>
</div>
<div class="anno"><h4>NT Synthesis & Packaging</h4><p>Small-molecule NTs (DA, 5-HT, NE, GABA, glutamate, ACh) are synthesised locally in the terminal. Packaged into synaptic vesicles by vesicular transporters: VMAT2 (monoamines), VAChT (ACh), VIAAT (GABA/glycine). Vesicles dock at the active zone via SNARE complexes (syntaxin-1, SNAP-25, synaptobrevin). Ca²⁺ influx via P/Q-type VGCCs triggers fusion and exocytosis.</p></div>
<div class="anno"><h4>Reuptake Transporters — Primary Drug Targets</h4><p><b>DAT (dopamine):</b> Blocked by cocaine, amphetamine, methylphenidate. <b>SERT (serotonin):</b> Blocked by SSRIs (fluoxetine, sertraline) and SNRIs. <b>NET (norepinephrine):</b> Blocked by SNRIs, TCAs, atomoxetine. Amphetamines additionally reverse transporter direction → force NT release. Cocaine blocks all three monoamine transporters simultaneously.</p></div>
<div class="anno"><h4>Degradation Enzymes</h4><p><b>MAO-A:</b> Degrades 5-HT, NE, DA — inhibited by phenelzine, tranylcypromine (irreversible); moclobemide (reversible). <b>MAO-B:</b> Degrades DA preferentially — inhibited by selegiline, rasagiline (Parkinson's). <b>COMT:</b> Methylates catecholamines especially in PFC (synaptic spillover) — Val158Met polymorphism affects PFC DA levels and working memory.</p></div>
<div class="infobox"><b>Source:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry; Guyton & Hall Textbook of Medical Physiology, 14e</div>
</div>
</div>
<!-- REFERENCE TABLE -->
<div class="section" id="reftable">
<div class="sec-header">
<h3>Quick Reference — Neurotransmitter Systems Summary</h3>
<p>Synthesis · Receptors · Functions · Drug Targets</p>
</div>
<div class="sec-body">
<div style="overflow-x:auto">
<table class="reftable">
<thead>
<tr>
<th>NT</th><th>Synthesis</th><th>Key Receptors</th><th>Primary Functions</th><th>Drug Targets</th>
</tr>
</thead>
<tbody>
<tr>
<td><b style="color:#1565C0">Dopamine (DA)</b></td>
<td>Tyr → L-DOPA (TH) → DA (AADC)</td>
<td>D1,D5 (Gs); D2,D3,D4 (Gi)</td>
<td>Reward, motivation, motor control, working memory (PFC)</td>
<td>Antipsychotics (D2 block); L-DOPA; stimulants (DAT block); MAO-B inhibitors</td>
</tr>
<tr>
<td><b style="color:#C62828">Serotonin (5-HT)</b></td>
<td>Trp → 5-HTP (TPH2) → 5-HT</td>
<td>5-HT1A (Gi); 5-HT2A (Gq); 5-HT3 (ion)</td>
<td>Mood, impulse control, appetite, sleep, cognition</td>
<td>SSRIs, SNRIs; atypical APs (5-HT2A); buspirone (5-HT1A); triptans (5-HT1B/D)</td>
</tr>
<tr>
<td><b style="color:#E65100">Norepinephrine (NE)</b></td>
<td>DA → NE (DBH in LC vesicles)</td>
<td>α1 (Gq); α2 (Gi); β1/β2 (Gs)</td>
<td>Arousal, attention, fight-or-flight, pain modulation</td>
<td>SNRIs, TCAs; clonidine/guanfacine (α2); prazosin (α1); propranolol (β)</td>
</tr>
<tr>
<td><b style="color:#4527A0">GABA</b></td>
<td>Glutamate → GABA (GAD)</td>
<td>GABA-A (Cl⁻ ionotropic); GABA-B (Gi GPCR)</td>
<td>Primary CNS inhibition; anxiolysis; sedation; seizure threshold</td>
<td>Benzodiazepines, barbiturates, valproate, gabapentin, baclofen (GABA-B)</td>
</tr>
<tr>
<td><b style="color:#1B5E20">Glutamate</b></td>
<td>TCA cycle / glutamine → Glu</td>
<td>AMPA (Na⁺/K⁺); NMDA (Ca²⁺); mGluR (GPCR)</td>
<td>Primary excitation; LTP; learning & memory; neural development</td>
<td>Ketamine (NMDA); memantine (NMDA); lamotrigine (release ↓)</td>
</tr>
<tr>
<td><b style="color:#880E4F">Acetylcholine (ACh)</b></td>
<td>Choline + AcCoA → ACh (ChAT)</td>
<td>nAChR (ionotropic); mAChR M1-M5 (GPCR)</td>
<td>Attention, memory (hippocampus); autonomic; NMJ</td>
<td>AChEIs (donepezil — Alzheimer); atropine (mAChR); nicotine (nAChR)</td>
</tr>
</tbody>
</table>
</div>
<div class="infobox" style="margin-top:16px">
<b>Sources:</b> Kaplan & Sadock's Comprehensive Textbook of Psychiatry (10e) · Stahl's Essential Psychopharmacology (5e) · Kandel's Principles of Neural Science (6e) · Guyton & Hall Textbook of Medical Physiology (14e) · Emery's Elements of Medical Genetics & Genomics (16e) · Blumenfeld's Neuroanatomy Through Clinical Cases (3e)
</div>
</div>
</div>
<footer>
Neurotransmitter Receptor Diagrams — Companion to Behavioural Science Seminar<br>
Advanced Psychiatry & Psychology · All content sourced from peer-reviewed medical textbooks
</footer>
</body>
</html>