Can u create a diagram of brain tumors
A detailed medical diagram of brain tumors showing a cross-section of the human brain with labeled types of brain tumors in their typical anatomical locations. Include: Glioblastoma (GBM) in the cerebral hemisphere, Meningioma at the meninges/dura, Astrocytoma in the cerebral cortex, Medulloblastoma in the cerebellum, Pituitary adenoma at the pituitary gland, Ependymoma near the ventricles, Acoustic neuroma (Schwannoma) at the cranial nerve VIII, and Craniopharyngioma near the hypothalamus. Use color coding to distinguish primary vs secondary (metastatic) tumors, benign vs malignant. Include a legend/key. Clean, professional medical illustration style with clear labels and arrows.

Create a comparison table of tumor grades and prognosis
brain tumor WHO grade classification prognosis survival
| WHO Grade | Descriptors | Growth Rate | Key Histological Features |
|---|---|---|---|
| Grade 1 | Benign | Slow | Low cellularity, no mitoses, no necrosis |
| Grade 2 | Low-grade malignant | Slow-moderate | Mild atypia, rare mitoses, no necrosis |
| Grade 3 | Anaplastic (high-grade) | Moderate-fast | High mitoses, nuclear atypia, no necrosis |
| Grade 4 | Malignant (high-grade) | Fast | Necrosis + microvascular proliferation (required) |
| Tumor Type | WHO Grade | Benign/Malignant | Median Survival | 5-Year Survival | Key Prognostic Factors |
|---|---|---|---|---|---|
| Pilocytic Astrocytoma | Grade 1 | Benign | >10 years | ~90% | Complete resection curative; circumscribed, non-infiltrating |
| Diffuse Astrocytoma | Grade 2 | Low-grade malignant | ~8 years | ~50-70% | IDH mutation status (IDH-mutant = better prognosis) |
| Anaplastic Astrocytoma | Grade 3 | Malignant | 2-3 years | ~20-30% | IDH status, MGMT methylation, extent of resection |
| Glioblastoma (GBM) | Grade 4 | Highly malignant | ~12-15 months | ~5-10% | MGMT promoter methylation improves response to temozolomide |
| Oligodendroglioma (low-grade) | Grade 2 | Low-grade malignant | ~7 years | ~60-70% | 1p/19q co-deletion = better chemo response (PCV/temozolomide) |
| Oligodendroglioma (anaplastic) | Grade 3 | Malignant | ~2 years | ~30-40% | Better overall than astrocytoma at same grade |
| Meningioma | Grade 1 (80-85%) | Benign | Excellent (decades) | >80% | Surgical accessibility, size, location; low recurrence after resection |
| Atypical Meningioma | Grade 2 | Borderline | 5-15 years | ~50-70% | High mitotic index; higher recurrence risk |
| Anaplastic Meningioma | Grade 3 | Malignant | 1.5-3 years | ~<30% | BAP1 mutation, TERT promoter mutation = worse prognosis |
| Medulloblastoma | Grade 4 | Malignant | Variable | ~75% (treated) | Highly radiosensitive; WNT subtype >90% survival; ETMR <20% |
| Ependymoma | Grade 2-3 | Low-moderate malignant | Variable | ~50-75% | Infratentorial location; complete resection + radiation improves survival |
| Pituitary Adenoma | Grade 1 (non-WHO) | Benign | Excellent | >95% | Hormone-secreting vs. non-secreting; rarely malignant (pituitary carcinoma) |
| Craniopharyngioma | Grade 1 | Benign (locally aggressive) | Decades | ~85-90% | High recurrence rate; vision/endocrine damage common |
| Acoustic Neuroma (Schwannoma) | Grade 1 | Benign | Excellent | >95% | No malignant transformation; cranial nerve preservation key |
| CNS Lymphoma (Primary) | Grade 4-equivalent | Malignant | 2-4 years (with tx) | ~30-40% | Chemosensitive; methotrexate-based regimens; immunocompromised = worse |
| Brain Metastases | N/A (secondary) | Malignant | 4-12 months | <10% | Number of lesions, KPS score, primary tumor control (RPA class) |
| Marker | Found in | Prognostic Impact |
|---|---|---|
| IDH1/IDH2 mutation | Astrocytoma, Oligodendroglioma | Favorable - longer survival |
| MGMT methylation | GBM, Anaplastic gliomas | Predicts response to temozolomide |
| 1p/19q co-deletion | Oligodendroglioma | Favorable - better chemo response |
| WNT activation | Medulloblastoma | Excellent - >90% long-term survival |
| H3 K27M mutation | Diffuse Midline Glioma | Very poor - WHO Grade 4 by definition |
| TERT promoter mutation | GBM, Meningioma Grade 3 | Unfavorable |
| BAP1 mutation | Meningioma Grade 3 | Unfavorable |
| Treatment | Applies To | Survival Benefit |
|---|---|---|
| Gross total resection | Most tumors | Significantly improves all grades |
| Temozolomide (TMZ) | GBM, anaplastic glioma | +2-3 months median survival in GBM (RCT-proven) |
| Radiotherapy (FRT) | GBM, anaplastic, medulloblastoma | Standard of care; improves survival |
| PCV chemotherapy | Oligodendroglioma (1p/19q deleted) | Robust response, especially with co-deletion |
| SRS (Gamma Knife) | Meningioma, metastases | Non-invasive option for small/inaccessible tumors |
| Methotrexate-based | CNS Lymphoma | First-line; high response rates |
Note (2021 WHO Update): The latest WHO CNS5 classification integrates molecular biomarkers (IDH, 1p/19q, TERT, H3 K27M, etc.) alongside histology for grading. A morphologically "grade 2" tumor can be reclassified as grade 4 based on molecular features alone (e.g., IDH-wildtype diffuse astrocytoma with TERT mutation = GBM).
Generate a summary document on molecular biomarkers in brain tumor prognosis
molecular biomarkers brain tumor prognosis IDH MGMT
mkdir -p /home/daytona/workspace/brain-tumor-biomarkers && ls /home/daytona/workspace/brain-tumor-biomarkers/
~/brain-tumor-biomarkers/generate_pdf.py
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, PageBreak, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import BaseDocTemplate, Frame, PageTemplate
from reportlab.lib.colors import HexColor
OUTPUT = "/home/daytona/workspace/brain-tumor-biomarkers/Molecular_Biomarkers_Brain_Tumors.pdf"
# ── Color palette ──────────────────────────────────────────────────
NAVY = HexColor("#1a3a5c")
TEAL = HexColor("#1e7b8c")
LGREY = HexColor("#f0f4f8")
MGREY = HexColor("#d0dce8")
WHITE = colors.white
BLACK = colors.black
RED = HexColor("#c0392b")
GREEN = HexColor("#1d6a3a")
AMBER = HexColor("#b7770d")
def header_footer(canvas, doc):
canvas.saveState()
w, h = A4
# Header bar
canvas.setFillColor(NAVY)
canvas.rect(0, h - 1.2*cm, w, 1.2*cm, fill=1, stroke=0)
canvas.setFillColor(WHITE)
canvas.setFont("Helvetica-Bold", 9)
canvas.drawString(1.5*cm, h - 0.85*cm, "Molecular Biomarkers in Brain Tumor Prognosis")
canvas.drawRightString(w - 1.5*cm, h - 0.85*cm, "Medical Student Reference | June 2026")
# Footer
canvas.setFillColor(NAVY)
canvas.rect(0, 0, w, 0.8*cm, fill=1, stroke=0)
canvas.setFillColor(WHITE)
canvas.setFont("Helvetica", 8)
canvas.drawCentredString(w/2, 0.28*cm, f"Page {doc.page}")
canvas.restoreState()
doc = BaseDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2.2*cm, bottomMargin=1.5*cm,
title="Molecular Biomarkers in Brain Tumor Prognosis",
author="Orris Medical AI",
subject="Neuro-oncology Reference for Medical Students"
)
frame = Frame(doc.leftMargin, doc.bottomMargin,
doc.width, doc.height, id="main")
doc.addPageTemplates([PageTemplate(id="main", frames=frame,
onPage=header_footer)])
styles = getSampleStyleSheet()
# ── Custom styles ──────────────────────────────────────────────────
title_s = ParagraphStyle("title_s", parent=styles["Title"],
fontSize=22, textColor=NAVY, spaceAfter=4, leading=28,
alignment=TA_CENTER, fontName="Helvetica-Bold")
subtitle_s = ParagraphStyle("subtitle_s", parent=styles["Normal"],
fontSize=12, textColor=TEAL, spaceAfter=16, alignment=TA_CENTER,
fontName="Helvetica-Oblique")
h1 = ParagraphStyle("h1", parent=styles["Heading1"],
fontSize=14, textColor=WHITE, spaceAfter=4, spaceBefore=14,
fontName="Helvetica-Bold", leading=18,
backColor=NAVY, borderPad=6, leftIndent=-0.5*cm,
rightIndent=-0.5*cm)
h2 = ParagraphStyle("h2", parent=styles["Heading2"],
fontSize=11, textColor=NAVY, spaceAfter=4, spaceBefore=10,
fontName="Helvetica-Bold", leading=15)
body = ParagraphStyle("body", parent=styles["Normal"],
fontSize=9.5, leading=14, spaceAfter=6, alignment=TA_JUSTIFY,
fontName="Helvetica")
bullet = ParagraphStyle("bullet", parent=body,
leftIndent=14, bulletIndent=4, spaceAfter=4,
bulletText="\u2022")
caption = ParagraphStyle("caption", parent=styles["Normal"],
fontSize=8, textColor=HexColor("#555555"), alignment=TA_CENTER,
spaceAfter=8)
box_style = ParagraphStyle("box_style", parent=body,
backColor=LGREY, borderColor=TEAL, borderWidth=1,
borderPad=8, leftIndent=8, rightIndent=8)
key_label = ParagraphStyle("key_label", parent=body,
textColor=NAVY, fontName="Helvetica-Bold", fontSize=9)
ref_s = ParagraphStyle("ref_s", parent=styles["Normal"],
fontSize=8, leading=12, textColor=HexColor("#444444"),
spaceAfter=3)
story = []
# ══════════════════════════════════════════════════════════════════
# COVER / TITLE
# ══════════════════════════════════════════════════════════════════
story.append(Spacer(1, 1.5*cm))
story.append(Paragraph("Molecular Biomarkers in", title_s))
story.append(Paragraph("Brain Tumor Prognosis", title_s))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("A Reference Summary for Medical Students", subtitle_s))
story.append(HRFlowable(width="100%", thickness=2, color=TEAL, spaceAfter=12))
story.append(Paragraph(
"Based on the 2021 WHO Classification of CNS Tumors (WHO CNS5) and current evidence from "
"Harrison's Principles of Internal Medicine 22E, Bradley and Daroff's Neurology in Clinical "
"Practice, Robbins & Kumar Basic Pathology, and Schwartz's Principles of Surgery.",
caption))
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 1 – INTRODUCTION
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 1. Introduction", h1))
story.append(Spacer(1, 0.2*cm))
intro_text = (
"Brain tumors were historically classified by histology alone - appearance under the microscope. "
"The 2016 and 2021 WHO CNS Tumor Classification updates (WHO CNS4 and CNS5) introduced a "
"<b>molecular-integrated approach</b>, where specific DNA mutations, chromosomal alterations, "
"and epigenetic changes now define tumor entities. This shift has fundamentally changed how "
"prognosis is communicated and how treatments are selected."
)
story.append(Paragraph(intro_text, body))
story.append(Paragraph(
"For medical students, understanding these biomarkers is essential for neuro-oncology rotations, "
"clinical examinations, and understanding treatment rationale. This document covers the seven "
"most clinically significant molecular biomarkers in brain tumor prognosis.",
body))
# Key principle box
story.append(Spacer(1, 0.3*cm))
box_data = [[Paragraph(
"<b>Key Principle:</b> In the 2021 WHO classification, a tumor's molecular profile can "
"<i>override</i> its histological grade. For example, a morphologically grade 2 diffuse "
"astrocytoma that is IDH-wildtype with TERT mutation and chromosome 7 gain/10 loss is "
"reclassified as <b>Glioblastoma, WHO Grade 4</b>.",
body)]]
box_table = Table(box_data, colWidths=[16*cm])
box_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), HexColor("#e8f4f8")),
("BOX", (0,0), (-1,-1), 1.5, TEAL),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 8),
("BOTTOMPADDING", (0,0), (-1,-1), 8),
]))
story.append(box_table)
story.append(Spacer(1, 0.5*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 2 – BIOMARKER OVERVIEW TABLE
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 2. Overview of Key Biomarkers", h1))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"The table below summarises the seven most clinically tested biomarkers with their roles, "
"tumor associations, and prognostic impact.",
body))
story.append(Spacer(1, 0.3*cm))
overview_header = [
Paragraph("<b>Biomarker</b>", ParagraphStyle("th", parent=body, textColor=WHITE, fontName="Helvetica-Bold", fontSize=9)),
Paragraph("<b>Gene/Locus</b>", ParagraphStyle("th", parent=body, textColor=WHITE, fontName="Helvetica-Bold", fontSize=9)),
Paragraph("<b>Tumor Type</b>", ParagraphStyle("th", parent=body, textColor=WHITE, fontName="Helvetica-Bold", fontSize=9)),
Paragraph("<b>Prognostic Role</b>", ParagraphStyle("th", parent=body, textColor=WHITE, fontName="Helvetica-Bold", fontSize=9)),
Paragraph("<b>Impact</b>", ParagraphStyle("th", parent=body, textColor=WHITE, fontName="Helvetica-Bold", fontSize=9)),
]
good = ParagraphStyle("good", parent=body, textColor=GREEN, fontName="Helvetica-Bold", fontSize=9)
poor = ParagraphStyle("poor", parent=body, textColor=RED, fontName="Helvetica-Bold", fontSize=9)
mixed = ParagraphStyle("mixed", parent=body, textColor=AMBER, fontName="Helvetica-Bold", fontSize=9)
small = ParagraphStyle("small", parent=body, fontSize=8.5, leading=12)
overview_data = [overview_header,
[Paragraph("IDH1/IDH2 Mutation", small),
Paragraph("Chr 2q33", small),
Paragraph("Astrocytoma, Oligodendroglioma", small),
Paragraph("Defines lower-grade vs. GBM; longer OS", small),
Paragraph("FAVORABLE", good)],
[Paragraph("1p/19q Codeletion", small),
Paragraph("Chr 1p, 19q", small),
Paragraph("Oligodendroglioma", small),
Paragraph("Defines oligodendroglioma; better chemo response", small),
Paragraph("FAVORABLE", good)],
[Paragraph("MGMT Promoter Methylation", small),
Paragraph("Chr 10q26", small),
Paragraph("Glioblastoma, HGG", small),
Paragraph("Predicts response to temozolomide alkylation", small),
Paragraph("PREDICTIVE\n(favorable)", good)],
[Paragraph("TERT Promoter Mutation", small),
Paragraph("Chr 5p15.33", small),
Paragraph("GBM (IDH-wt), Oligodendroglioma", small),
Paragraph("In IDH-wt context = GBM-equivalent; poor prognosis", small),
Paragraph("UNFAVORABLE\n(IDH-wt)", poor)],
[Paragraph("H3 K27M Mutation", small),
Paragraph("H3F3A / HIST1H3B", small),
Paragraph("Diffuse Midline Glioma", small),
Paragraph("Defines DMG; WHO Grade 4 regardless of histology", small),
Paragraph("UNFAVORABLE", poor)],
[Paragraph("CDKN2A/B Deletion", small),
Paragraph("Chr 9p21", small),
Paragraph("Astrocytoma (IDH-mutant)", small),
Paragraph("Homozygous deletion = Grade 4 astrocytoma", small),
Paragraph("UNFAVORABLE", poor)],
[Paragraph("EGFR Amplification", small),
Paragraph("Chr 7p11.2", small),
Paragraph("Glioblastoma (IDH-wt)", small),
Paragraph("Present in 30-40% GBMs; target for therapy", small),
Paragraph("POOR / COMPLEX", mixed)],
[Paragraph("BRAF V600E Mutation", small),
Paragraph("Chr 7q34", small),
Paragraph("Pilocytic astrocytoma, LGG", small),
Paragraph("Common in pediatric LGG; targetable with inhibitors", small),
Paragraph("TARGETABLE", mixed)],
[Paragraph("WNT Activation", small),
Paragraph("CTNNB1 (Chr 3q22)", small),
Paragraph("Medulloblastoma", small),
Paragraph("Best prognosis subtype; >90% long-term survival", small),
Paragraph("FAVORABLE", good)],
]
col_w = [3.2*cm, 2.4*cm, 3.6*cm, 5.0*cm, 2.4*cm]
ov_table = Table(overview_data, colWidths=col_w, repeatRows=1)
ov_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("BOX", (0,0), (-1,-1), 1.2, NAVY),
]))
story.append(ov_table)
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 3 – DETAILED BIOMARKER PROFILES
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 3. Detailed Biomarker Profiles", h1))
story.append(Spacer(1, 0.2*cm))
# ── 3.1 IDH ──
story.append(Paragraph("3.1 IDH1/IDH2 Mutation", h2))
story.append(Paragraph(
"Mutations in <b>Isocitrate Dehydrogenase 1 and 2 (IDH1/IDH2)</b> are the most important "
"molecular alteration in adult diffuse gliomas. They occur in 70-90% of lower-grade astrocytomas "
"and in virtually 100% of oligodendrogliomas as currently defined. IDH mutations are <i>rare</i> "
"in primary glioblastoma (<5%).",
body))
story.append(Paragraph(
"<b>Mechanism:</b> Normal IDH converts isocitrate to alpha-ketoglutarate in the Krebs cycle. "
"The mutant IDH produces the oncometabolite <b>D-2-hydroxyglutarate (D-2-HG)</b>, which "
"disrupts the cellular epigenome, causing widespread CpG island hypermethylation "
"(the G-CIMP phenotype). This epigenetic reprogramming drives tumorigenesis.",
body))
idh_rows = [
[Paragraph("<b>Feature</b>", small), Paragraph("<b>IDH-Mutant</b>", small), Paragraph("<b>IDH-Wildtype</b>", small)],
[Paragraph("Incidence in glioma", small), Paragraph("~70-90% of LGG", small), Paragraph("~95% of GBM", small)],
[Paragraph("Age at presentation", small), Paragraph("Younger (20-40 yrs)", small), Paragraph("Older (55-65 yrs)", small)],
[Paragraph("Prognosis", small), Paragraph("Significantly better", small), Paragraph("Poor (~12-15 months)", small)],
[Paragraph("Median OS", small), Paragraph("~7-10 years (grade 2)", small), Paragraph("~15 months (GBM)", small)],
[Paragraph("Targeted therapy", small), Paragraph("Vorasidenib (IDH inhibitor)", small), Paragraph("None specific", small)],
[Paragraph("Detection method", small), Paragraph("IHC (IDH1 R132H), sequencing", small), Paragraph("Sequencing", small)],
]
idh_table = Table(idh_rows, colWidths=[5*cm, 5.5*cm, 5.5*cm], repeatRows=1)
idh_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1, TEAL),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
]))
story.append(Spacer(1, 0.2*cm))
story.append(idh_table)
story.append(Spacer(1, 0.5*cm))
# ── 3.2 1p/19q ──
story.append(Paragraph("3.2 1p/19q Codeletion", h2))
story.append(Paragraph(
"Co-deletion of chromosome arms 1p and 19q is the <b>defining molecular alteration of "
"oligodendroglioma</b>. It is found in virtually all oligodendrogliomas and almost always "
"co-occurs with IDH mutation. The likely tumor suppressors targeted are <b>CIC</b> on 19q "
"and <b>FUBP1</b> on 1p.",
body))
story.append(Paragraph(
"<b>Clinical Significance:</b> Tumors with 1p/19q codeletion show prolonged overall survival "
"compared to TP53/ATRX-mutant astrocytomas, and demonstrate robust response to PCV "
"(procarbazine, lomustine, vincristine) chemotherapy and temozolomide. This codeletion also "
"co-occurs with TERT promoter mutations in virtually all cases.",
body))
story.append(Paragraph(
"<b>Detection:</b> FISH (Fluorescence In Situ Hybridisation) is the standard method. "
"Oligodendrogliomas also show the characteristic 'fried egg' appearance histologically, "
"but molecular confirmation is required by current WHO CNS5 criteria.",
body))
story.append(Spacer(1, 0.4*cm))
# ── 3.3 MGMT ──
story.append(Paragraph("3.3 MGMT Promoter Methylation", h2))
story.append(Paragraph(
"<b>O6-methylguanine-DNA methyltransferase (MGMT)</b> is a DNA repair enzyme. Promoter "
"methylation silences the gene, preventing the tumor from repairing alkylation damage caused "
"by chemotherapy. It is both a <b>prognostic</b> and <b>predictive</b> biomarker.",
body))
mgmt_data = [
[Paragraph("<b>MGMT Status</b>", small), Paragraph("<b>Frequency in GBM</b>", small),
Paragraph("<b>Median OS with TMZ</b>", small), Paragraph("<b>Clinical Implication</b>", small)],
[Paragraph("Methylated (silenced)", small), Paragraph("~40-45%", small),
Paragraph("~21-23 months", small), Paragraph("Good response to temozolomide (TMZ)", small)],
[Paragraph("Unmethylated (active)", small), Paragraph("~55-60%", small),
Paragraph("~12-14 months", small), Paragraph("Poor TMZ response; explore alternatives", small)],
]
mgmt_table = Table(mgmt_data, colWidths=[4*cm, 3.5*cm, 4*cm, 5*cm], repeatRows=1)
mgmt_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1, TEAL),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
]))
story.append(mgmt_table)
story.append(Paragraph(
"Note: MGMT methylation testing is standard of care before initiating TMZ in GBM. "
"MSH6 loss-of-function mutations can cause acquired resistance to TMZ via a hypermutated phenotype.",
caption))
story.append(Spacer(1, 0.4*cm))
# ── 3.4 TERT ──
story.append(Paragraph("3.4 TERT Promoter Mutation", h2))
story.append(Paragraph(
"The <b>TERT</b> gene encodes the catalytic subunit of telomerase. Activating mutations in "
"its promoter region drive telomere maintenance and cellular immortality. TERT mutations appear "
"in two distinct clinical contexts with <i>opposite</i> prognostic meanings:",
body))
tert_rows = [
[Paragraph("<b>Context</b>", small), Paragraph("<b>Co-occurring markers</b>", small),
Paragraph("<b>Tumor Type</b>", small), Paragraph("<b>Prognosis</b>", small)],
[Paragraph("IDH-mutant + 1p/19q codeletion", small), Paragraph("TERT mutation present", small),
Paragraph("Oligodendroglioma", small), Paragraph("Favorable (longer OS)", small)],
[Paragraph("IDH-wildtype", small), Paragraph("TERT + chr7 gain + chr10 loss +/- EGFR", small),
Paragraph("GBM-equivalent (even if grade 2 histology)", small), Paragraph("Poor (treated as GBM)", small)],
]
tert_table = Table(tert_rows, colWidths=[3.8*cm, 4.5*cm, 4.5*cm, 3.7*cm], repeatRows=1)
tert_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1, TEAL),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 6),
]))
story.append(tert_table)
story.append(Spacer(1, 0.5*cm))
# ── 3.5 H3 K27M ──
story.append(Paragraph("3.5 H3 K27M Mutation (Histone H3)", h2))
story.append(Paragraph(
"Mutations in histone H3 genes (<b>H3F3A</b> or <b>HIST1H3B</b>) result in a lysine-to-methionine "
"substitution at position 27 (K27M). This mutation defines <b>Diffuse Midline Glioma (DMG)</b> "
"- predominantly a pediatric tumor occurring in the pons (DIPG), thalamus, and spinal cord.",
body))
story.append(Paragraph(
"<b>Mechanism:</b> The H3 K27M mutation inhibits PRC2 (Polycomb Repressive Complex 2), leading "
"to global reduction in H3K27 trimethylation (H3K27me3). This aberrant epigenetic state drives "
"aggressive tumor growth.",
body))
story.append(Paragraph(
"<b>WHO CNS5 ruling:</b> Any diffuse glioma in a midline location with H3 K27M mutation is "
"automatically classified as <b>WHO Grade 4</b>, regardless of histology. Prognosis is dismal, "
"with median survival of 9-15 months. No effective systemic therapy exists; ONC201 (a DRD2 "
"antagonist) shows early promise for H3 K27M DMG.",
body))
story.append(Paragraph(
"A second histone mutation, <b>H3 G34R/V</b>, defines Diffuse Hemispheric Glioma - a distinct "
"high-grade entity in adolescents/young adults with TP53 and ATRX co-mutations.",
body))
story.append(Spacer(1, 0.4*cm))
# ── 3.6 CDKN2A/B ──
story.append(Paragraph("3.6 CDKN2A/B Homozygous Deletion", h2))
story.append(Paragraph(
"<b>CDKN2A</b> (encoding p16/p14ARF) and <b>CDKN2B</b> (encoding p15) are tumor suppressor "
"genes on chromosome 9p21 that regulate the cell cycle via the CDK4/RB pathway. Their "
"<i>homozygous</i> deletion is a key upgrade criterion in the 2021 WHO classification.",
body))
story.append(Paragraph(
"<b>Clinical Significance:</b> In IDH-mutant astrocytoma, homozygous deletion of CDKN2A/B "
"confers <b>WHO Grade 4</b> status even if the histological features suggest grade 2 or 3. "
"This alteration is associated with a significantly shorter median survival (~15 months) "
"compared to IDH-mutant astrocytomas without this deletion. Detection is by FISH or "
"next-generation sequencing (NGS).",
body))
story.append(Spacer(1, 0.4*cm))
# ── 3.7 EGFR ──
story.append(Paragraph("3.7 EGFR Amplification and EGFRvIII Mutation", h2))
story.append(Paragraph(
"<b>Epidermal Growth Factor Receptor (EGFR)</b> amplification is found in 30-40% of primary "
"GBMs (IDH-wildtype), rising to ~70% in the small-cell histological variant. "
"A specific truncating mutation, <b>EGFRvIII</b> (deletion of exons 2-7), is constitutively "
"active and occurs in ~25-30% of GBMs with EGFR amplification.",
body))
story.append(Paragraph(
"<b>Pathway involvement:</b> EGFR amplification activates PI3K/AKT/mTOR, RAS/MAPK, and "
"STAT3 pathways. Although EGFR is an attractive therapeutic target, clinical trials with "
"EGFR tyrosine kinase inhibitors have been disappointing in GBM, possibly due to intra-tumor "
"heterogeneity and alternative pathway activation. EGFRvIII-targeted immunotherapy and "
"CAR-T cell approaches remain under investigation.",
body))
story.append(Spacer(1, 0.4*cm))
# ── 3.8 WNT/SHH Medulloblastoma ──
story.append(Paragraph("3.8 Molecular Subtypes of Medulloblastoma", h2))
story.append(Paragraph(
"Medulloblastoma is now classified into <b>four molecular subgroups</b> with dramatically "
"different prognoses - a prime example of molecular reclassification changing clinical care.",
body))
mb_rows = [
[Paragraph("<b>Subgroup</b>", small), Paragraph("<b>Key Alteration</b>", small),
Paragraph("<b>Age/Demographics</b>", small), Paragraph("<b>5-Year Survival</b>", small),
Paragraph("<b>Notes</b>", small)],
[Paragraph("WNT-activated", small), Paragraph("CTNNB1 mutation, Chr6 loss", small),
Paragraph("Children/adults", small), Paragraph(">90%", small),
Paragraph("Best prognosis; monosomy 6 nearly pathognomonic", small)],
[Paragraph("SHH-activated", small), Paragraph("PTCH1, SMO, SUFU mutations", small),
Paragraph("Infants & adults", small), Paragraph("~60-80%", small),
Paragraph("Vismodegib (SMO inhibitor) under study", small)],
[Paragraph("Group 3", small), Paragraph("MYC amplification", small),
Paragraph("Young children", small), Paragraph("~45-60%", small),
Paragraph("Worst non-WNT prognosis; frequent metastases", small)],
[Paragraph("Group 4", small), Paragraph("CDK6 amplification, MYCN", small),
Paragraph("Children (most common)", small), Paragraph("~65-75%", small),
Paragraph("Intermediate prognosis; least understood", small)],
]
mb_table = Table(mb_rows, colWidths=[3.0*cm, 3.5*cm, 3.0*cm, 2.5*cm, 4.5*cm], repeatRows=1)
mb_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1.2, NAVY),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
]))
story.append(mb_table)
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 4 – DIAGNOSTIC ALGORITHM
# ══════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(Paragraph(" 4. Diagnostic Algorithm: Adult Diffuse Glioma", h1))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"The 2021 WHO CNS5 classification follows a stepwise molecular workup for all adult diffuse "
"gliomas. The flowchart below summarises the key decision points.",
body))
story.append(Spacer(1, 0.4*cm))
algo_data = [
[Paragraph("<b>Step</b>", small), Paragraph("<b>Test</b>", small),
Paragraph("<b>Result</b>", small), Paragraph("<b>Classification</b>", small)],
[Paragraph("1", small), Paragraph("IDH1/IDH2 status\n(IHC + sequencing)", small),
Paragraph("IDH-mutant", small), Paragraph("Proceed to Step 2", small)],
[Paragraph("1", small), Paragraph("IDH1/IDH2 status", small),
Paragraph("IDH-wildtype\n+ TERT + chr7/10", small),
Paragraph("Glioblastoma, IDH-wildtype, Grade 4", small)],
[Paragraph("2", small), Paragraph("1p/19q codeletion\n(FISH)", small),
Paragraph("1p/19q codeleted", small),
Paragraph("Oligodendroglioma, IDH-mutant, 1p/19q-codeleted\n(Grade 2 or 3)", small)],
[Paragraph("2", small), Paragraph("1p/19q codeletion", small),
Paragraph("1p/19q intact\n(+ ATRX loss + TP53 mutation)", small),
Paragraph("Astrocytoma, IDH-mutant (Grade 2, 3, or 4)", small)],
[Paragraph("3", small), Paragraph("CDKN2A/B status\n(FISH/NGS)", small),
Paragraph("Homozygous deletion", small),
Paragraph("Astrocytoma, IDH-mutant, Grade 4\n(regardless of histology)", small)],
[Paragraph("4", small), Paragraph("MGMT methylation\n(pyrosequencing or MSP)", small),
Paragraph("All GBM / HGG cases", small),
Paragraph("Predictive: guides temozolomide use and counselling", small)],
]
algo_table = Table(algo_data, colWidths=[1.2*cm, 4.2*cm, 4.6*cm, 6.5*cm], repeatRows=1)
algo_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1.2, NAVY),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
]))
story.append(algo_table)
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 5 – THERAPEUTIC IMPLICATIONS
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 5. Therapeutic Implications", h1))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Molecular biomarkers are no longer just prognostic - several are now directly <b>predictive</b> "
"of treatment response or are targets for novel agents.",
body))
story.append(Spacer(1, 0.3*cm))
tx_data = [
[Paragraph("<b>Biomarker</b>", small), Paragraph("<b>Drug/Therapy</b>", small),
Paragraph("<b>Mechanism</b>", small), Paragraph("<b>Evidence</b>", small)],
[Paragraph("MGMT methylated GBM", small), Paragraph("Temozolomide (TMZ)", small),
Paragraph("Alkylating agent; silenced MGMT cannot repair DNA damage", small),
Paragraph("Stupp trial (NEJM 2005): +2.5 months OS; standard of care", small)],
[Paragraph("IDH1/IDH2 mutant LGG", small), Paragraph("Vorasidenib (Serabelisib)", small),
Paragraph("IDH1/2 inhibitor; reduces D-2-HG oncometabolite", small),
Paragraph("INDIGO trial 2023: improved PFS in grade 2 IDH-mutant glioma", small)],
[Paragraph("1p/19q codeleted OD", small), Paragraph("PCV chemotherapy / TMZ", small),
Paragraph("Alkylation; codeletion predicts robust chemo sensitivity", small),
Paragraph("RTOG 9402 / EORTC 26951: PCV + RT improved OS by ~14 years", small)],
[Paragraph("BRAF V600E (pediatric LGG)", small), Paragraph("Dabrafenib + Trametinib", small),
Paragraph("BRAF/MEK inhibitor combination", small),
Paragraph("FDA approved 2023 for pediatric BRAF V600E glioma", small)],
[Paragraph("H3 K27M DMG", small), Paragraph("ONC201 (dordaviprone)", small),
Paragraph("DRD2/DRD3 antagonist; induces integrated stress response", small),
Paragraph("FDA Breakthrough designation; Phase 2 data promising (2022-2023)", small)],
[Paragraph("SHH medulloblastoma", small), Paragraph("Vismodegib / Sonidegib", small),
Paragraph("Smoothened (SMO) inhibitor", small),
Paragraph("Active in relapsed SHH-MB; adult use; pediatric trials ongoing", small)],
]
tx_table = Table(tx_data, colWidths=[3.6*cm, 3.4*cm, 4.6*cm, 5.0*cm], repeatRows=1)
tx_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, LGREY]),
("GRID", (0,0), (-1,-1), 0.4, MGREY),
("BOX", (0,0), (-1,-1), 1.2, TEAL),
("VALIGN", (0,0), (-1,-1), "TOP"),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
]))
story.append(tx_table)
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 6 – LIQUID BIOPSY & EMERGING BIOMARKERS
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 6. Emerging Biomarkers & Liquid Biopsy", h1))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Beyond the established WHO-recognized markers, several emerging biomarkers are reshaping "
"neuro-oncology research and clinical practice:",
body))
emerging = [
("<b>Liquid biopsy (ctDNA):</b>",
"Circulating tumor DNA in blood or CSF can detect IDH mutations, MGMT methylation, "
"and copy number variations non-invasively. Particularly useful for monitoring recurrence "
"and treatment response without repeat biopsy."),
("<b>DNA methylation profiling:</b>",
"Genome-wide methylation arrays (e.g., Heidelberg Classifier) can classify CNS tumors "
"more precisely than histology alone. Now used in reference centres to resolve "
"diagnostically ambiguous cases."),
("<b>PTEN deletion / PI3K pathway:</b>",
"PTEN loss (chr 10q23) occurs in ~40% of GBMs, activating PI3K/AKT/mTOR. "
"Multiple clinical trials targeting this pathway are ongoing, though results remain mixed."),
("<b>ATRX mutations:</b>",
"Loss-of-function ATRX mutations co-occur with IDH mutation in astrocytomas (not oligodendrogliomas). "
"ATRX loss activates the Alternative Lengthening of Telomeres (ALT) pathway. "
"Detectable by IHC (loss of nuclear ATRX staining)."),
("<b>Multi-omics approaches:</b>",
"Integration of genomics, transcriptomics, proteomics, and metabolomics is increasingly "
"used in research to identify novel therapeutic targets and explain treatment resistance. "
"2026 reviews note metabolomic profiling in GBM as a frontier for biomarker discovery "
"(Costantini et al., J Exp Clin Cancer Res 2025)."),
]
for label, text in emerging:
row_data = [[Paragraph(f"{label} {text}", body)]]
row_table = Table(row_data, colWidths=[16*cm])
row_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), LGREY),
("LEFTPADDING", (0,0), (-1,-1), 10),
("RIGHTPADDING", (0,0), (-1,-1), 10),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING", (0,0), (-1,-1), 5),
("BOX", (0,0), (-1,-1), 0.5, MGREY),
]))
story.append(row_table)
story.append(Spacer(1, 0.18*cm))
story.append(Spacer(1, 0.5*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 7 – QUICK REFERENCE / EXAM MNEMONICS
# ══════════════════════════════════════════════════════════════════
story.append(Paragraph(" 7. Quick Reference for Exams", h1))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph("<b>HIGH-YIELD FACTS</b>", h2))
hyfacts = [
"IDH mutation = BETTER prognosis in diffuse gliomas. IDH-wildtype diffuse glioma = treat as GBM.",
"1p/19q codeletion = required for oligodendroglioma diagnosis (WHO CNS5). Never occurs in pure astrocytoma.",
"MGMT methylation = predicts response to temozolomide. Test in ALL GBM patients before starting chemotherapy.",
"H3 K27M = Diffuse Midline Glioma, always Grade 4. DIPG is the most common example. Very poor prognosis.",
"CDKN2A/B homozygous deletion in IDH-mutant astrocytoma = automatic Grade 4 upgrade.",
"WNT-subtype medulloblastoma = BEST prognosis (>90% 5-year survival). SHH = BRAF/SMO target.",
"TERT mutation ALONE (no IDH, no 1p/19q) in a grade 2-3 glioma = treat as GBM.",
"Vorasidenib (IDH inhibitor) was approved based on the INDIGO trial (2023) for grade 2 IDH-mutant glioma.",
"BRAF V600E in pediatric glioma is now a therapeutic target: dabrafenib + trametinib approved 2023.",
]
for i, fact in enumerate(hyfacts):
story.append(Paragraph(f"<b>{i+1}.</b> {fact}", bullet))
story.append(Spacer(1, 0.5*cm))
# Mnemonic box
mnemo_data = [[Paragraph(
"<b>Mnemonic: \"I MADE IT\" - Biomarkers That Change Grade</b><br/><br/>"
"<b>I</b>DH-wildtype in grade 2 diffuse glioma (if TERT+chr7+chr10) = Grade 4 (GBM)<br/>"
"<b>M</b>idline location + H3 K27M = Grade 4 (Diffuse Midline Glioma)<br/>"
"<b>A</b>strocytoma + CDKN2A/B homozygous deletion = Grade 4<br/>"
"<b>D</b>efined oligodendroglioma requires IDH + 1p/19q (not just histology)<br/>"
"<b>E</b>GFRvIII and EGFRamp = GBM signature, not a standalone upgrade marker<br/>"
"<b>I</b>DH mutation = favorable regardless of grade<br/>"
"<b>T</b>ERT + IDH + 1p/19q = oligodendroglioma (GOOD); TERT alone (IDH-wt) = GBM (BAD)",
body)]]
mnemo_table = Table(mnemo_data, colWidths=[16*cm])
mnemo_table.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), HexColor("#fffbea")),
("BOX", (0,0), (-1,-1), 1.5, AMBER),
("LEFTPADDING", (0,0), (-1,-1), 12),
("RIGHTPADDING", (0,0), (-1,-1), 12),
("TOPPADDING", (0,0), (-1,-1), 10),
("BOTTOMPADDING", (0,0), (-1,-1), 10),
]))
story.append(mnemo_table)
story.append(Spacer(1, 0.6*cm))
# ══════════════════════════════════════════════════════════════════
# SECTION 8 – REFERENCES
# ══════════════════════════════════════════════════════════════════
story.append(PageBreak())
story.append(Paragraph(" 8. References & Sources", h1))
story.append(Spacer(1, 0.2*cm))
refs = [
"Harrison's Principles of Internal Medicine, 22nd Edition (2025). McGraw-Hill Medical. Chapter 95: Neoplasms of the Central Nervous System.",
"Bradley and Daroff's Neurology in Clinical Practice. Chapter 72: Intracranial Tumors. Elsevier.",
"Robbins & Kumar Basic Pathology. Chapter: Central Nervous System Tumors. Elsevier.",
"Schwartz's Principles of Surgery, 11th Edition. Chapter 42: Neurosurgery. McGraw-Hill.",
"Louis DN et al. (2021). The 2021 WHO Classification of Tumors of the Central Nervous System. Neuro-Oncology 23(8):1231-1251.",
"van den Bent MJ, French PJ, Brat D. (2024). The biological significance of tumor grade, age, enhancement, and extent of resection in IDH-mutant gliomas. Neuro Oncol. PMID: 38912846.",
"Roda D et al. (2024). Principles in the Management of Glioblastoma. Genes (Basel). PMID: 38674436.",
"Alnahhas I. (2024). Molecular Testing in Gliomas: What is Necessary in Routine Clinical Practice? Curr Oncol Rep. PMID: 39361075.",
"Costantini S et al. (2025). Glioblastoma metabolomics: uncovering biomarkers for diagnosis, prognosis and targeted therapy. J Exp Clin Cancer Res. PMID: 40775789.",
"Hegi ME et al. (2005). MGMT gene silencing and benefit from temozolomide in glioblastoma. N Engl J Med. 352(10):997-1003.",
"Mellinghoff IK et al. (2023). Vorasidenib in IDH1- or IDH2-mutant low-grade glioma (INDIGO trial). N Engl J Med. 389:589-601.",
"Kieran MW et al. (2023). Dabrafenib + trametinib in pediatric BRAF V600E glioma. FDA approval evidence.",
]
for i, ref in enumerate(refs, 1):
story.append(Paragraph(f"[{i}] {ref}", ref_s))
story.append(Spacer(1, 0.8*cm))
story.append(HRFlowable(width="100%", thickness=1, color=MGREY))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Generated by Orris Medical AI | June 2026 | For educational purposes. Not a substitute for clinical guidance.",
caption))
doc.build(story)
print("PDF generated successfully:", OUTPUT)
cd /home/daytona/workspace/brain-tumor-biomarkers && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/brain-tumor-biomarkers/Molecular_Biomarkers_Brain_Tumors.pdf
Molecular Biomarkers Brain Tumors
PDF Document · PDF
Create a diagram of this page
A clean, professional medical study diagram/infographic titled "SCHWANNOMA, MPNST & Triton Tumor" organized as a structured reference chart with color-coded sections. Layout: TOP SECTION - SCHWANNOMA (blue header): - ORIGIN: Benign tumor from Schwann cells | Angio-centric pattern - SITE: All sites | Spinal cord → Dumb-bell shape (★Q) - SYNDROME: NF2 | Aka Bilateral Acoustic Schwannoma → Cranial Nerve 8 | Chromosome 22 involved - M/E (Microscopic): • Antony A (Hypercellular) - many cells • Antony B (Hypocellular) - blank/sparse • Verocay bodies: 2 rows of palisading nuclei + cytoplasm → found in Antony A Include a small illustrated inset showing Verocay bodies: two parallel rows of nuclei (oval shapes) with cytoplasm between them, labeled "Angiocentrc Pattern" and "Hooping Pattern" Include small histology sketch showing Antony A vs Antony B zones MIDDLE SECTION - MPNST (pink/red header): - Malignant Peripheral Nerve Sheath Tumor BOTTOM SECTION - Triton Tumor (green header): - MPNST + Rhabdomyoblast - NF1 (Q) - Note: 5K m/s Immunomarkers (Schwann cells marker) IMPORTANT INFORMATION box (yellow): - Palisading nuclei: In Brain → Schwannoma | In Dermatology → BCC - Pseudo Palisading → Glioblastoma Use clean sans-serif fonts, soft colored backgrounds per section (light blue for Schwannoma, light pink for MPNST, light green for Triton, light yellow for Important Info). Include small anatomical sketches of the Verocay body pattern (parallel rows of nuclei). Medical textbook illustration style, clear labels, arrows connecting related concepts.
