I have a seminar on glucocorticoid and its function give me 6-7 minutes information on this topic in detail according to mbbs first year physiology

Reading File
Finding Sources
Finding Sources
Reading File
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Loading Image
Finding Sources
I now have comprehensive content from authoritative MBBS physiology textbooks. Let me compile a detailed, well-structured seminar on glucocorticoids.

Glucocorticoids: Structure, Synthesis, and Functions

MBBS First Year Physiology Seminar (6-7 minutes)


1. Introduction

Glucocorticoids are steroid hormones produced by the adrenal cortex - specifically by the zona fasciculata, the middle and largest zone of the cortex. The primary and most important glucocorticoid in humans is cortisol (also called hydrocortisone). A minor glucocorticoid, corticosterone, is also secreted but in much smaller quantities. In rodents, corticosterone is the principal glucocorticoid.
The adrenal gland - as shown in this diagram - sits atop each kidney and its cortex is organized into three distinct zones:
Adrenal gland anatomy showing three cortical zones and their hormones
  • Zona glomerulosa (outer) - produces mineralocorticoids (aldosterone)
  • Zona fasciculata (middle) - produces glucocorticoids (cortisol)
  • Zona reticularis (inner) - produces androgens (DHEA, androstenedione)
Medical Physiology (Boron & Boulpaep), p. 1496

2. Chemical Nature and Synthesis

Glucocorticoids are steroid hormones derived from cholesterol. The key biosynthetic steps:
  1. Cholesterol → Pregnenolone (via P450scc / CYP11A1 in mitochondria)
  2. Pregnenolone → Progesterone (via 3β-HSD in SER)
  3. Progesterone → 17α-Hydroxyprogesterone (via CYP17 / 17α-hydroxylase)
  4. 17α-OH Progesterone → 11-Deoxycortisol (via CYP21A2 / 21β-hydroxylase in SER)
  5. 11-Deoxycortisol → Cortisol (via CYP11B1 / 11β-hydroxylase in mitochondria)
The zona fasciculata contains 11β-hydroxylase and 17α-hydroxylase - these two enzymes are responsible for cortisol production. The zona glomerulosa lacks 17α-hydroxylase, which is why it cannot make cortisol.
Normal daily cortisol secretion: 15-25 mg/day (can surge to 10x this amount during severe stress).
Ganong's Review of Medical Physiology, 26th Ed., p. 349

3. Regulation of Secretion (HPA Axis)

Cortisol secretion is controlled by the Hypothalamo-Pituitary-Adrenal (HPA) axis:
Hypothalamus (PVN)
     ↓  CRH (41-amino acid peptide)
Anterior Pituitary (Corticotrophs)
     ↓  ACTH (39-amino acid peptide)
Zona Fasciculata
     ↓  Cortisol
Negative Feedback (to both hypothalamus & pituitary)
  • CRH (Corticotropin-Releasing Hormone): secreted from the paraventricular nucleus of the hypothalamus; acts via GPCR → cAMP → PKA → Ca²⁺ → ACTH exocytosis
  • ACTH (Adrenocorticotropic Hormone): derived from the precursor POMC (pro-opiomelanocortin). ACTH binds adrenocortical cells → activates adenylyl cyclase → increases cortisol synthesis within minutes
  • Cortisol exerts negative feedback on both the hypothalamus (reduces CRH) and pituitary (reduces ACTH)
Circadian Rhythm: Cortisol secretion shows a clear diurnal pattern - highest in the early morning (6-8 AM, just before waking) and lowest around midnight. This is driven by the suprachiasmatic nucleus.
Stress: Any physical or psychological stress (surgery, hypoglycemia, infection, trauma, fear) triggers a rapid surge in ACTH → cortisol, overriding the negative feedback.
Medical Physiology, p. 1499; Ganong's, p. 348

4. Mechanism of Action

As steroid hormones, glucocorticoids act primarily via genomic mechanisms:
  1. Cortisol (lipid-soluble) diffuses freely across the cell membrane
  2. Binds to intracellular glucocorticoid receptors (GRs) - found in nearly every cell
  3. The hormone-receptor complex enters the nucleus
  4. Binds to Glucocorticoid Response Elements (GREs) on DNA
  5. Either activates or represses transcription of target genes
Non-genomic actions also occur (within 0-3 hours) and are not blocked by transcription inhibitors - important for rapid stress responses.

5. Functions of Glucocorticoids

A. Metabolic Effects

Carbohydrate Metabolism (Diabetogenic Effect):
  • Increases hepatic gluconeogenesis and glycogenesis - the liver makes more glucose
  • Increases glucose-6-phosphatase activity
  • Decreases peripheral glucose uptake (anti-insulin effect) - muscles and adipose take up less glucose
  • Net result: raises blood glucose (hence "glucocorticoid")
  • In diabetics, worsens hyperglycemia; in non-diabetics, increased insulin secretion compensates
  • During fasting, adrenal insufficiency causes severe hypoglycemia that can be fatal
Protein Metabolism:
  • Promotes protein catabolism in muscles, bone, skin, and lymphoid tissue
  • Mobilizes amino acids into circulation
  • These amino acids are taken up by the liver as substrates for gluconeogenesis
  • Net effect: negative nitrogen balance, muscle wasting in excess (seen in Cushing's syndrome)
Fat Metabolism:
  • Promotes lipolysis in peripheral fat depots - mobilizes free fatty acids (FFAs)
  • Has a permissive effect on catecholamine-induced lipolysis
  • In excess (Cushing's): characteristic central obesity, buffalo hump, moon facies - redistribution of fat from periphery to trunk

B. Anti-Inflammatory and Immunosuppressive Effects (Most Clinically Important)

Glucocorticoids are the most potent natural anti-inflammatory agents. Mechanisms include:
  1. Stabilize lysosomal membranes - prevent release of destructive lysosomal enzymes
  2. Inhibit phospholipase A₂ (via annexin/lipocortin) → reduced arachidonic acid release → reduced prostaglandins and leukotrienes
  3. Inhibit NF-κB - a master transcription factor for pro-inflammatory cytokines (IL-1, IL-2, IL-6, TNF-α) → reduced cytokine production
  4. Reduce lymphocyte proliferation by inhibiting IL-2 → lymphocytes undergo apoptosis
  5. Reduce capillary permeability - less edema and exudate at inflammation site
  6. Decrease migration of neutrophils and macrophages to sites of inflammation
Blood cell changes (with elevated cortisol):
Cell TypeEffect
NeutrophilsIncrease (demargination from vessel walls)
LymphocytesDecrease (sequestration + apoptosis)
EosinophilsDecrease significantly (sequestration in spleen/lungs)
BasophilsDecrease
Red blood cellsSlight increase
PlateletsIncrease
A classic clinical finding: eosinopenia + lymphopenia in patients on corticosteroids or with Cushing's syndrome.

C. Effects on Cardiovascular System (Permissive Actions)

Glucocorticoids must be present for catecholamines to exert their full effects on the vasculature. In adrenal insufficiency:
  • Vascular smooth muscle becomes unresponsive to norepinephrine and epinephrine
  • Capillaries dilate and become permeable
  • Vascular collapse and shock can occur despite normal catecholamine levels
Glucocorticoids restore vascular reactivity to catecholamines - this is a classic "permissive" action. This is why patients with Addison's disease are prone to circulatory shock during stress.

D. Effects on Water and Electrolyte Balance

  • Glucocorticoids (at high doses) have some mineralocorticoid activity - cause Na⁺ retention and K⁺ excretion (weaker than aldosterone)
  • They are required for normal water excretion - adrenal insufficiency → inability to excrete a water load → water intoxication
  • Mechanism: glucocorticoids raise GFR and suppress ADH (vasopressin) levels
  • Cortisol at physiological levels does not significantly retain salt due to renal inactivation by 11β-HSD

E. Effects on the CNS

  • Glucocorticoids affect mood, behavior, and cognition
  • In adrenal insufficiency: irritability, anxiety, inability to concentrate, slow EEG activity
  • In excess (Cushing's or steroid therapy): euphoria, mood swings, psychosis ("steroid psychosis")
  • They regulate sleep-wake cycles and contribute to feelings of well-being

F. Effects on Bone and Calcium Metabolism

  • Decrease intestinal Ca²⁺ absorption (antagonize Vitamin D)
  • Increase renal Ca²⁺ excretion
  • Promote bone resorption and reduce bone formation (inhibit osteoblasts)
  • Long-term glucocorticoid excess → osteoporosis (a major complication of chronic steroid therapy)

G. Effects on Other Tissues

  • Skeletal muscle: Large doses → muscle weakness and wasting (steroid myopathy)
  • Skin: Thinning, easy bruising, impaired wound healing (inhibit fibroblast proliferation)
  • Eye: Increased intraocular pressure (risk of glaucoma with prolonged use)
  • GI tract: Increased gastric acid and pepsin secretion (risk of peptic ulcers)
  • Lungs: Promote surfactant synthesis (important in fetal lung maturity) - betamethasone is given to mothers with premature labor

6. Resistance to Stress (Stress Response)

One of the most critical physiological roles of glucocorticoids is enabling survival during stress. When an animal is adrenalectomized and given only maintenance glucocorticoids, it dies when subjected to severe stress. The mechanisms include:
  • Maintaining vascular reactivity to catecholamines
  • Providing glucose to the brain and heart during a fight-or-flight emergency
  • Permissive action on catecholamine-induced FFA mobilization (emergency fuel)
  • Preventing other stress responses from becoming excessive (the "counterinflammatory brake")

7. Clinical Correlates (for MBBS context)

ConditionCauseKey Features
Cushing's SyndromeGlucocorticoid excessCentral obesity, moon face, buffalo hump, striae, hypertension, hyperglycemia, osteoporosis
Addison's DiseaseGlucocorticoid deficiencyHypoglycemia, hypotension, weakness, hyperpigmentation (↑ ACTH/MSH), inability to respond to stress
Congenital Adrenal Hyperplasia (CAH)Enzyme deficiency (usually 21-hydroxylase)Impaired cortisol synthesis → no feedback → excess ACTH → adrenal hyperplasia + androgen excess

8. Summary Table of Glucocorticoid Effects

SystemEffect
Carbohydrate↑ Blood glucose, ↑ gluconeogenesis, anti-insulin
Protein↑ Catabolism, ↑ amino acid mobilization
Fat↑ Lipolysis, ↑ FFA (with excess: fat redistribution)
ImmuneAnti-inflammatory, immunosuppressive
CVSPermissive for catecholamine action, ↑ BP
Water↑ GFR, ↓ ADH, enables water excretion
CNSMood, behavior, circadian regulation
Bone↑ Resorption, ↓ formation → osteoporosis
Blood↑ Neutrophils, RBCs; ↓ lymphocytes, eosinophils
StressEssential for survival under severe stress

Sources:
  • Ganong's Review of Medical Physiology, 26th Ed. - Chapters 19/24 (Glucocorticoid Binding, Feedback, Blood Cell Effects, Permissive Action)
  • Medical Physiology (Boron & Boulpaep) - Chapter 50 (The Adrenal Cortex: Cortisol)
  • Janeway's Immunobiology, 10th Ed. - Chapter 16 (Anti-inflammatory mechanisms of corticosteroids)

Tip for your seminar: Organize your talk in this order: Introduction (30 sec) → Source and synthesis (1 min) → HPA axis regulation (1 min) → Mechanism of action (30 sec) → Functions with emphasis on metabolic + anti-inflammatory effects (2.5-3 min) → Clinical relevance/Cushing's vs Addison's (1 min). That gives you a clean 6-7 minute talk.

Make PDF of this

Reading File
Running Command

ls /home/daytona/workspace/ 2>/dev/null || mkdir -p /home/daytona/workspace

Running Command

mkdir -p /home/daytona/workspace/glucocorticoid-seminar && python3 -c "import reportlab; print('reportlab ok')" && python3 -c "import requests; print('requests ok')"

Writing File

~/glucocorticoid-seminar/make_pdf.py

import requests
import os
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
    SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
    HRFlowable, Image, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
from io import BytesIO

OUTPUT = "/home/daytona/workspace/glucocorticoid-seminar/Glucocorticoids_Seminar.pdf"

# Download adrenal image
IMG_URL = "https://cdn.orris.care/cdss_images/8d85859e6b8de42c81b30c446cd3dc7fc709223700316f9579346f2e4ffd7a6c.png"
img_path = "/home/daytona/workspace/glucocorticoid-seminar/adrenal.png"
if not os.path.exists(img_path):
    r = requests.get(IMG_URL, timeout=20)
    with open(img_path, "wb") as f:
        f.write(r.content)
    print("Image downloaded")

# ----- Styles -----
styles = getSampleStyleSheet()

TEAL  = colors.HexColor("#1A6B72")
LTEAL = colors.HexColor("#E8F5F6")
GOLD  = colors.HexColor("#C8860A")
DGRAY = colors.HexColor("#2D2D2D")
MGRAY = colors.HexColor("#555555")
LGRAY = colors.HexColor("#F4F6F7")
WHITE = colors.white

title_style = ParagraphStyle("Title", parent=styles["Normal"],
    fontSize=22, textColor=WHITE, fontName="Helvetica-Bold",
    alignment=TA_CENTER, spaceAfter=4)

subtitle_style = ParagraphStyle("Subtitle", parent=styles["Normal"],
    fontSize=11, textColor=colors.HexColor("#D0EEF0"),
    fontName="Helvetica", alignment=TA_CENTER, spaceAfter=2)

h1_style = ParagraphStyle("H1", parent=styles["Normal"],
    fontSize=14, textColor=WHITE, fontName="Helvetica-Bold",
    alignment=TA_LEFT, spaceBefore=4, spaceAfter=4,
    leftIndent=6)

h2_style = ParagraphStyle("H2", parent=styles["Normal"],
    fontSize=11, textColor=TEAL, fontName="Helvetica-Bold",
    spaceBefore=10, spaceAfter=3)

h3_style = ParagraphStyle("H3", parent=styles["Normal"],
    fontSize=10, textColor=GOLD, fontName="Helvetica-Bold",
    spaceBefore=7, spaceAfter=2)

body_style = ParagraphStyle("Body", parent=styles["Normal"],
    fontSize=9.5, textColor=DGRAY, fontName="Helvetica",
    leading=14, spaceAfter=4, alignment=TA_JUSTIFY)

bullet_style = ParagraphStyle("Bullet", parent=styles["Normal"],
    fontSize=9.5, textColor=MGRAY, fontName="Helvetica",
    leading=14, leftIndent=14, bulletIndent=4, spaceAfter=2)

note_style = ParagraphStyle("Note", parent=styles["Normal"],
    fontSize=8.5, textColor=MGRAY, fontName="Helvetica-Oblique",
    leading=12, spaceAfter=4)

footer_style = ParagraphStyle("Footer", parent=styles["Normal"],
    fontSize=7.5, textColor=MGRAY, fontName="Helvetica",
    alignment=TA_CENTER)

def section_header(text, style=h1_style, bg=TEAL):
    data = [[Paragraph(text, style)]]
    t = Table(data, colWidths=[17*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND", (0,0), (-1,-1), bg),
        ("ROUNDEDCORNERS", [4]),
        ("TOPPADDING",    (0,0), (-1,-1), 6),
        ("BOTTOMPADDING", (0,0), (-1,-1), 6),
        ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ]))
    return t

def info_box(text, bg=LTEAL, border=TEAL):
    data = [[Paragraph(text, ParagraphStyle("IB", parent=body_style, textColor=colors.HexColor("#0D4A50")))]]
    t = Table(data, colWidths=[17*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",   (0,0), (-1,-1), bg),
        ("LEFTPADDING",  (0,0), (-1,-1), 10),
        ("RIGHTPADDING", (0,0), (-1,-1), 10),
        ("TOPPADDING",   (0,0), (-1,-1), 6),
        ("BOTTOMPADDING",(0,0), (-1,-1), 6),
        ("LINEAFTER",    (0,0), (0,-1), 3, border),
    ]))
    return t

def bullet(text):
    return Paragraph(f"•   {text}", bullet_style)

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

def hr():
    return HRFlowable(width="100%", thickness=0.5, color=colors.HexColor("#CCCCCC"), spaceAfter=4)

# ===== BUILD STORY =====
story = []

# ---- TITLE BLOCK ----
title_data = [[
    Paragraph("GLUCOCORTICOIDS", title_style),
    Paragraph("Structure, Synthesis & Functions", subtitle_style),
    Paragraph("MBBS First Year Physiology Seminar", subtitle_style),
]]
title_table = Table([[Paragraph("GLUCOCORTICOIDS", title_style)],
                     [Paragraph("Structure, Synthesis & Functions", subtitle_style)],
                     [Paragraph("MBBS First Year Physiology Seminar", subtitle_style)]],
                    colWidths=[17*cm])
title_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,-1), TEAL),
    ("TOPPADDING",    (0,0), (-1,-1), 14),
    ("BOTTOMPADDING", (0,0), (-1,-1), 14),
    ("LEFTPADDING",   (0,0), (-1,-1), 10),
    ("ROUNDEDCORNERS",[5]),
]))
story.append(title_table)
story.append(sp(12))

# ---- 1. INTRODUCTION ----
story.append(section_header("1. Introduction"))
story.append(sp(6))
story.append(Paragraph(
    "Glucocorticoids are <b>steroid hormones</b> produced by the <b>zona fasciculata</b> of the adrenal cortex. "
    "The primary glucocorticoid in humans is <b>cortisol</b> (hydrocortisone). Corticosterone is a minor "
    "glucocorticoid; in rodents it is the principal one. The adrenal gland sits atop each kidney; its cortex "
    "has three zones:",
    body_style))
story.append(sp(4))

zone_data = [
    [Paragraph("<b>Zone</b>", body_style), Paragraph("<b>Location</b>", body_style), Paragraph("<b>Hormone</b>", body_style)],
    ["Zona Glomerulosa", "Outer", "Mineralocorticoids (Aldosterone)"],
    ["Zona Fasciculata", "Middle (largest)", "Glucocorticoids (Cortisol) ✓"],
    ["Zona Reticularis", "Inner", "Androgens (DHEA, Androstenedione)"],
]
zone_table = Table(zone_data, colWidths=[5.5*cm, 4.5*cm, 7*cm])
zone_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#BBBBBB")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("BACKGROUND",    (0,2), (-1,2), colors.HexColor("#D6EFF1")),
    ("FONTNAME",      (0,2), (-1,2), "Helvetica-Bold"),
]))
story.append(zone_table)
story.append(sp(8))

# Adrenal image
try:
    img = Image(img_path, width=6.5*cm, height=8.5*cm)
    img_caption = Paragraph(
        "<i>Fig: Adrenal gland anatomy showing three cortical zones and their hormones</i><br/>"
        "<i>(Medical Physiology - Boron &amp; Boulpaep, p. 1496)</i>", note_style)
    img_data = [[img, img_caption]]
    img_table = Table(img_data, colWidths=[7*cm, 10*cm])
    img_table.setStyle(TableStyle([
        ("VALIGN", (0,0), (-1,-1), "MIDDLE"),
        ("LEFTPADDING", (0,0), (-1,-1), 0),
    ]))
    story.append(img_table)
except Exception as e:
    print(f"Image error: {e}")
story.append(sp(8))

# ---- 2. CHEMICAL NATURE & SYNTHESIS ----
story.append(section_header("2. Chemical Nature and Biosynthesis"))
story.append(sp(6))
story.append(Paragraph(
    "Glucocorticoids are <b>lipid-soluble steroid hormones</b> derived from <b>cholesterol</b>. "
    "Normal daily cortisol secretion is <b>15-25 mg/day</b>, surging up to 10x during severe stress.",
    body_style))
story.append(sp(4))

story.append(Paragraph("Key Biosynthetic Steps:", h3_style))
synth_steps = [
    ("Cholesterol", "→ Pregnenolone", "P450scc / CYP11A1", "Mitochondria"),
    ("Pregnenolone", "→ Progesterone", "3β-HSD", "SER"),
    ("Progesterone", "→ 17α-OH Progesterone", "CYP17 / 17α-hydroxylase", "SER"),
    ("17α-OH Progesterone", "→ 11-Deoxycortisol", "CYP21A2 / 21β-hydroxylase", "SER"),
    ("11-Deoxycortisol", "→ <b>CORTISOL</b>", "CYP11B1 / 11β-hydroxylase", "Mitochondria"),
]
synth_data = [[Paragraph("<b>From</b>", body_style), Paragraph("<b>To</b>", body_style),
               Paragraph("<b>Enzyme</b>", body_style), Paragraph("<b>Location</b>", body_style)]]
for row in synth_steps:
    synth_data.append([Paragraph(row[0], body_style), Paragraph(row[1], body_style),
                       Paragraph(row[2], body_style), Paragraph(row[3], body_style)])
synth_table = Table(synth_data, colWidths=[3.8*cm, 3.8*cm, 5.4*cm, 4*cm])
synth_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), GOLD),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 6),
    ("BACKGROUND",    (0,5), (-1,5), colors.HexColor("#FFF0CC")),
    ("FONTNAME",      (0,5), (-1,5), "Helvetica-Bold"),
]))
story.append(synth_table)
story.append(sp(4))
story.append(info_box(
    "<b>Key point:</b> Zona fasciculata has both 11β-hydroxylase AND 17α-hydroxylase → makes cortisol. "
    "Zona glomerulosa lacks 17α-hydroxylase → cannot make cortisol, only aldosterone."
))
story.append(sp(10))

# ---- 3. HPA AXIS ----
story.append(section_header("3. Regulation: The HPA Axis"))
story.append(sp(6))
story.append(Paragraph(
    "Cortisol secretion is controlled by the <b>Hypothalamo-Pituitary-Adrenal (HPA) Axis</b>:",
    body_style))
story.append(sp(4))

hpa_data = [
    [Paragraph("Hypothalamus (PVN)", ParagraphStyle("hpa", parent=body_style, alignment=TA_CENTER, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("Releases <b>CRH</b> (41-amino acid peptide). Triggers: circadian rhythm, stress, hypoglycemia, trauma.", body_style)],
    [Paragraph("↓", ParagraphStyle("arr", parent=body_style, alignment=TA_CENTER, fontSize=14, textColor=TEAL)), ""],
    [Paragraph("Anterior Pituitary", ParagraphStyle("hpa2", parent=body_style, alignment=TA_CENTER, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("Corticotrophs secrete <b>ACTH</b> (39-amino acid, from POMC precursor). Acts via cAMP → PKA → steroidogenesis.", body_style)],
    [Paragraph("↓", ParagraphStyle("arr", parent=body_style, alignment=TA_CENTER, fontSize=14, textColor=TEAL)), ""],
    [Paragraph("Zona Fasciculata", ParagraphStyle("hpa3", parent=body_style, alignment=TA_CENTER, textColor=WHITE, fontName="Helvetica-Bold")),
     Paragraph("Secretes <b>Cortisol</b>. Exerts <b>negative feedback</b> on both hypothalamus and anterior pituitary.", body_style)],
]
hpa_table = Table(hpa_data, colWidths=[4.5*cm, 12.5*cm])
hpa_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (0,0), TEAL),
    ("BACKGROUND",    (0,2), (0,2), colors.HexColor("#2980B9")),
    ("BACKGROUND",    (0,4), (0,4), colors.HexColor("#27AE60")),
    ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
    ("TOPPADDING",    (0,0), (-1,-1), 6),
    ("BOTTOMPADDING", (0,0), (-1,-1), 6),
    ("LEFTPADDING",   (0,0), (0,-1), 4),
    ("LEFTPADDING",   (1,0), (1,-1), 8),
    ("SPAN",          (1,1), (1,1)),
    ("SPAN",          (1,3), (1,3)),
]))
story.append(hpa_table)
story.append(sp(6))
story.append(bullet("<b>Circadian rhythm:</b> Cortisol peaks at 6-8 AM (just before waking), lowest at midnight"))
story.append(bullet("<b>Stress override:</b> Any physical/psychological stress overrides negative feedback → rapid cortisol surge"))
story.append(bullet("<b>AVP (vasopressin)</b> from PVN also acts as a potent ACTH secretagogue, especially during dehydration/trauma"))
story.append(sp(10))

# ---- 4. MECHANISM OF ACTION ----
story.append(section_header("4. Mechanism of Action"))
story.append(sp(6))
moa_steps = [
    "Cortisol (lipid-soluble) <b>diffuses freely</b> across cell membrane",
    "Binds intracellular <b>Glucocorticoid Receptors (GR)</b> - present in nearly every cell",
    "Hormone-receptor complex translocates to <b>nucleus</b>",
    "Binds <b>Glucocorticoid Response Elements (GREs)</b> on DNA",
    "Either <b>activates or represses</b> transcription of target genes (genomic action)",
    "<b>Non-genomic actions</b> also occur (0-3 hours) - rapid stress responses, not inhibited by transcription blockers",
]
for i, step in enumerate(moa_steps, 1):
    data = [[Paragraph(str(i), ParagraphStyle("num", parent=body_style, alignment=TA_CENTER, textColor=WHITE, fontName="Helvetica-Bold")),
             Paragraph(step, body_style)]]
    t = Table(data, colWidths=[1*cm, 16*cm])
    t.setStyle(TableStyle([
        ("BACKGROUND",    (0,0), (0,0), TEAL),
        ("VALIGN",        (0,0), (-1,-1), "MIDDLE"),
        ("TOPPADDING",    (0,0), (-1,-1), 4),
        ("BOTTOMPADDING", (0,0), (-1,-1), 4),
        ("LEFTPADDING",   (1,0), (1,0), 8),
        ("ROUNDEDCORNERS", [3]),
    ]))
    story.append(t)
    story.append(sp(3))
story.append(sp(8))

# ---- 5. FUNCTIONS ----
story.append(section_header("5. Functions of Glucocorticoids"))
story.append(sp(6))

# 5A Metabolic
story.append(Paragraph("A. Metabolic Effects", h2_style))
story.append(Paragraph("<b>Carbohydrate Metabolism (Diabetogenic):</b>", h3_style))
for b in [
    "Increases <b>hepatic gluconeogenesis</b> and glycogenesis (liver makes more glucose)",
    "Increases <b>glucose-6-phosphatase</b> activity",
    "Decreases peripheral glucose uptake (<b>anti-insulin effect</b>) in muscles and adipose",
    "Net result: <b>raises blood glucose</b>",
    "In adrenal insufficiency: fasting → fatal <b>hypoglycemia</b>",
]:
    story.append(bullet(b))
story.append(sp(4))

story.append(Paragraph("<b>Protein Metabolism:</b>", h3_style))
for b in [
    "Promotes <b>protein catabolism</b> in muscles, bone, skin, lymphoid tissue",
    "Mobilizes amino acids → liver → gluconeogenesis substrate",
    "Net: <b>negative nitrogen balance</b>, muscle wasting in excess (Cushing's syndrome)",
]:
    story.append(bullet(b))
story.append(sp(4))

story.append(Paragraph("<b>Fat Metabolism:</b>", h3_style))
for b in [
    "Promotes <b>lipolysis</b> in peripheral fat depots → mobilizes free fatty acids (FFAs)",
    "Permissive effect on catecholamine-induced lipolysis",
    "In excess: <b>fat redistribution</b> - central obesity, buffalo hump, moon facies",
]:
    story.append(bullet(b))
story.append(sp(8))

# 5B Anti-inflammatory
story.append(Paragraph("B. Anti-Inflammatory and Immunosuppressive Effects", h2_style))
story.append(info_box(
    "<b>Glucocorticoids are the most potent natural anti-inflammatory agents</b> and the most widely "
    "used anti-inflammatory drugs in clinical medicine."
))
story.append(sp(4))
story.append(Paragraph("Mechanisms of anti-inflammatory action:", body_style))
anti_data = [
    [Paragraph("<b>Mechanism</b>", body_style), Paragraph("<b>Effect</b>", body_style)],
    ["Stabilize lysosomal membranes", "Prevent release of destructive lysosomal enzymes"],
    ["Inhibit phospholipase A₂ (via lipocortin)", "↓ Arachidonic acid → ↓ Prostaglandins & Leukotrienes"],
    ["Inhibit NF-κB transcription factor", "↓ IL-1, IL-2, IL-6, TNF-α (pro-inflammatory cytokines)"],
    ["↓ IL-2 → lymphocyte apoptosis", "↓ Lymphocyte proliferation"],
    ["Reduce capillary permeability", "↓ Edema and exudate at inflammation site"],
    ["↓ Migration of neutrophils/macrophages", "Reduced cellular infiltration at inflammation site"],
]
anti_table = Table(anti_data, colWidths=[8.5*cm, 8.5*cm])
anti_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), colors.HexColor("#2980B9")),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
]))
story.append(anti_table)
story.append(sp(6))

story.append(Paragraph("Blood Cell Changes with Elevated Cortisol:", h3_style))
blood_data = [
    [Paragraph("<b>Cell Type</b>", body_style), Paragraph("<b>Effect</b>", body_style),
     Paragraph("<b>Normal (/µL)</b>", body_style), Paragraph("<b>Cortisol-treated (/µL)</b>", body_style)],
    ["Neutrophils (PMNs)", "↑ Increase (demargination)", "5760", "8330"],
    ["Lymphocytes", "↓ Decrease (apoptosis)", "2370", "1080"],
    ["Eosinophils", "↓↓ Marked decrease (sequestration)", "270", "20"],
    ["Basophils", "↓ Decrease", "60", "30"],
    ["Red Blood Cells", "↑ Slight increase", "5 million", "5.2 million"],
    ["Platelets", "↑ Increase", "-", "↑"],
]
blood_table = Table(blood_data, colWidths=[4.5*cm, 5.5*cm, 3.5*cm, 3.5*cm])
blood_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("BACKGROUND",    (0,3), (-1,3), colors.HexColor("#FFE8E8")),
]))
story.append(blood_table)
story.append(sp(4))
story.append(info_box(
    "<b>Classic exam point:</b> Eosinopenia + Lymphopenia is a hallmark of elevated cortisol "
    "(Cushing's syndrome or patients on corticosteroid therapy)."
))
story.append(sp(10))

# 5C Cardiovascular
story.append(Paragraph("C. Cardiovascular Effects (Permissive Action)", h2_style))
for b in [
    "Glucocorticoids must be present for <b>catecholamines</b> to exert full vasoconstrictor effects",
    "In adrenal insufficiency: vascular smooth muscle becomes <b>unresponsive to norepinephrine/epinephrine</b>",
    "Capillaries dilate → become permeable → <b>vascular collapse and shock</b>",
    "Glucocorticoids <b>restore vascular reactivity</b> - this is the 'permissive action'",
    "This explains why <b>Addison's disease</b> patients are prone to circulatory shock during stress",
]:
    story.append(bullet(b))
story.append(sp(8))

# 5D Water & Electrolytes
story.append(Paragraph("D. Effects on Water and Electrolyte Balance", h2_style))
for b in [
    "Required for normal <b>water excretion</b> - adrenal insufficiency → inability to excrete water load → water intoxication",
    "Mechanism: glucocorticoids raise <b>GFR</b> and suppress <b>ADH (vasopressin)</b> levels",
    "At high doses (pharmacologic): <b>mild mineralocorticoid activity</b> → Na⁺ retention, K⁺ excretion",
    "At physiological levels: minimal salt retention due to renal inactivation by 11β-HSD",
]:
    story.append(bullet(b))
story.append(sp(8))

# 5E CNS
story.append(Paragraph("E. Effects on the Central Nervous System", h2_style))
for b in [
    "Regulate <b>mood, behavior, and cognition</b>",
    "In deficiency (Addison's): irritability, anxiety, inability to concentrate, slow EEG",
    "In excess (Cushing's/steroid therapy): <b>euphoria, mood swings, steroid psychosis</b>",
    "Regulate <b>sleep-wake cycles</b> and contribute to feelings of well-being",
]:
    story.append(bullet(b))
story.append(sp(8))

# 5F Bone & Calcium
story.append(Paragraph("F. Effects on Bone and Calcium Metabolism", h2_style))
for b in [
    "Decrease <b>intestinal Ca²⁺ absorption</b> (antagonize Vitamin D)",
    "Increase <b>renal Ca²⁺ excretion</b>",
    "Promote <b>bone resorption</b> and reduce bone formation (inhibit osteoblasts)",
    "Long-term excess → <b>Osteoporosis</b> (major complication of chronic steroid therapy)",
]:
    story.append(bullet(b))
story.append(sp(8))

# 5G Other
story.append(Paragraph("G. Effects on Other Tissues", h2_style))
other_data = [
    [Paragraph("<b>Tissue</b>", body_style), Paragraph("<b>Effect</b>", body_style)],
    ["Skeletal Muscle", "Wasting and weakness at large doses (steroid myopathy)"],
    ["Skin", "Thinning, easy bruising, impaired wound healing (inhibit fibroblasts)"],
    ["Eye", "Increased intraocular pressure → risk of glaucoma"],
    ["GI Tract", "↑ Gastric acid and pepsin secretion → risk of peptic ulcers"],
    ["Lungs (Fetal)", "Promote surfactant synthesis → betamethasone used in premature labour"],
    ["Stress Response", "Essential for survival during severe stress (maintains vascular tone)"],
]
other_table = Table(other_data, colWidths=[5*cm, 12*cm])
other_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), GOLD),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
]))
story.append(other_table)
story.append(sp(10))

# ---- 6. CLINICAL CORRELATES ----
story.append(section_header("6. Clinical Correlates"))
story.append(sp(6))
story.append(Paragraph(
    "Understanding glucocorticoid excess and deficiency is essential for MBBS exams:",
    body_style))
story.append(sp(4))
clin_data = [
    [Paragraph("<b>Condition</b>", body_style), Paragraph("<b>Cause</b>", body_style), Paragraph("<b>Key Features</b>", body_style)],
    [Paragraph("<b>Cushing's Syndrome</b>", ParagraphStyle("cs", parent=body_style, textColor=colors.HexColor("#C0392B"))),
     "Glucocorticoid EXCESS\n(pituitary adenoma, adrenal tumor, exogenous steroids)",
     "Central obesity, moon face, buffalo hump, purple striae, hypertension, hyperglycemia, osteoporosis, eosinopenia"],
    [Paragraph("<b>Addison's Disease</b>", ParagraphStyle("ad", parent=body_style, textColor=colors.HexColor("#27AE60"))),
     "Primary adrenal insufficiency\n(autoimmune, TB, infarction)",
     "Hypoglycemia, hypotension, weakness, fatigue, hyperpigmentation (↑ACTH/MSH), inability to respond to stress → Addisonian crisis"],
    [Paragraph("<b>Congenital Adrenal Hyperplasia</b>", ParagraphStyle("cah", parent=body_style, textColor=colors.HexColor("#8E44AD"))),
     "Enzyme deficiency\n(usually 21-hydroxylase deficiency)",
     "Impaired cortisol synthesis → no negative feedback → excess ACTH → adrenal hyperplasia + androgen excess → virilization"],
]
clin_table = Table(clin_data, colWidths=[4*cm, 5.5*cm, 7.5*cm])
clin_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [colors.HexColor("#FFF5F5"), colors.HexColor("#F5FFF5"), colors.HexColor("#F9F5FF")]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 7),
    ("BOTTOMPADDING", (0,0), (-1,-1), 7),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("VALIGN",        (0,0), (-1,-1), "TOP"),
]))
story.append(clin_table)
story.append(sp(10))

# ---- 7. SUMMARY TABLE ----
story.append(section_header("7. Summary: Functions at a Glance"))
story.append(sp(6))
summary_data = [
    [Paragraph("<b>System</b>", body_style), Paragraph("<b>Effect of Glucocorticoids</b>", body_style)],
    ["Carbohydrate", "↑ Blood glucose, ↑ gluconeogenesis, anti-insulin action"],
    ["Protein", "↑ Catabolism, ↑ amino acid mobilization (negative N balance)"],
    ["Fat", "↑ Lipolysis, ↑ FFA; excess → central fat redistribution"],
    ["Immune / Inflammatory", "Anti-inflammatory, immunosuppressive (↓ cytokines, ↓ WBCs)"],
    ["Cardiovascular", "Permissive for catecholamine action, ↑ BP, maintains vascular tone"],
    ["Water Balance", "↑ GFR, ↓ ADH → enables water excretion"],
    ["CNS", "Mood, behavior, circadian regulation, well-being"],
    ["Bone / Calcium", "↑ Bone resorption, ↓ Ca²⁺ absorption → osteoporosis (excess)"],
    ["Blood Cells", "↑ Neutrophils, RBCs; ↓ Lymphocytes, Eosinophils, Basophils"],
    ["Stress Response", "ESSENTIAL for survival during severe stress"],
]
sum_table = Table(summary_data, colWidths=[5*cm, 12*cm])
sum_table.setStyle(TableStyle([
    ("BACKGROUND",    (0,0), (-1,0), TEAL),
    ("TEXTCOLOR",     (0,0), (-1,0), WHITE),
    ("FONTNAME",      (0,0), (-1,0), "Helvetica-Bold"),
    ("FONTSIZE",      (0,0), (-1,-1), 9),
    ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]),
    ("GRID",          (0,0), (-1,-1), 0.5, colors.HexColor("#CCCCCC")),
    ("TOPPADDING",    (0,0), (-1,-1), 5),
    ("BOTTOMPADDING", (0,0), (-1,-1), 5),
    ("LEFTPADDING",   (0,0), (-1,-1), 8),
    ("BACKGROUND",    (0,10), (-1,10), colors.HexColor("#D6EFF1")),
    ("FONTNAME",      (0,10), (-1,10), "Helvetica-Bold"),
]))
story.append(sum_table)
story.append(sp(10))

# ---- SOURCES ----
story.append(hr())
story.append(Paragraph("<b>References / Sources:</b>", h3_style))
story.append(bullet("Ganong's Review of Medical Physiology, 26th Ed. - Chapters 19 & 24 (Glucocorticoid Binding, HPA Axis, Permissive Action, Blood Cell Effects)"))
story.append(bullet("Medical Physiology (Boron & Boulpaep) - Chapter 50: The Adrenal Cortex: Cortisol"))
story.append(bullet("Janeway's Immunobiology, 10th Ed. - Chapter 16 (Anti-inflammatory mechanisms of corticosteroids)"))
story.append(sp(4))

# ---- PAGE NUMBERS via a canvas ----
def add_page_number(canvas, doc):
    canvas.saveState()
    canvas.setFont("Helvetica", 8)
    canvas.setFillColor(colors.HexColor("#888888"))
    page_num = canvas.getPageNumber()
    text = f"Glucocorticoids - MBBS First Year Physiology   |   Page {page_num}"
    canvas.drawCentredString(A4[0] / 2, 1.2*cm, text)
    canvas.restoreState()

# ---- BUILD PDF ----
doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    leftMargin=2*cm, rightMargin=2*cm,
    topMargin=2*cm, bottomMargin=2.5*cm,
    title="Glucocorticoids - MBBS Physiology Seminar",
    author="Orris Medical AI",
)
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
print(f"PDF created: {OUTPUT}")
Running Command

cd /home/daytona/workspace/glucocorticoid-seminar && python3 make_pdf.py 2>&1

Running Command

ls -lh /home/daytona/workspace/glucocorticoid-seminar/Glucocorticoids_Seminar.pdf

Your PDF is ready! Here's the download link:

Glucocorticoids Seminar

PDF Document · PDF

What's included in the PDF (768 KB, A4 format):
  • Colour-coded section headers with teal and gold highlights
  • Adrenal gland anatomy diagram (from Medical Physiology)
  • Biosynthesis pathway table (cholesterol → cortisol, with enzymes)
  • HPA axis flowchart (Hypothalamus → Pituitary → Adrenal → Feedback)
  • All 7 functions with bullet points and summary tables
  • Blood cell changes table (Normal vs. Cortisol-treated counts from Ganong's)
  • Anti-inflammatory mechanisms table
  • Clinical correlates: Cushing's, Addison's, and CAH
  • Full summary table for quick revision
  • Page numbers and references at the bottom
Good luck with your seminar!
This is a shared conversation. Sign in to Orris to start your own chat.