I want to do genetics tomorrow from robbins but due to time restrain have to finish within 4 hours. Please prepare a mind map and how to proceed, doing from robbins and marrow

Reading File
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Finding Sources
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Reading File
Running Command

mkdir -p /tmp/workspace/genetics-mindmap && ls /tmp/workspace/

Writing File

~/genetics-mindmap/create_mindmap.py

from pptx import Presentation
from pptx.util import Inches, Pt, Emu
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
from pptx.util import Inches, Pt
import math

prs = Presentation()
prs.slide_width = Inches(16)
prs.slide_height = Inches(9)

# ─── COLOR PALETTE ───────────────────────────────────────────────────────────
BG         = RGBColor(0x0D, 0x1B, 0x2A)   # deep navy
CENTER_BG  = RGBColor(0xFF, 0x6B, 0x35)   # orange
BRANCH1    = RGBColor(0x4E, 0xC9, 0xB0)   # teal
BRANCH2    = RGBColor(0xFF, 0xD1, 0x66)   # yellow
BRANCH3    = RGBColor(0x7E, 0xB8, 0xFF)   # blue
BRANCH4    = RGBColor(0xFF, 0x85, 0xA1)   # pink
BRANCH5    = RGBColor(0xB5, 0xEA, 0xD7)   # mint
BRANCH6    = RGBColor(0xE0, 0xBB, 0xFF)   # lavender
SUBBG      = RGBColor(0x1E, 0x2D, 0x40)   # dark card
WHITE      = RGBColor(0xFF, 0xFF, 0xFF)
DARK       = RGBColor(0x0D, 0x1B, 0x2A)

def add_rounded_box(slide, x, y, w, h, fill_color, text_lines, font_sizes, bold_flags,
                    text_color=WHITE, corner_radius=0.08):
    shape = slide.shapes.add_shape(
        1,  # MSO_SHAPE_TYPE.RECTANGLE -> use freeform instead? No, use 5 = rounded rect
        Inches(x), Inches(y), Inches(w), Inches(h)
    )
    # rounded corners via XML
    from pptx.oxml.ns import qn
    from lxml import etree
    sp = shape.element
    prstGeom = sp.find(qn('p:spPr')).find(qn('a:prstGeom'))
    if prstGeom is not None:
        prstGeom.set('prst', 'roundRect')
        avLst = prstGeom.find(qn('a:avLst'))
        if avLst is None:
            avLst = etree.SubElement(prstGeom, qn('a:avLst'))
        for gd in avLst.findall(qn('a:gd')):
            avLst.remove(gd)
        gd = etree.SubElement(avLst, qn('a:gd'))
        gd.set('name', 'adj')
        gd.set('fmla', 'val 30000')

    fill = shape.fill
    fill.solid()
    fill.fore_color.rgb = fill_color
    shape.line.color.rgb = fill_color

    tf = shape.text_frame
    tf.word_wrap = True
    tf.margin_top = Pt(2)
    tf.margin_bottom = Pt(2)
    tf.margin_left = Pt(4)
    tf.margin_right = Pt(4)

    for i, (line, fsize, bold) in enumerate(zip(text_lines, font_sizes, bold_flags)):
        if i == 0:
            p = tf.paragraphs[0]
        else:
            p = tf.add_paragraph()
        p.alignment = PP_ALIGN.CENTER
        run = p.add_run()
        run.text = line
        run.font.size = Pt(fsize)
        run.font.bold = bold
        run.font.color.rgb = text_color
    return shape


def add_connector(slide, x1, y1, x2, y2, color):
    from pptx.oxml.ns import qn
    from lxml import etree
    spTree = slide.shapes._spTree
    # use a simple line connector
    x1e, y1e = Inches(x1), Inches(y1)
    x2e, y2e = Inches(x2), Inches(y2)
    cx, cy = abs(x2e - x1e), abs(y2e - y1e)
    left = min(x1e, x2e)
    top = min(y1e, y2e)
    sp = slide.shapes.add_connector(1, x1e, y1e, x2e, y2e)
    sp.line.color.rgb = color
    sp.line.width = Pt(1.5)


# ─── SLIDE 1: MASTER MIND MAP ─────────────────────────────────────────────────
slide_layout = prs.slide_layouts[6]  # blank
slide = prs.slides.add_slide(slide_layout)

# Background
bg = slide.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg.fill.solid(); bg.fill.fore_color.rgb = BG; bg.line.color.rgb = BG

# Title bar
add_rounded_box(slide, 0.2, 0.1, 15.6, 0.65,
    CENTER_BG,
    ["GENETICS — Robbins Chapter 4 Mind Map", "Robbins Basic Pathology | 4-Hour Study"],
    [18, 10], [True, False])

# Center node
add_rounded_box(slide, 6.2, 3.8, 3.6, 1.2,
    CENTER_BG,
    ["GENETIC DISEASES", "(Ch. 4 Robbins)"],
    [16, 10], [True, False])

# Branch data: (label, color, x, y, sub-items)
branches = [
    {
        "label": "1. MUTATIONS\n& TYPES",
        "color": BRANCH1,
        "x": 0.3, "y": 1.0,
        "sub": [
            "Point mutation (missense/nonsense)",
            "Frameshift (ins/del)",
            "Trinucleotide repeats",
            "Copy number variants (CNV)",
        ]
    },
    {
        "label": "2. MENDELIAN\nDISORDERS",
        "color": BRANCH2,
        "x": 0.3, "y": 4.2,
        "sub": [
            "AD: Marfan, FH, HD, NF",
            "AR: CF, PKU, Sickle cell,\n  Tay-Sachs, Glycogen storage",
            "XR: Duchenne MD,\n  Hemophilia A&B, G6PD",
            "Pleiotropy & Genetic heterogeneity",
        ]
    },
    {
        "label": "3. STRUCT.\nPROTEIN DEFECTS",
        "color": BRANCH3,
        "x": 0.3, "y": 6.8,
        "sub": [
            "Marfan (FBN1 → fibrillin)",
            "EDS subtypes",
            "Osteogenesis imperfecta\n  (COL1A1/2)",
        ]
    },
    {
        "label": "4. ENZYME\nDEFECTS (AR)",
        "color": BRANCH4,
        "x": 11.8, "y": 1.0,
        "sub": [
            "PKU (PAH → ↓Phe → tyrosine def)",
            "Tay-Sachs (HexA → GM2)",
            "Gaucher (glucocerebrosidase)",
            "Glycogen storage (Type I–VI)",
            "Galactosemia",
        ]
    },
    {
        "label": "5. CYTOGENETIC\nDISORDERS",
        "color": BRANCH5,
        "x": 11.8, "y": 4.2,
        "sub": [
            "Trisomy 21 (Down) — 47,+21",
            "Trisomy 18 (Edwards)",
            "Trisomy 13 (Patau)",
            "Turner 45,X",
            "Klinefelter 47,XXY",
            "22q11.2 del (DiGeorge/VCF)",
        ]
    },
    {
        "label": "6. SPECIAL\nMECHANISMS",
        "color": BRANCH6,
        "x": 11.8, "y": 6.8,
        "sub": [
            "Trinucleotide: Fragile X,\n  HD, Myotonic dystrophy",
            "Imprinting: Prader-Willi\n  vs Angelman (Chr 15)",
            "Mitochondrial inheritance\n  (maternal) — Leber",
            "Epigenetics: DNA methylation,\n  histone modification",
        ]
    },
]

branch_colors_map = {b["label"]: b["color"] for b in branches}

# Center coords
cx, cy = 8.0, 4.4

for b in branches:
    bx = b["x"] + 1.9  # center of branch box (box width ~2.6)
    by = b["y"] + 0.4  # center of branch box (box height ~0.8)
    add_connector(slide, cx, cy, bx, by, b["color"])
    add_rounded_box(slide, b["x"], b["y"], 2.6, 0.8,
        b["color"],
        [b["label"]],
        [9], [True], text_color=DARK)

    # Sub items below/beside
    sub_start_y = b["y"] + 1.0
    for j, sub in enumerate(b["sub"]):
        sy = sub_start_y + j * 0.42
        if sy > 8.6:
            break
        sx = b["x"]
        box = slide.shapes.add_shape(1, Inches(sx), Inches(sy), Inches(2.6), Inches(0.38))
        box.fill.solid(); box.fill.fore_color.rgb = SUBBG
        box.line.color.rgb = b["color"]
        box.line.width = Pt(0.75)
        tf = box.text_frame; tf.word_wrap = True
        tf.margin_top = Pt(1); tf.margin_bottom = Pt(1)
        tf.margin_left = Pt(3); tf.margin_right = Pt(3)
        p = tf.paragraphs[0]; p.alignment = PP_ALIGN.LEFT
        run = p.add_run(); run.text = "• " + sub
        run.font.size = Pt(6.5); run.font.color.rgb = WHITE


# ─── SLIDE 2: MENDELIAN DISORDERS DEEP DIVE ──────────────────────────────────
slide2 = prs.slides.add_slide(slide_layout)
bg2 = slide2.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg2.fill.solid(); bg2.fill.fore_color.rgb = BG; bg2.line.color.rgb = BG

add_rounded_box(slide2, 0.2, 0.1, 15.6, 0.65,
    BRANCH2,
    ["MENDELIAN DISORDERS — Key High-Yield Diseases", "Robbins Ch.4 | Marrow High-Yield"],
    [18, 10], [True, False], text_color=DARK)

# Table headers
headers = ["DISEASE", "GENE / DEFECT", "MECHANISM", "KEY FEATURES", "USMLE CLUE"]
col_widths = [2.4, 2.8, 2.8, 4.0, 3.6]
col_x = [0.2]
for w in col_widths[:-1]:
    col_x.append(col_x[-1] + w + 0.05)

for i, (h, w, x) in enumerate(zip(headers, col_widths, col_x)):
    add_rounded_box(slide2, x, 0.9, w, 0.35, BRANCH2, [h], [9], [True], text_color=DARK)

rows = [
    ("Marfan Syndrome", "FBN1 (fibrillin-1)", "AD — struct. protein", "Tall, lens sublux, aortic dissection,\narachnodactyly", "FBN1 → ↓TGF-β signaling"),
    ("Familial Hyperchol.", "LDLR (LDL receptor)", "AD — receptor", "Xanthomas, premature CAD,\ntendon xanthomas", "LDLR loss → ↑LDL"),
    ("Huntington Disease", "HTT (CAG repeat >36)", "AD — toxic gain of function", "Chorea, dementia, age 30-40;\nanticipation", "Striatum degeneration"),
    ("Cystic Fibrosis", "CFTR (ΔF508 most common)", "AR — ion channel", "Thick mucus, chronic lung,\nsteatorrhea, infertility males", "↓Cl⁻ secretion in lungs"),
    ("PKU", "PAH (phenylalanine hydroxylase)", "AR — enzyme", "Intellectual disability if untreated;\nmousy odor, fair skin", "Screen at birth; low Phe diet"),
    ("Sickle Cell", "HBB (β-globin E6V)", "AR — struct protein", "Vaso-occlusion, hemolysis,\nsplenic sequestration, stroke", "HbS → polymerizes with deoxyHb"),
    ("Tay-Sachs", "HEXA (Hex A)", "AR — lysosomal", "Cherry-red macula, progressive\nneurodegeneration, Ashkenazi Jewish", "GM2 accumulation → neurons"),
    ("Duchenne MD", "DMD (dystrophin)", "X-linked recessive", "Progressive proximal weakness,\nGowers sign, calf pseudohypertrophy", "Frameshift → no dystrophin"),
    ("Fragile X", "FMR1 (CGG >200 repeats)", "X-linked; trinucleotide", "Intellectual disability, macroorchidism,\nlarge ears, long face; anticipation", "Premutation in mothers"),
]

for r_i, row in enumerate(rows):
    y = 1.35 + r_i * 0.82
    bg_c = SUBBG if r_i % 2 == 0 else RGBColor(0x16, 0x25, 0x38)
    for val, w, x in zip(row, col_widths, col_x):
        box = slide2.shapes.add_shape(1, Inches(x), Inches(y), Inches(w), Inches(0.75))
        box.fill.solid(); box.fill.fore_color.rgb = bg_c
        box.line.color.rgb = RGBColor(0x2A, 0x4A, 0x6A)
        box.line.width = Pt(0.5)
        tf = box.text_frame; tf.word_wrap = True
        tf.margin_top = Pt(2); tf.margin_bottom = Pt(2)
        tf.margin_left = Pt(3); tf.margin_right = Pt(3)
        p = tf.paragraphs[0]; p.alignment = PP_ALIGN.LEFT
        run = p.add_run(); run.text = val
        run.font.size = Pt(7); run.font.color.rgb = WHITE
        run.font.bold = (val in [r[0] for r in rows])  # bold disease names


# ─── SLIDE 3: CYTOGENETIC DISORDERS ──────────────────────────────────────────
slide3 = prs.slides.add_slide(slide_layout)
bg3 = slide3.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg3.fill.solid(); bg3.fill.fore_color.rgb = BG; bg3.line.color.rgb = BG

add_rounded_box(slide3, 0.2, 0.1, 15.6, 0.65,
    BRANCH5,
    ["CYTOGENETIC DISORDERS — Key Syndromes", "Numeric + Structural Abnormalities"],
    [18, 10], [True, False], text_color=DARK)

cyto_data = [
    {
        "title": "DOWN SYNDROME (Trisomy 21)",
        "color": BRANCH1,
        "details": [
            "Karyotype: 47, XX/XY +21",
            "Cause: Nondisjunction (95%), Robertsonian translocation (4%), Mosaicism (1%)",
            "Features: Flat facies, epicanthal folds, Brushfield spots, single palmar crease,",
            "  sandal-gap toe, hypotonia, intellectual disability",
            "Complications: ASD/VSD (40-50%), ALL/AML, early Alzheimer (APP gene on Chr 21),",
            "  Hirschsprung, duodenal atresia",
            "Risk: ↑ with maternal age (nondisjunction); translocation risk = NOT age-related",
        ]
    },
    {
        "title": "TURNER SYNDROME (45,X)",
        "color": BRANCH4,
        "details": [
            "Karyotype: 45,X (most common), mosaics 45,X/46,XX",
            "Cause: Paternal nondisjunction (lost paternal X in ~75%)",
            "Features: Short stature, webbed neck, shield chest, lymphedema at birth,",
            "  streak gonads, primary amenorrhea, coarctation of aorta",
            "Labs: ↑FSH, ↓estrogen, ↑LH",
            "Rx: GH for height; estrogen for secondary sex characters",
        ]
    },
    {
        "title": "KLINEFELTER SYNDROME (47,XXY)",
        "color": BRANCH3,
        "details": [
            "Karyotype: 47,XXY (most common); 15% mosaics (46XY/47XXY)",
            "Cause: Maternal or paternal nondisjunction (equal contribution)",
            "Features: Tall, elongated limbs, hypogonadism, gynecomastia,",
            "  small testes (<2 cm), ↓testosterone, ↑FSH",
            "Complications: Infertility (azoospermia), breast cancer risk ↑, cognitive difficulties",
            "Note: X inactivation (Lyon hypothesis) applies; one active X remains",
        ]
    },
    {
        "title": "22q11.2 DELETION (DiGeorge/VCF)",
        "color": BRANCH2,
        "details": [
            "Mechanism: Microdeletion of Chr 22q11.2 (CATCH-22 mnemonic)",
            "CATCH: Cardiac defects (conotruncal), Abnormal facies, Thymic aplasia,",
            "  Cleft palate, Hypocalcemia (parathyroid aplasia)",
            "Spectrum: DiGeorge (thymus/parathyroid) + Velocardiofacial syndrome (palate/cardiac)",
            "Immune: T-cell deficiency (thymic aplasia → no T-cell maturation)",
            "Dx: FISH or chromosomal microarray",
        ]
    },
]

box_w, box_h = 7.5, 3.5
positions = [(0.2, 0.9), (8.3, 0.9), (0.2, 4.6), (8.3, 4.6)]
for data, (bx, by) in zip(cyto_data, positions):
    # Header
    add_rounded_box(slide3, bx, by, box_w, 0.38, data["color"],
        [data["title"]], [10], [True], text_color=DARK)
    # Content box
    content_box = slide3.shapes.add_shape(1,
        Inches(bx), Inches(by + 0.4), Inches(box_w), Inches(box_h - 0.42))
    content_box.fill.solid(); content_box.fill.fore_color.rgb = SUBBG
    content_box.line.color.rgb = data["color"]; content_box.line.width = Pt(1)
    tf = content_box.text_frame; tf.word_wrap = True
    tf.margin_top = Pt(4); tf.margin_bottom = Pt(4)
    tf.margin_left = Pt(6); tf.margin_right = Pt(6)
    for k, det in enumerate(data["details"]):
        p = tf.paragraphs[0] if k == 0 else tf.add_paragraph()
        p.alignment = PP_ALIGN.LEFT
        run = p.add_run(); run.text = det
        run.font.size = Pt(7.5); run.font.color.rgb = WHITE


# ─── SLIDE 4: SPECIAL MECHANISMS (Trinucleotide, Imprinting, Mito) ───────────
slide4 = prs.slides.add_slide(slide_layout)
bg4 = slide4.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg4.fill.solid(); bg4.fill.fore_color.rgb = BG; bg4.line.color.rgb = BG

add_rounded_box(slide4, 0.2, 0.1, 15.6, 0.65,
    BRANCH6,
    ["SPECIAL GENETIC MECHANISMS", "Trinucleotide Repeats | Imprinting | Mitochondrial | Epigenetics"],
    [18, 10], [True, False], text_color=DARK)

# Trinucleotide box
add_rounded_box(slide4, 0.2, 0.9, 5.0, 0.4, BRANCH1, ["TRINUCLEOTIDE REPEAT DISORDERS"], [11], [True], text_color=DARK)
tri_box = slide4.shapes.add_shape(1, Inches(0.2), Inches(1.35), Inches(5.0), Inches(4.0))
tri_box.fill.solid(); tri_box.fill.fore_color.rgb = SUBBG
tri_box.line.color.rgb = BRANCH1; tri_box.line.width = Pt(1)
tf = tri_box.text_frame; tf.word_wrap = True
tf.margin_top = Pt(4); tf.margin_bottom = Pt(4); tf.margin_left = Pt(6); tf.margin_right = Pt(4)
tri_content = [
    "Disease        | Repeat | Location    | Inheritance",
    "─────────────────────────────────────────────────",
    "Fragile X (FXS)| CGG    | FMR1 5'UTR  | X-linked",
    "Huntington     | CAG    | HTT exon 1  | AD",
    "Myotonic Dyst. | CTG    | DMPK 3'UTR  | AD",
    "Friedreich Atx | GAA    | FXN intron  | AR",
    "SCA (type 1)   | CAG    | ATXN1       | AD",
    "",
    "KEY CONCEPT: ANTICIPATION — repeat expands each",
    "generation → earlier/worse disease",
    "",
    "Fragile X specifics:",
    "• Normal: 6-54 CGG repeats",
    "• Premutation: 55-200 (carrier males/females)",
    "• Full mutation: >200 → methylation → FMR1 silenced",
    "• Macroorchidism, intellectual disability, autism",
    "• Normal transmitting males (premutation carriers)",
    "• 20% carrier females affected",
]
for k, line in enumerate(tri_content):
    p = tf.paragraphs[0] if k == 0 else tf.add_paragraph()
    p.alignment = PP_ALIGN.LEFT
    run = p.add_run(); run.text = line
    run.font.size = Pt(7.2); run.font.color.rgb = WHITE
    if k == 0: run.font.bold = True

# Imprinting box
add_rounded_box(slide4, 5.5, 0.9, 5.0, 0.4, BRANCH2, ["GENOMIC IMPRINTING"], [11], [True], text_color=DARK)
imp_box = slide4.shapes.add_shape(1, Inches(5.5), Inches(1.35), Inches(5.0), Inches(4.0))
imp_box.fill.solid(); imp_box.fill.fore_color.rgb = SUBBG
imp_box.line.color.rgb = BRANCH2; imp_box.line.width = Pt(1)
tf2 = imp_box.text_frame; tf2.word_wrap = True
tf2.margin_top = Pt(4); tf2.margin_bottom = Pt(4); tf2.margin_left = Pt(6); tf2.margin_right = Pt(4)
imp_content = [
    "Concept: Differential silencing of maternal vs paternal",
    "allele via DNA methylation + histone modification",
    "",
    "CHROMOSOME 15q11-q13 DELETION:",
    "",
    "PRADER-WILLI SYNDROME:",
    "• Del of PATERNAL Chr 15 (or maternal UPD)",
    "• Features: Hypotonia at birth, obesity, short stature,",
    "  hypogonadism, intellectual disability, hyperphagia",
    "• Mnemonic: Paternal PWS = 'Fat, Floppy, Funny'",
    "",
    "ANGELMAN SYNDROME:",
    "• Del of MATERNAL Chr 15 (or paternal UPD)",
    "• Features: Intellectual disability, seizures,",
    "  ataxic gait, inappropriate laughter ('happy puppet')",
    "• UBE3A gene (ubiquitin ligase) — maternal allele lost",
    "",
    "Memory trick: Angelman = mAtErnal deletion",
    "Prader-Willi = PAtErnal deletion",
]
for k, line in enumerate(imp_content):
    p = tf2.paragraphs[0] if k == 0 else tf2.add_paragraph()
    p.alignment = PP_ALIGN.LEFT
    run = p.add_run(); run.text = line
    run.font.size = Pt(7.2); run.font.color.rgb = WHITE
    if k in [3, 5, 11]: run.font.bold = True

# Mitochondrial + Epigenetics box
add_rounded_box(slide4, 10.8, 0.9, 5.0, 0.4, BRANCH4, ["MITOCHONDRIAL + EPIGENETICS"], [11], [True], text_color=DARK)
mito_box = slide4.shapes.add_shape(1, Inches(10.8), Inches(1.35), Inches(5.0), Inches(4.0))
mito_box.fill.solid(); mito_box.fill.fore_color.rgb = SUBBG
mito_box.line.color.rgb = BRANCH4; mito_box.line.width = Pt(1)
tf3 = mito_box.text_frame; tf3.word_wrap = True
tf3.margin_top = Pt(4); tf3.margin_bottom = Pt(4); tf3.margin_left = Pt(6); tf3.margin_right = Pt(4)
mito_content = [
    "MITOCHONDRIAL INHERITANCE:",
    "• Exclusively MATERNAL transmission",
    "• Affects high-energy tissues: CNS, skeletal/cardiac",
    "  muscle, liver, kidney",
    "• Heteroplasmy: mix of mutant + normal mtDNA",
    "• Example: LEBER HEREDITARY OPTIC NEUROPATHY",
    "  (bilateral loss of central vision → blindness)",
    "• MELAS, MERRF syndromes",
    "",
    "EPIGENETICS:",
    "• DNA methylation: CpG islands → gene silencing",
    "  (adds methyl group to cytosine)",
    "• Histone acetylation → chromatin opening → active",
    "• Histone methylation → silencing (in most contexts)",
    "• XIST gene → X inactivation (Lyon hypothesis)",
    "• ~30% of Xp genes ESCAPE inactivation",
    "  → explains Turner syndrome features",
    "",
    "Clinical relevance: Epigenetic changes in cancer",
    "Promoter hypermethylation → tumor suppressor silencing",
]
for k, line in enumerate(mito_content):
    p = tf3.paragraphs[0] if k == 0 else tf3.add_paragraph()
    p.alignment = PP_ALIGN.LEFT
    run = p.add_run(); run.text = line
    run.font.size = Pt(7.2); run.font.color.rgb = WHITE
    if k in [0, 9]: run.font.bold = True

# Bottom strip: Molecular diagnosis methods
add_rounded_box(slide4, 0.2, 5.55, 15.6, 0.38,
    CENTER_BG,
    ["MOLECULAR DIAGNOSIS TOOLS: Karyotype | FISH | Chromosomal Microarray | PCR/Southern Blot | NGS/WES"],
    [9], [True])

# ─── SLIDE 5: 4-HOUR STUDY PLAN ──────────────────────────────────────────────
slide5 = prs.slides.add_slide(slide_layout)
bg5 = slide5.shapes.add_shape(1, 0, 0, prs.slide_width, prs.slide_height)
bg5.fill.solid(); bg5.fill.fore_color.rgb = BG; bg5.line.color.rgb = BG

add_rounded_box(slide5, 0.2, 0.1, 15.6, 0.65,
    CENTER_BG,
    ["4-HOUR GENETICS STUDY PLAN — Robbins + Marrow", "Exam-Focused | High-Yield Strategy"],
    [18, 10], [True, False])

plan = [
    {
        "time": "Hour 1\n(0:00-1:00)",
        "color": BRANCH1,
        "title": "FOUNDATIONS\n+ MUTATIONS",
        "robbins": "Robbins Ch.4 pp.84-92\nNature of genetic abnormalities\nMutation types (point, frameshift, CNV)\nMendelian inheritance patterns (Tables 4.1 & 4.2)\nKey vocabulary: hereditary vs congenital vs familial",
        "marrow": "Marrow: Genetics intro module\nPatterns of inheritance (AD/AR/XLR)\nMutation mnemonics\nQuick MCQ revision on basic genetics",
    },
    {
        "time": "Hour 2\n(1:00-2:00)",
        "color": BRANCH2,
        "title": "MENDELIAN\nDISORDERS",
        "robbins": "Robbins Ch.4 pp.92-109\nStructural proteins: Marfan, OI, EDS\nReceptor/channel defects: FH, CF\nEnzyme defects: PKU, Tay-Sachs, Gaucher,\n  Glycogen storage diseases (esp. Type I, II, V)\nNiemann-Pick, Mucopolysaccharidoses",
        "marrow": "Marrow: Each disease — focus on pathogenesis\nStorage diseases comparison table\nCF: CFTR mutations, sweat chloride test\nHigh-yield: Enzyme involved in each storage disease",
    },
    {
        "time": "Hour 3\n(2:00-3:00)",
        "color": BRANCH3,
        "title": "CYTOGENETIC\nDISORDERS",
        "robbins": "Robbins Ch.4 pp.110-122\nNumeric vs structural abnormalities\nNondisjunction mechanism\nDown syndrome (Trisomy 21)\nEdwards, Patau syndromes\nTurner, Klinefelter syndromes\n22q11.2 deletion (DiGeorge)",
        "marrow": "Marrow: Chromosome disorders\nKaryotype interpretation\nLyon hypothesis / X inactivation\nSex chromosome anomalies comparison\nMCQ practice on cytogenetics",
    },
    {
        "time": "Hour 4\n(3:00-4:00)",
        "color": BRANCH6,
        "title": "SPECIAL MECH.\n+ REVISION",
        "robbins": "Robbins Ch.4 pp.122-129\nTrinucleotide repeats (Fragile X, HD)\nGenomic imprinting (PWS vs Angelman)\nMitochondrial inheritance (Leber)\nEpigenetics, CRISPR overview\nMolecular diagnosis tools",
        "marrow": "Marrow: Anticipation, imprinting\nFragile X pedigree analysis\nFull Chapter 4 summary video\nPrevious year MCQ blitz (30-40 Qs)\nWeakness areas — targeted re-read",
    },
]

col_w_plan = [1.4, 1.4, 5.6, 5.6]
col_x_plan = [0.2, 1.65, 3.1, 8.75]
plan_headers = ["TIME", "TOPIC", "ROBBINS (READ)", "MARROW (REVISE)"]
for h, w, x in zip(plan_headers, col_w_plan, col_x_plan):
    add_rounded_box(slide5, x, 0.9, w, 0.35, CENTER_BG, [h], [9], [True])

for r_i, row in enumerate(plan):
    y = 1.32 + r_i * 1.82
    bg_c = SUBBG if r_i % 2 == 0 else RGBColor(0x16, 0x25, 0x38)

    # Time
    add_rounded_box(slide5, col_x_plan[0], y, col_w_plan[0], 1.72,
        row["color"], [row["time"]], [8], [True], text_color=DARK)
    # Topic
    add_rounded_box(slide5, col_x_plan[1], y, col_w_plan[1], 1.72,
        RGBColor(row["color"].red//2, row["color"].green//2, row["color"].blue//2),
        [row["title"]], [8], [True])
    # Robbins
    rbox = slide5.shapes.add_shape(1, Inches(col_x_plan[2]), Inches(y), Inches(col_w_plan[2]), Inches(1.72))
    rbox.fill.solid(); rbox.fill.fore_color.rgb = bg_c
    rbox.line.color.rgb = row["color"]; rbox.line.width = Pt(0.75)
    tf = rbox.text_frame; tf.word_wrap = True
    tf.margin_top = Pt(3); tf.margin_bottom = Pt(3); tf.margin_left = Pt(5); tf.margin_right = Pt(5)
    for k, line in enumerate(row["robbins"].split("\n")):
        p = tf.paragraphs[0] if k == 0 else tf.add_paragraph()
        run = p.add_run(); run.text = line
        run.font.size = Pt(7.2); run.font.color.rgb = WHITE
        run.font.bold = (k == 0)
    # Marrow
    mbox = slide5.shapes.add_shape(1, Inches(col_x_plan[3]), Inches(y), Inches(col_w_plan[3]), Inches(1.72))
    mbox.fill.solid(); mbox.fill.fore_color.rgb = bg_c
    mbox.line.color.rgb = row["color"]; mbox.line.width = Pt(0.75)
    tf2 = mbox.text_frame; tf2.word_wrap = True
    tf2.margin_top = Pt(3); tf2.margin_bottom = Pt(3); tf2.margin_left = Pt(5); tf2.margin_right = Pt(5)
    for k, line in enumerate(row["marrow"].split("\n")):
        p = tf2.paragraphs[0] if k == 0 else tf2.add_paragraph()
        run = p.add_run(); run.text = line
        run.font.size = Pt(7.2); run.font.color.rgb = WHITE
        run.font.bold = (k == 0)


out_path = "/tmp/workspace/genetics-mindmap/Genetics_Robbins_Mindmap.pptx"
prs.save(out_path)
print(f"Saved to {out_path}")
Running Command

cd /tmp/workspace/genetics-mindmap && python create_mindmap.py 2>&1

Editing File

~/genetics-mindmap/create_mindmap.py

Successfully replaced 1 instance(s) of the string in '/tmp/workspace/genetics-mindmap/create_mindmap.py'
Running Command

cd /tmp/workspace/genetics-mindmap && python create_mindmap.py 2>&1

Here is everything you need for tomorrow's genetics session.

Download Your Mind Map

Genetics Robbins Mindmap

Presentation · PPTX

5 slides inside:
  1. Master Mind Map (all 6 branches in one visual)
  2. Mendelian Disorders - High-Yield Table (gene, mechanism, features, USMLE clue)
  3. Cytogenetic Disorders (Down, Turner, Klinefelter, 22q11.2 - detailed boxes)
  4. Special Mechanisms (Trinucleotide repeats, Imprinting, Mitochondrial, Epigenetics)
  5. 4-Hour Study Plan (Robbins pages + Marrow tasks per hour)

GENETICS MIND MAP - Robbins Chapter 4

Central Theme

GENETIC DISEASES (Ch. 4 Robbins Basic Pathology, pp. 83-129)
│
├─ 1. MUTATIONS & TYPES
├─ 2. MENDELIAN DISORDERS (AD / AR / X-linked)
├─ 3. STRUCTURAL PROTEIN DEFECTS
├─ 4. ENZYME DEFECTS (AR)
├─ 5. CYTOGENETIC DISORDERS
└─ 6. SPECIAL MECHANISMS

BRANCH 1 - MUTATIONS & TYPES

TypeExample
Point - MissenseSickle cell (HBB E6V: Glu→Val)
Point - NonsensePremature stop codon → truncated protein
Frameshift (ins/del)Duchenne MD (dystrophin)
Trinucleotide repeatFragile X (CGG), HD (CAG), DM (CTG)
Copy number variant (CNV)22q11.2 deletion
Key rule: Germline mutations → inherited disease. Somatic mutations → cancer.

BRANCH 2 - MENDELIAN DISORDERS

Autosomal Dominant (AD)
  • Marfan syndrome - FBN1 (fibrillin-1) - tall, lens subluxation, aortic dissection
  • Familial Hypercholesterolemia - LDLR - xanthomas, premature CAD
  • Huntington Disease - HTT (CAG >36) - chorea, dementia, ages 30-40; anticipation
  • Neurofibromatosis 1/2
Autosomal Recessive (AR)
  • Cystic Fibrosis - CFTR (ΔF508 most common) - thick mucus, ↓Cl⁻ secretion
  • PKU - PAH deficiency - intellectual disability if untreated, mousy odor, fair skin
  • Sickle Cell - HBB E6V - HbS polymerizes when deoxygenated → vaso-occlusion
  • Tay-Sachs - Hex A deficiency - GM2 ganglioside accumulation, cherry-red macula
  • Gaucher - glucocerebrosidase - glucocerebroside accumulation; hepatosplenomegaly
  • Glycogen Storage diseases (Pompe = Type II - lysosomal α-glucosidase)
  • Thalassemias, Galactosemia, Mucopolysaccharidoses
X-linked Recessive
  • Duchenne MD - dystrophin absent (frameshift) - Gowers sign, calf pseudohypertrophy
  • Hemophilia A (Factor VIII), Hemophilia B (Factor IX)
  • G6PD deficiency
Important concepts:
  • Pleiotropy: one gene → multiple phenotypes (Marfan: skeleton + eyes + CVS)
  • Genetic heterogeneity: multiple genes → same phenotype (retinitis pigmentosa)
  • Modifier genes influence severity (e.g., CF lung disease severity)

BRANCH 3 - STRUCTURAL PROTEIN DISEASES

DiseaseGeneKey Feature
MarfanFBN1Aortic root dilation, lens sublux up+out
OICOL1A1/2Brittle bones, blue sclera, hearing loss
EDSCOL3A1, othersHyperextensible skin/joints

BRANCH 4 - ENZYME DEFECTS (STORAGE DISEASES)

Lysosomal storage diseases (AR)
  • Tay-Sachs: Hex A → GM2 ganglioside in neurons → cherry-red spot, no hepatosplenomegaly. Ashkenazi Jewish.
  • Niemann-Pick Type A/B: Sphingomyelinase → sphingomyelin accumulation → "foamy" histiocytes, cherry-red spot
  • Gaucher: Glucocerebrosidase → Gaucher cells (crumpled tissue paper appearance in bone marrow)
  • MPS (Hurler/Hunter): GAGs accumulation; Hurler = AR (α-L-iduronidase), Hunter = X-linked (iduronate sulfatase)
Glycogen Storage Diseases (GSD)
  • Type I (von Gierke) - G6Pase deficiency - liver/kidney - hypoglycemia, hepatomegaly
  • Type II (Pompe) - lysosomal α-glucosidase - heart + muscle - cardiomegaly
  • Type V (McArdle) - muscle phosphorylase - no rise in blood lactate with exercise

BRANCH 5 - CYTOGENETIC DISORDERS

Numeric Abnormalities (Aneuploidy - from nondisjunction)
SyndromeKaryotypeKey Features
Down47,+21 (95% nondisj)Flat facies, epicanthal folds, ASD/VSD, ALL risk, early Alzheimer (APP on Chr 21)
Edwards47,+18Rocker bottom feet, clenched hands, overlapping fingers
Patau47,+13Holoprosencephaly, cyclopia, polydactyly, cleft lip/palate
Turner45,XShort stature, webbed neck, coarctation of aorta, streak gonads, primary amenorrhea
Klinefelter47,XXYTall, hypogonadism, gynecomastia, ↑FSH, infertility
Structural Abnormalities
  • 22q11.2 deletion: CATCH-22 - Cardiac, Abnormal facies, Thymic aplasia, Cleft palate, Hypocalcemia
X inactivation (Lyon hypothesis)
  • One X inactivated by XIST gene (noncoding RNA) randomly in each cell at day 16 post-conception
  • ~30% of Xp genes escape inactivation → explains Turner syndrome features despite monosomy

BRANCH 6 - SPECIAL MECHANISMS

Trinucleotide Repeat Disorders + Anticipation
DiseaseRepeatNote
Fragile XCGG (FMR1)>200 = full mutation; methylation → gene silenced
HuntingtonCAG (HTT)Toxic poly-Q protein; striatum degeneration
Myotonic dystrophyCTG (DMPK)Myotonia, cataracts, cardiac conduction defects
Friedreich ataxiaGAA (FXN)AR; spinocerebellar degeneration
Fragile X pearls:
  • Normal transmitting males (premutation 55-200 CGG)
  • 20% carrier females affected
  • Macroorchidism, large ears, autism, intellectual disability
  • FMRP regulates mRNA translation at synapses
Genomic Imprinting (Chr 15q11-q13)
  • Prader-Willi = Paternal deletion (or maternal UPD): obesity, hypotonia, hypogonadism, short
  • Angelman = mAternal deletion (or paternal UPD): "happy puppet" - seizures, ataxia, inappropriate laughter
  • Mechanism: DNA methylation silences one allele during gametogenesis
Mitochondrial Inheritance
  • Exclusively maternal (ovum contains mitochondria, sperm does not)
  • Tissues most affected: CNS, skeletal + cardiac muscle, liver, kidney
  • Prototype: Leber Hereditary Optic Neuropathy (bilateral central vision loss)
  • Heteroplasmy explains variable expressivity
Epigenetics
  • DNA methylation (CpG islands) → silencing
  • Histone acetylation → gene activation; deacetylation → silencing
  • Clinical relevance: Tumor suppressor gene silencing in cancer via promoter methylation

4-HOUR STUDY PLAN

Hour 1 (0:00 - 1:00) - Foundations & Mutations

Robbins (pp. 83-92):
  • Read "Nature of Genetic Abnormalities" - point mutations, frameshift, CNV, trinucleotide repeats
  • Understand Tables 4.1 and 4.2 (prevalence of mendelian disorders, inheritance patterns)
  • Clarify terms: hereditary vs familial vs congenital
Marrow:
  • Genetics intro lecture/module
  • Patterns of inheritance (AD/AR/XLR) - mnemonics
  • Quick MCQ set on basic genetics concepts (~15 Qs)

Hour 2 (1:00 - 2:00) - Mendelian Disorders (THE BULK)

Robbins (pp. 92-109):
  • Structural proteins: Marfan (FBN1), OI, EDS
  • Receptor/channel: Familial Hypercholesterolemia (LDLR), Cystic Fibrosis (CFTR)
  • Enzyme defects: PKU, Tay-Sachs, Gaucher, Glycogen storage diseases, Niemann-Pick
  • Note pathogenesis of each, not just features
Marrow:
  • Storage diseases comparison table (enzyme, substrate, organ involved)
  • CF sweat chloride test, CFTR mechanism
  • Glycogen storage disease types (I/II/V are high yield)
  • 20-25 targeted MCQs on mendelian disorders

Hour 3 (2:00 - 3:00) - Cytogenetic Disorders

Robbins (pp. 110-122):
  • Numeric abnormalities - nondisjunction mechanism
  • Down syndrome - three types (nondisjunction/translocation/mosaic), features, complications
  • Edwards, Patau (brief)
  • Turner syndrome features + Lyon hypothesis
  • Klinefelter syndrome
  • 22q11.2 deletion - DiGeorge/Velocardiofacial spectrum
Marrow:
  • Karyotype interpretation practice
  • Sex chromosome comparison table
  • MCQ practice (15-20 Qs) - cytogenetics is very MCQ-heavy

Hour 4 (3:00 - 4:00) - Special Mechanisms + Full Revision

Robbins (pp. 122-129):
  • Trinucleotide repeats - Fragile X (understand pedigree in Fig. 4.21), HD
  • Genomic imprinting - Prader-Willi vs Angelman (understand UPD concept too)
  • Mitochondrial inheritance - Leber optic neuropathy
  • Epigenetics - DNA methylation, XIST, histone modifications
  • Molecular diagnosis tools (FISH, chromosomal microarray, PCR, NGS)
Marrow:
  • Anticipation + imprinting quick notes
  • Fragile X pedigree analysis
  • Watch Marrow genetics summary video (1.5x speed)
  • Final MCQ blitz: 30-40 previous year MCQs
  • Mark weak topics and do a 10-minute targeted re-read

HIGH-YIELD MNEMONICS

  • CATCH-22: Cardiac, Abnormal facies, Thymic aplasia, Cleft palate, Hypocalcemia (22q11.2 deletion)
  • Prader-Willi = PAternal (P for Papa's chromosome deleted)
  • Angelman = mAternal (A for mama's chromosome deleted)
  • Fragile X: eXtra X makes males fragile → but premutation in carriers
  • Down syndrome complications: ALL > AML (leukemia), VSD/ASD (cardiac), Alzheimer (APP gene on chr 21 → ↑amyloid), duodenal atresia (double bubble on X-ray), Hirschsprung
  • Turner: TOC - Tall is wrong (Short stature), Ovary absent (streak gonads), Coarctation of aorta
  • Klinefelter: XXY = eXtra X = not so manly (↓T, ↑FSH/LH, gynecomastia, infertility)
  • Pompe pumps glycogen out of lysosomes (lysosomal α-glucosidase deficiency → cardiac/muscle)
  • Tay-Sachs: No hepatosplenomegaly (unlike Niemann-Pick). Cherry-red macula. Ashkenazi.

ROBBINS PAGES AT A GLANCE

TopicPages (Basic Pathology 10th ed.)
Definitions (hereditary/congenital/familial)p. 107
Mutation typespp. 84-88
Mendelian disorder overviewpp. 84, 107-108 (Tables 4.1, 4.2)
Structural protein diseasespp. 92-95
Receptor/channel defects (FH, CF)pp. 95-103
Enzyme defects / Storage diseasespp. 103-109
Cytogenetic disorderspp. 110-122
Trinucleotide repeats / Fragile Xpp. 122-127
Imprinting / PWS / Angelmanpp. 127-128
Mitochondrial / Epigeneticspp. 128-129
Molecular diagnosispp. 123-129
Good luck tomorrow - start with Hour 2 (Mendelian) if you're pressed for time, as it carries the most MCQ weight.
This is a shared conversation. Sign in to Orris to start your own chat.