attachment
attachment

Give me a detailed explanation pdf of this microbiology question

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

mkdir -p /tmp/workspace/gi-infections-pdf && ls /tmp/workspace/gi-infections-pdf/

You wasted my time

Running Command

mkdir -p /tmp/workspace/gi-infections-pdf && cat > /tmp/workspace/gi-infections-pdf/generate.py << 'PYEOF' from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.colors import HexColor, black, white from reportlab.lib.units import cm, mm from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, HRFlowable from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import KeepTogether doc = SimpleDocTemplate( "/tmp/workspace/gi-infections-pdf/GI_Infections_Microbiology.pdf", pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2*cm, bottomMargin=2*cm ) W, H = A4 # Colors DARK_BLUE = HexColor("#1a3c5e") MID_BLUE = HexColor("#2e6da4") LIGHT_BLUE= HexColor("#dce8f5") ACCENT = HexColor("#e8501a") TABLE_HDR = HexColor("#2e6da4") TABLE_ALT = HexColor("#f0f6fc") GREEN = HexColor("#1a6b3c") LIGHT_GREEN = HexColor("#d4edda") ORANGE = HexColor("#d97706") styles = getSampleStyleSheet() title_style = ParagraphStyle("Title", parent=styles["Normal"], fontSize=22, fontName="Helvetica-Bold", textColor=white, alignment=TA_CENTER, spaceAfter=4) sub_title_style = ParagraphStyle("SubTitle", parent=styles["Normal"], fontSize=13, fontName="Helvetica", textColor=white, alignment=TA_CENTER, spaceAfter=2) h1 = ParagraphStyle("H1", parent=styles["Normal"], fontSize=15, fontName="Helvetica-Bold", textColor=white, backColor=DARK_BLUE, spaceBefore=14, spaceAfter=6, leftIndent=-10, rightIndent=-10, borderPad=6) h2 = ParagraphStyle("H2", parent=styles["Normal"], fontSize=12, fontName="Helvetica-Bold", textColor=DARK_BLUE, spaceBefore=10, spaceAfter=4, borderColor=MID_BLUE, borderWidth=0, leftIndent=0) h3 = ParagraphStyle("H3", parent=styles["Normal"], fontSize=10.5, fontName="Helvetica-Bold", textColor=MID_BLUE, spaceBefore=6, spaceAfter=2) body = ParagraphStyle("Body", parent=styles["Normal"], fontSize=9.5, fontName="Helvetica", textColor=black, spaceBefore=2, spaceAfter=3, leading=14, alignment=TA_JUSTIFY) bullet_style = ParagraphStyle("Bullet", parent=styles["Normal"], fontSize=9.5, fontName="Helvetica", textColor=black, spaceBefore=1, spaceAfter=1, leading=13, leftIndent=12, bulletIndent=0) note_style = ParagraphStyle("Note", parent=styles["Normal"], fontSize=9, fontName="Helvetica-Oblique", textColor=HexColor("#555555"), spaceBefore=2, spaceAfter=2, leading=12, leftIndent=8, backColor=LIGHT_BLUE, borderPad=4) def section(title): return [Spacer(1, 4*mm), Paragraph(f"&nbsp;&nbsp;{title}", h1), Spacer(1, 2*mm)] def subsection(title): return [Paragraph(title, h2), HRFlowable(width="100%", thickness=1, color=MID_BLUE, spaceAfter=2)] def sub3(title): return [Paragraph(title, h3)] def p(text): return Paragraph(text, body) def b(text): return Paragraph(f"• {text}", bullet_style) def note(text): return Paragraph(f"<i>Note: {text}</i>", note_style) def spacer(n=4): return Spacer(1, n*mm) def make_table(data, col_widths=None, hdr=True): t = Table(data, colWidths=col_widths, repeatRows=1 if hdr else 0) style = [ ('BACKGROUND', (0,0), (-1,0), TABLE_HDR), ('TEXTCOLOR', (0,0), (-1,0), white), ('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'), ('FONTSIZE', (0,0), (-1,-1), 9), ('ROWBACKGROUNDS', (0,1), (-1,-1), [white, TABLE_ALT]), ('GRID', (0,0), (-1,-1), 0.4, HexColor("#aaaaaa")), ('VALIGN', (0,0), (-1,-1), 'TOP'), ('LEADING', (0,0), (-1,-1), 12), ('PADDING', (0,0), (-1,-1), 4), ] t.setStyle(TableStyle(style)) return t story = [] # ============================================================ # COVER PAGE # ============================================================ story.append(Spacer(1, 2*cm)) cover_data = [[Paragraph("GASTROINTESTINAL INFECTIONS", title_style)], [Paragraph("Detailed Microbiology Study Notes", sub_title_style)], [Paragraph("Lab Diagnosis · Life Cycles · Pathogenicity · Comparisons", sub_title_style)]] cover_table = Table(cover_data, colWidths=[16*cm]) cover_table.setStyle(TableStyle([ ('BACKGROUND', (0,0), (-1,-1), DARK_BLUE), ('ROUNDEDCORNERS', [8]), ('PADDING', (0,0), (-1,-1), 12), ])) story.append(cover_table) story.append(spacer(8)) story.append(p("<b>Topics covered:</b> Lab diagnosis of Cholera · Classical vs El Tor Cholera · Bacillary Dysentery · Botulism · Rotavirus · Amoebic vs Bacillary Dysentery · <i>Entamoeba histolytica</i> · Intestinal & Extra-intestinal Amoebiasis · <i>Giardia lamblia</i> · Hookworm · <i>Ancylostoma duodenale</i> · Schistosoma · <i>Taenia saginata & solium</i> · <i>Ascaris lumbricoides</i>")) story.append(PageBreak()) # ============================================================ # 1. LAB DIAGNOSIS OF CHOLERA # ============================================================ story += section("1. Lab Diagnosis of Cholera") story += subsection("Causative Agent") story.append(p("<i>Vibrio cholerae</i> O1 (Classical & El Tor biotypes) and O139 serogroup. Gram-negative, comma-shaped, highly motile (single polar flagellum), non-spore-forming rod.")) story += subsection("Specimen Collection") story.append(p("Rice-water stool (profuse, watery, flecks of mucus — no blood, no pus). Collected in Cary-Blair transport medium or alkaline peptone water (APW).")) story += sub3("Direct Microscopy") for t in [ "Wet mount: Characteristic 'shooting star' / 'darting motility' of vibrios.", "Dark-field microscopy: Comma-shaped organisms with rapid to-and-fro movement.", "Gram stain: Gram-negative short curved rods in 'school of fish' pattern.", "Immobilisation test: Anti-O1 antiserum stops motility — rapid identification.", ]: story.append(b(t)) story += sub3("Culture") story.append(make_table([ ["Medium", "Purpose / Result"], ["Alkaline Peptone Water (APW) pH 8.6", "Enrichment; vibrios grow in 6-8 h as surface pellicle"], ["TCBS Agar (Thiosulphate Citrate Bile Sucrose)", "Selective; V. cholerae — YELLOW colonies (sucrose fermenter)"], ["Monsur's Tellurite Taurocholate Gelatin Agar", "Selective; greyish-black colonies with dark grey halos"], ["MacConkey Agar", "Non-lactose fermenter; pale/colourless colonies"], ["Gelatin agar", "Liquefies gelatin — saucer/napkin ring appearance"], ], col_widths=[7.5*cm, 8.5*cm])) story += sub3("Biochemical Tests") for t in [ "Oxidase positive (key differentiator from Enterobacteriaceae)", "Catalase positive", "Ferments sucrose and mannose; does NOT ferment arabinose", "Indole positive", "Voges-Proskauer (VP): Positive for El Tor; Negative for Classical", "Haemolysin (Greig test): El Tor haemolyses sheep RBCs; Classical does NOT", "Polymyxin B sensitivity: Classical SENSITIVE; El Tor RESISTANT", "Chicken RBC agglutination: El Tor POSITIVE; Classical NEGATIVE", ]: story.append(b(t)) story += sub3("Serological / Identification Tests") for t in [ "Slide agglutination with O1 antiserum (Ogawa, Inaba, Hikojima subtypes)", "O139 serogroup — does not agglutinate with O1 antiserum; diagnosed separately", "Widal-like tube agglutination for confirmation", ]: story.append(b(t)) story += sub3("Rapid / Modern Diagnosis") for t in [ "Crystal VC Dipstick Test: Point-of-care; detects O1 and O139 antigens in stool", "PCR: Detects ctxA (cholera toxin) and tcpA (toxin co-regulated pilus) genes", "ELISA: Detects cholera toxin or vibrio antigens", ]: story.append(b(t)) story.append(note("Key exam point: TCBS is the most important selective medium. Yellow colonies = V. cholerae (sucrose +ve). V. parahaemolyticus gives BLUE-GREEN colonies on TCBS.")) story.append(spacer()) # ============================================================ # 2. CLASSICAL vs EL TOR CHOLERA # ============================================================ story += section("2. Classical vs El Tor Cholera") story.append(make_table([ ["Feature", "Classical Biotype", "El Tor Biotype"], ["Haemolysin (Greig test)", "Negative — non-haemolytic", "Positive — haemolyses sheep RBCs"], ["Voges-Proskauer (VP)", "Negative", "Positive"], ["Chicken RBC agglutination", "Negative", "Positive"], ["Polymyxin B (50 U disc)", "Sensitive", "Resistant"], ["Phage type (Mukerjee)", "Phage IV sensitive", "Phage V sensitive"], ["Clinical severity", "Severe disease", "Milder; more carriers"], ["Carrier rate", "Low", "Higher"], ["Current pandemic", "Historical (1st–6th)", "7th pandemic (ongoing)"], ["El Tor variant", "—", "Altered El Tor — classical CTX, more severe"], ], col_widths=[5*cm, 5.5*cm, 5.5*cm])) story.append(spacer()) # ============================================================ # 3. LAB DIAGNOSIS OF BACILLARY DYSENTERY # ============================================================ story += section("3. Lab Diagnosis of Bacillary Dysentery") story.append(p("Caused by <i>Shigella</i> species: <i>S. dysenteriae</i> (Group A), <i>S. flexneri</i> (B), <i>S. boydii</i> (C), <i>S. sonnei</i> (D). Gram-negative, non-motile, non-capsulate rods.")) story += sub3("Specimen") story.append(p("Stool (mucus, blood and pus — 'red-currant jelly' appearance in severe cases) or rectal swab. Transport in Cary-Blair medium.")) story += sub3("Microscopy") for t in [ "RBCs, WBCs (pus cells), and macrophages on wet mount", "Gram stain: Gram-negative rods", "No motility (key: Shigella is non-motile)", ]: story.append(b(t)) story += sub3("Culture Media") story.append(make_table([ ["Medium", "Result"], ["MacConkey Agar", "Non-lactose fermenter — pale/colourless colonies"], ["DCA (Deoxycholate Citrate Agar)", "Pale/colourless colonies; selective"], ["XLD Agar (Xylose Lysine Deoxycholate)", "Pink/red colonies (no H₂S black centre)"], ["SS Agar (Salmonella-Shigella)", "Colourless colonies; inhibits coliforms"], ["Selenite F Broth", "Enrichment broth before plating"], ["Blood Agar", "Non-haemolytic grey colonies"], ], col_widths=[7*cm, 9*cm])) story += sub3("Biochemical Tests") for t in [ "Non-lactose fermenter (except S. sonnei — late lactose fermenter)", "Glucose fermenter WITHOUT gas production (except S. flexneri type 6)", "H₂S: Negative (key difference from Salmonella)", "Urease: Negative; Indole: Variable", "Lysine decarboxylase: Negative (all Shigella)", "Serotyping with group-specific antisera (A, B, C, D)", ]: story.append(b(t)) story.append(note("Remember: Shigella is non-motile, non-lactose fermenter, H₂S negative, no gas from glucose. S. dysenteriae type 1 (Shiga bacillus) produces Shiga toxin → HUS.")) story.append(spacer()) # ============================================================ # 4. BOTULISM # ============================================================ story += section("4. Botulism") story.append(p("<i>Clostridium botulinum</i> — Gram-positive, anaerobic, spore-forming bacillus. Produces the most potent biological toxin known (Botulinum neurotoxin, BoNT — 8 types: A–H). Toxin types A, B, E, F cause human disease.")) story += sub3("Types of Botulism") story.append(make_table([ ["Type", "Mechanism", "Common Source"], ["Foodborne", "Preformed toxin ingested in preserved/canned food", "Home-canned vegetables, fish, honey-glazed ham"], ["Wound botulism", "Toxin produced in infected wound", "IV drug users, traumatic wounds"], ["Infant botulism", "Spores ingested → germinate in gut → toxin produced in vivo", "Honey (most common), soil — infants <12 months"], ["Iatrogenic", "Therapeutic/cosmetic injection overdose", "Botox injections"], ["Adult intestinal toxemia", "Rare; like infant botulism in adults with GI abnormalities", "Unknown source"], ], col_widths=[3.5*cm, 6*cm, 6.5*cm])) story += sub3("Mechanism of Toxin Action") story.append(p("BoNT is a zinc-endopeptidase. It cleaves SNARE proteins (VAMP/synaptobrevin, SNAP-25, syntaxin) at neuromuscular junctions → blocks release of acetylcholine → flaccid paralysis (descending symmetrical).")) story += sub3("Clinical Features") for t in [ "Diplopia, dysarthria, dysphagia, dysphonia (the '4 Ds')", "Descending flaccid paralysis — cranial nerves first", "NO fever, NO sensory loss, ALERT patient", "Constipation (not diarrhoea) in foodborne botulism", "Death by respiratory muscle paralysis", ]: story.append(b(t)) story += sub3("Lab Diagnosis") for t in [ "Specimen: Serum, stool, gastric contents, suspected food", "Mouse bioassay (gold standard): Inject specimen → mouse shows signs; neutralised by specific antitoxin", "ELISA: Detects toxin in serum/stool", "Culture: Anaerobic culture on egg yolk agar; lipase-positive colonies", "PCR: Detects toxin genes", "Electromyography (EMG): Brief, small amplitude motor unit potentials (BSMAP) — incremental response at high frequency stimulation", ]: story.append(b(t)) story.append(note("Botulism vs Guillain-Barré: Botulism — descending paralysis, normal CSF; GBS — ascending paralysis, albuminocytological dissociation in CSF.")) story.append(spacer()) # ============================================================ # 5. ROTAVIRUS # ============================================================ story += section("5. Rotavirus") story.append(p("Most common cause of severe dehydrating gastroenteritis in children under 5 worldwide. RNA virus; double-stranded, segmented (11 segments), non-enveloped.")) story += sub3("Morphology") for t in [ "Wheel-shaped appearance on electron microscopy (Latin: rota = wheel)", "Triple-layered icosahedral capsid: outer (VP4, VP7), middle (VP6), inner (VP2) layers", "VP6 determines group (A-G); Group A causes most human disease", "VP7 (G antigen) and VP4 (P antigen) determine serotype — basis of G and P typing", "60-80 nm in diameter", ]: story.append(b(t)) story += sub3("Pathogenesis") story.append(p("Infects mature enterocytes at tips of intestinal villi → cell death → villous blunting → reduced absorptive area + reduced disaccharidase activity → osmotic + secretory diarrhoea. NSP4 protein acts as viral enterotoxin (secretory component).")) story += sub3("Clinical Features") for t in [ "Incubation: 1-3 days", "Watery diarrhoea (10-20 stools/day), vomiting, low-grade fever", "Dehydration is the main danger — isotonic dehydration", "Self-limiting: 3-8 days in immunocompetent", "Severe/fatal in malnourished/immunocompromised", ]: story.append(b(t)) story += sub3("Lab Diagnosis") for t in [ "Stool specimen (acute phase, day 1-4 of illness)", "Electron microscopy: Wheel-shaped particles (gold standard morphology)", "ELISA: Detects VP6 antigen in stool — most common diagnostic test", "Latex agglutination: Rapid bedside test", "RT-PCR: Genotyping of G and P types", "Polyacrylamide gel electrophoresis (PAGE): '11 segments' RNA electropherotype", "Cell culture: MA-104 cells (rhesus monkey kidney) — research only", ]: story.append(b(t)) story += sub3("Vaccine") story.append(p("Rotarix (RV1, monovalent G1P[8]) and RotaTeq (RV5, pentavalent) are live oral vaccines included in national immunisation programmes. Significantly reduce severe rotavirus disease.")) story.append(spacer()) # ============================================================ # 6. AMOEBIC vs BACILLARY DYSENTERY # ============================================================ story += section("6. Amoebic Dysentery vs Bacillary Dysentery") story.append(make_table([ ["Feature", "Amoebic Dysentery", "Bacillary Dysentery"], ["Causative agent", "Entamoeba histolytica (protozoan)", "Shigella spp. (bacterium)"], ["Onset", "Gradual (subacute)", "Sudden / acute"], ["Fever", "Usually absent / low grade", "High fever, toxaemia"], ["Stools", "Large volume, bloody, mucoid; 'anchovy sauce' pus; offensive odour", "Small volume, scanty; blood and mucus ('red currant jelly'); tenesmus"], ["Tenesmus", "Mild or absent", "Severe, painful"], ["Microscopy — stool", "Trophozoites with ingested RBCs (pathognomonic); Charcot-Leyden crystals", "Pus cells (neutrophils), RBCs; no parasite"], ["Sigmoidoscopy", "Flask-shaped ulcers with undermined edges; normal intervening mucosa", "Diffuse mucosal inflammation, oedema; shallow ulcers"], ["Complications", "Liver abscess, lung abscess, brain abscess, amoeboma", "HUS (Shiga toxin), reactive arthritis, bacteraemia"], ["Treatment", "Metronidazole + luminal amoebicide (diloxanide furoate)", "Ciprofloxacin, azithromycin; supportive"], ["Culture", "Not routinely cultured (culture difficult)", "Culture on DCA/MacConkey"], ["Serology", "Indirect haemagglutination (IHA), ELISA positive", "Not required"], ], col_widths=[4*cm, 6*cm, 6*cm])) story.append(spacer()) # ============================================================ # 7. ENTAMOEBA HISTOLYTICA — Lab Dx, Life Cycle, Pathogenicity # ============================================================ story += section("7. Entamoeba histolytica — Life Cycle, Lab Diagnosis & Pathogenicity") story += sub3("Morphological Forms") story.append(make_table([ ["Form", "Size", "Key Features"], ["Trophozoite (Magna form)", "20-40 µm", "Actively motile; ectoplasm (clear) + endoplasm (granular); single nucleus with central karyosome; ingested RBCs (pathognomonic); unidirectional movement"], ["Trophozoite (Minuta form)", "12-15 µm", "Non-invasive; lives in lumen; no ingested RBCs"], ["Precyst", "10-20 µm", "Round; glycogen vacuole + chromatoid bodies (cigar-shaped with rounded ends)"], ["Cyst (infective stage)", "10-18 µm", "Round; 4 nuclei when mature; chromatoid bodies (blunt ends) + glycogen mass; resistant to chlorination"], ], col_widths=[3.5*cm, 2.5*cm, 10*cm])) story += sub3("Life Cycle") for t in [ "1. Mature quadrinucleate cyst ingested in contaminated food/water", "2. Excystation in small intestine → 4 trophozoites released → 8 small trophozoites (minuta form)", "3. Minuta trophozoites live in large intestine lumen (commensals in asymptomatic carriers)", "4. Under unfavourable conditions → encystation → precyst → mature cyst → passed in formed stool", "5. In susceptible host: Minuta → Magna trophozoites → invade intestinal mucosa", "6. Extra-intestinal spread: Portal vein → liver (most common) → lung, brain (rare)", ]: story.append(b(t)) story += sub3("Pathogenicity") story.append(p("Virulence factors:")) story.append(make_table([ ["Virulence Factor", "Action"], ["Galactose/GalNAc lectin (surface adhesin)", "Mediates adherence to colonic epithelium; essential for invasion"], ["Cysteine proteases (amapain, histolysin)", "Digest extracellular matrix proteins (collagen, fibronectin, laminin); lyse host cells"], ["Pore-forming peptides (amoebapores)", "Insert into host cell membranes → osmotic lysis"], ["Phospholipases", "Damage cell membranes"], ["Contact-dependent killing", "Requires direct cell-to-cell contact for cytolysis"], ], col_widths=[6*cm, 10*cm])) story.append(spacer(3)) story.append(p("Pathological lesions: Flask-shaped (collar-button) ulcers in colon (cecum most commonly). Ulcers have undermined edges, normal mucosa between ulcers.")) story += sub3("Lab Diagnosis") story.append(p("<b>A. Intestinal amoebiasis:</b>")) for t in [ "Fresh stool examination (within 30 min): Magna trophozoites with ingested RBCs = diagnostic", "Saline wet mount: Motile trophozoites", "Iodine wet mount: Cyst morphology — nuclei and chromatoid bodies", "Concentration methods: Formol-ether (Ridley's) concentration for cysts", "Permanent stained smears: Haematoxylin-eosin or Iron haematoxylin stain", "Culture: NIH-88, Robinson's, LES (Locke Egg Serum) medium, TYI-S-33 medium", "Antigen detection: ELISA, lateral flow assay for E. histolytica antigen in stool", "PCR: Distinguishes E. histolytica from E. dispar and E. moshkovskii", ]: story.append(b(t)) story.append(p("<b>B. Extra-intestinal amoebiasis (Amoebic liver abscess):</b>")) for t in [ "Serology: Indirect haemagglutination (IHA) — most sensitive (>90%); ELISA, immunofluorescence", "Ultrasound/CT scan: Hypoechoic lesion, usually right lobe", "Aspirate: 'Anchovy paste' / 'chocolate sauce' pus — sterile, odourless", "Amoebae rarely found in aspirate (found in the wall, not the pus)", "PCR of aspirate: High sensitivity", ]: story.append(b(t)) story.append(note("E. histolytica vs E. dispar: Morphologically identical; E. dispar is non-pathogenic. Differentiated only by ELISA, PCR, or iso-enzyme analysis (zymodeme).")) story.append(spacer()) # ============================================================ # 8. EXTRA-INTESTINAL AMOEBIASIS # ============================================================ story += section("8. Extra-Intestinal Amoebiasis") story.append(p("Trophozoites invade intestinal wall → enter portal circulation → disseminate to distant organs.")) story.append(make_table([ ["Site", "Features"], ["Liver (most common, 1-5% of infections)", "Amoebic liver abscess (ALA); right lobe > left lobe; 'anchovy paste' pus; presents with fever, RUQ pain, tender hepatomegaly; complications: rupture into pleura, peritoneum, pericardium"], ["Lungs (secondary to liver)", "Right lower lobe most common; amoebic empyema; amoebic pneumonia; anchovy paste sputum"], ["Brain (rare)", "Secondary haematogenous spread; acute amoebic meningoencephalitis; poor prognosis"], ["Skin (perianal/genitalia)", "Cutaneous amoebiasis — painful ulcers, rapidly spreading; amoebic balanitis"], ["Pericardium (from left lobe liver abscess)", "Amoebic pericarditis; rupture of left lobe abscess — can cause cardiac tamponade"], ], col_widths=[5*cm, 11*cm])) story.append(spacer(3)) story += sub3("Treatment") for t in [ "Metronidazole 800 mg TDS × 10 days (tissue amoebiasis)", "Followed by luminal amoebicide: Diloxanide furoate 500 mg TDS × 10 days", "Aspiration if: Large abscess (>5 cm), impending rupture, left lobe, failed medical therapy", ]: story.append(b(t)) story.append(spacer()) # ============================================================ # 9. GIARDIA LAMBLIA — TROPHOZOITE # ============================================================ story += section("9. Giardia lamblia — Trophozoite (Draw and Label)") story += sub3("Trophozoite Morphology") story.append(p("Giardia lamblia (G. intestinalis, G. duodenalis) — pear-shaped/pyriform trophozoite. Size: 10–20 µm long × 5–10 µm wide.")) story.append(make_table([ ["Structure", "Description"], ["Shape", "Pyriform (pear-shaped); bilaterally symmetrical; convex dorsal surface, concave ventral surface"], ["Nuclei", "2 vesicular nuclei (one on each side) — bilateral symmetry; each with large central karyosome"], ["Sucking disc (adhesive disc)", "Concave disc on ventral surface — occupies 2/3 of ventral surface; used for attachment to duodenal epithelium"], ["Axostyle (median bodies)", "2 curved median bodies — resembles a 'clamp' or 'falling-leaf motility' appearance under microscope"], ["Flagella", "4 pairs (8 flagella total): anterior, posterior, ventral, and caudal pairs"], ["Cytoplasm", "Clear cytoplasm; no ingested RBCs (non-invasive)"], ["Motility", "Characteristic 'falling leaf' or 'tumbling' motility"], ], col_widths=[4.5*cm, 11.5*cm])) story += sub3("Cyst Morphology") story.append(p("Oval cyst, 8–12 µm; 4 nuclei (mature cyst); intracytoplasmic fibrils (axoneme remnants); sucking disc remnant visible. Infective stage.")) story += sub3("Pathogenicity & Disease") for t in [ "Attaches to duodenal epithelium via sucking disc — mechanical obstruction", "Villous atrophy → malabsorption (fat, fat-soluble vitamins A, D, E, K)", "Causes 'Giardiasis' — most common intestinal protozoan infection worldwide", "Clinical: Profuse, frothy, foul-smelling, watery/fatty diarrhoea; bloating; no blood/pus", "Chronic infection → steatorrhoea, growth retardation in children", "Diagnosis: Stool microscopy (cysts in formed stools; trophozoites in diarrhoeal stools); ELISA antigen; Enterotest (string test); duodenal biopsy", "Treatment: Metronidazole or Tinidazole", ]: story.append(b(t)) story.append(spacer()) # ============================================================ # 10. CAUSES OF DYSENTERY & LAB DIAGNOSIS OF AMOEBIC DYSENTERY # ============================================================ story += section("10. Causes of Dysentery & Lab Diagnosis of Amoebic Dysentery") story += sub3("Causes of Dysentery") story.append(make_table([ ["Category", "Organisms"], ["Protozoal", "Entamoeba histolytica (amoebic dysentery), Balantidium coli"], ["Bacterial", "Shigella spp. (bacillary/Shiga dysentery), EIEC, EHEC (O157:H7), Campylobacter jejuni, Salmonella (occasionally)"], ["Other", "Schistosoma mansoni (chronic), Trichuris trichiura (severe infection)"], ], col_widths=[4*cm, 12*cm])) story.append(spacer(3)) story += sub3("Lab Diagnosis of Amoebic Dysentery") for t in [ "Fresh warm stool specimen examined within 30 minutes", "Saline wet mount: Motile magna trophozoites with ingested RBCs (erythrophagocytosis) — PATHOGNOMONIC", "Charcot-Leyden crystals (needle-shaped, from eosinophil debris) may be seen", "Iodine wet mount: Cyst structure — 4 nuclei, chromatoid bars", "Permanent stain (Iron haematoxylin): Nuclear morphology detail", "Sigmoidoscopy: Flask-shaped ulcers; scrapings from ulcer edge — amoebae on histology", "Stool antigen ELISA: Highly specific for E. histolytica (not E. dispar)", "PCR: Definitive species identification", "Serology (IHA, ELISA): Usually negative in uncomplicated intestinal amoebiasis", ]: story.append(b(t)) story.append(spacer()) # ============================================================ # 11. HOOKWORM PATHOGENICITY # ============================================================ story += section("11. Hookworm Pathogenicity (Ancylostoma duodenale & Necator americanus)") story.append(p("Two main species: <i>Ancylostoma duodenale</i> (Old World hookworm) and <i>Necator americanus</i> (New World hookworm). Attach to small intestinal mucosa and suck blood.")) story.append(make_table([ ["Stage", "Pathogenic Mechanism"], ["Larval skin penetration", "Filariform (L3) larvae penetrate skin → 'Ground itch' / hookworm dermatitis; localised pruritic papulovesicular eruption"], ["Pulmonary migration", "Larvae reach lungs via bloodstream → Loeffler's syndrome (transient pneumonitis, eosinophilia, cough)"], ["Intestinal phase — blood sucking", "Adult worms attach to jejunal mucosa with buccal capsule; each A. duodenale sucks 0.2–0.3 mL blood/day; N. americanus sucks 0.03 mL/day"], ["Anticoagulant secretion", "Worms secrete anticoagulants → continuous bleeding even after worm detaches and reattaches elsewhere — 'bleeding point' pattern"], ["Iron deficiency anaemia", "Chronic blood loss → hypochromic microcytic anaemia (most important consequence); pallor, fatigue, dyspnoea"], ["Hypoalbuminaemia", "Protein loss → oedema, hypoproteinaemia"], ["Melena/occult blood", "In heavy infections"], ["Infantile hookworm disease", "Severe anaemia in infants; life-threatening"], ["Mental/physical retardation", "In children — Wakana disease (A. duodenale only — oral ingestion of larvae)"], ], col_widths=[4.5*cm, 11.5*cm])) story.append(spacer()) # ============================================================ # 12. LAB DIAGNOSIS OF HOOKWORM # ============================================================ story += section("12. Lab Diagnosis of Hookworm") story += sub3("Specimen: Stool") story.append(make_table([ ["Method", "Finding"], ["Direct wet mount (saline)", "Eggs: Oval, thin-shelled, 4-8 cell morula stage (40-60 µm × 35-40 µm); A. duodenale and N. americanus eggs morphologically identical"], ["Concentration methods", "Formol-ether / Zinc sulfate flotation — better sensitivity; stool must be fresh (eggs hatch quickly)"], ["Kato-Katz technique", "Quantitative; counts eggs per gram of stool — assesses infection intensity"], ["Harada-Mori filter paper technique", "Larval culture — L1 → L3 larvae develop; allows species differentiation by larval morphology"], ["Stool culture (Petri dish method)", "Rhabditiform (L1) → filariform (L3) larvae; L3 of A. duodenale have blunt tail sheath tip; N. americanus have pointed sheath"], ["Duodenal aspiration", "Adult worms or eggs (rarely needed)"], ], col_widths=[5*cm, 11*cm])) story += sub3("Blood Picture") for t in [ "Hypochromic microcytic anaemia", "Eosinophilia (up to 30-40% in active infection) — characteristic", "Low serum ferritin, low serum iron, high TIBC", "Hypoalbuminaemia in heavy infections", ]: story.append(b(t)) story.append(note("A. duodenale vs N. americanus eggs: Morphologically identical — species identified by larval culture only. A. duodenale adult has two pairs of teeth; N. americanus has cutting plates.")) story.append(spacer()) # ============================================================ # 13. ANCYLOSTOMA DUODENALE — LIFE CYCLE & PATHOGENICITY # ============================================================ story += section("13. Ancylostoma duodenale — Life Cycle & Pathogenicity") story += sub3("Life Cycle") story.append(make_table([ ["Stage", "Location", "Details"], ["Egg (in stool)", "External environment", "Unsegmented when passed; develops to morula stage"], ["Rhabditiform larva (L1, L2)", "Soil", "Free-living; feed on bacteria; L1→L2 in 2-3 days"], ["Filariform larva (L3)", "Soil (infective stage)", "Non-feeding; sheathed; survives weeks in moist soil; active movement up vegetation"], ["Skin penetration", "Human skin (feet/hands)", "L3 penetrates skin; sheath shed; enters dermal capillaries; 'ground itch'"], ["Pulmonary migration", "Bloodstream → lungs", "L3 → right heart → pulmonary capillaries → alveoli; coughed up → swallowed"], ["Maturation in gut", "Small intestine (jejunum)", "L3 → L4 → adult over ~5-6 weeks; also L3 can be ingested orally (Wakana disease)"], ["Adult worm", "Jejunum", "Female: 1 cm long; lays 10,000-30,000 eggs/day; lifespan 1-3 years"], ["Egg passed in stool", "Stool → soil", "Cycle repeats; eggs require warm, moist, sandy soil to develop"], ], col_widths=[4*cm, 4*cm, 8*cm])) story += sub3("Special Feature: Hypobiosis (Arrested Development)") story.append(p("<i>A. duodenale</i> larvae can undergo arrested development (hypobiosis) in muscle tissue — resume development later. This is important in pregnancy (transmammary transmission possible).")) story += sub3("Differences: A. duodenale vs N. americanus") story.append(make_table([ ["Feature", "A. duodenale", "N. americanus"], ["Distribution", "Mediterranean, Middle East, India", "Americas, sub-Saharan Africa, SE Asia"], ["Buccal capsule", "2 pairs of teeth (4 teeth)", "Cutting plates (no teeth)"], ["Body curvature", "Head curves same direction as body", "Head curves OPPOSITE to body (N = New direction)"], ["Size", "Larger (F: 10-13mm, M: 8-11mm)", "Smaller (F: 9-11mm, M: 7-9mm)"], ["Blood sucked/worm/day", "0.2-0.3 mL", "0.03 mL"], ["Route of infection", "Percutaneous AND oral (Wakana disease)", "Percutaneous only"], ["Eggs/female/day", "10,000-30,000", "5,000-10,000"], ], col_widths=[4*cm, 6*cm, 6*cm])) story.append(spacer()) # ============================================================ # 14. SCHISTOSOMA — LIFE CYCLE # ============================================================ story += section("14. Life Cycle of Schistosoma (Draw and Label)") story.append(p("Schistosomes are blood flukes (trematodes). Three main human species: <i>S. mansoni</i> (intestinal, Africa/Americas), <i>S. haematobium</i> (vesical, Africa/Middle East), <i>S. japonicum</i> (intestinal, Asia).")) story += sub3("Life Cycle Steps") story.append(make_table([ ["Stage", "Location", "Key Point"], ["1. Egg with miracidium", "Human stool/urine → freshwater", "S. mansoni: lateral spine; S. haematobium: terminal spine; S. japonicum: rudimentary spine"], ["2. Miracidium", "Free-swimming in water", "Infects specific snail (intermediate host)"], ["3. Snail (intermediate host)", "Freshwater snail", "S. mansoni → Biomphalaria; S. haematobium → Bulinus; S. japonicum → Oncomelania"], ["4. Sporocyst → Cercaria", "Inside snail", "Asexual multiplication; cercaria production (2 generations of sporocysts)"], ["5. Forked-tail Cercaria", "Free-swimming in water (infective stage)", "Bifurcated tail; no sporocyst stage; direct skin penetration into definitive host"], ["6. Skin penetration → Schistosomula", "Human skin", "Cercarial dermatitis ('swimmer's itch'); tail lost; schistosomula migrate via bloodstream"], ["7. Lung migration", "Pulmonary circulation", "Transient pulmonary phase; Katayama fever (acute schistosomiasis)"], ["8. Adult worms in veins", "Mesenteric veins (S. mansoni, S. japonicum) or vesical plexus (S. haematobium)", "Male and female in permanent copula; live in 'gynecophoral canal' of male; lifespan 3-5 years"], ["9. Egg laying", "Venous plexus wall", "Eggs pass through vessel wall into gut/bladder lumen; miracidium inside eggs secretes lytic enzymes to aid passage"], ["10. Eggs in stool/urine", "→ freshwater", "Cycle repeats"], ], col_widths=[3*cm, 5*cm, 8*cm])) story += sub3("Pathogenicity") for t in [ "Acute (Katayama fever): Serum sickness-like illness — fever, urticaria, eosinophilia, hepatosplenomegaly 4-8 weeks after infection", "Chronic — S. mansoni/japonicum: Egg granulomas in liver → 'pipe-stem fibrosis' (Symmers fibrosis) → portal hypertension, oesophageal varices; no cirrhosis (hepatocytes spared initially)", "Chronic — S. haematobium: Egg granulomas in bladder → haematuria, dysuria; squamous cell carcinoma of bladder (S. haematobium is carcinogenic — Group 1 IARC)", "CNS schistosomiasis: Ectopic eggs in brain/spinal cord → seizures, transverse myelitis", ]: story.append(b(t)) story.append(spacer()) # ============================================================ # 15. TAENIA SAGINATA — LIFE CYCLE # ============================================================ story += section("15. Life Cycle of Taenia saginata (Beef Tapeworm)") story.append(p("<i>Taenia saginata</i> — adult tapeworm; humans are the ONLY definitive host. Intermediate host: cattle (Bos taurus). Cysticercus bovis in beef muscles.")) story.append(make_table([ ["Stage", "Host", "Details"], ["1. Gravid proglottid / Eggs in human stool", "Definitive host (human)", "Gravid proglottids actively migrate out of anus; each contains 50,000-100,000 eggs"], ["2. Egg ingestion by cattle", "Intermediate host (cattle)", "Onchosphere (hexacanth embryo) hatches from egg"], ["3. Onchosphere", "Cattle intestine", "Penetrates gut wall; enters bloodstream; migrates to striated muscle"], ["4. Cysticercus bovis", "Cattle muscle (masseter, heart, tongue, diaphragm)", "Fluid-filled cyst; scolex invaginated; matures in 2-3 months; 'measly beef'; viable for months-years"], ["5. Human ingests raw/undercooked beef", "Definitive host (human)", "Cysticercus ingested; evaginates in small intestine; scolex attaches"], ["6. Adult tapeworm", "Human jejunum", "Grows 4-12 m long; up to 1000-2000 proglottids; lifespan decades; absorbs nutrients by diffusion (no gut)"], ["7. Gravid proglottids shed", "Human stool", "~9 proglottids shed/day; can actively migrate — patient may feel proglottid in clothing/perianal area"], ], col_widths=[4*cm, 4*cm, 8*cm])) story += sub3("T. saginata vs T. solium Scolex") story.append(p("<b>T. saginata scolex</b>: 4 suckers, NO rostellum, NO hooks ('unarmed tapeworm', 1-2 mm diameter). <b>T. solium scolex</b>: 4 suckers + rostellum with double row of hooks ('armed tapeworm').")) story.append(spacer()) # ============================================================ # 16. LIFE CYCLE OF TAENIA SOLIUM # ============================================================ story += section("16. Life Cycle of Taenia solium (Pork Tapeworm)") story.append(p("<i>Taenia solium</i> — DANGEROUS because humans can also serve as INTERMEDIATE hosts → cysticercosis. Definitive host: human. Intermediate host: pig (normally) or human (accidental).")) story += sub3("Normal Life Cycle (taeniasis)") for t in [ "Human ingests raw/undercooked pork containing Cysticercus cellulosae", "Cysticercus evaginates in small intestine → scolex attaches with suckers and hooks", "Adult tapeworm grows in human jejunum (2-4 m long, 800-1000 proglottids)", "Gravid proglottids (PASSIVE — do not migrate out spontaneously, unlike T. saginata)", "Proglottids disintegrate in bowel → eggs released into stool", "Eggs ingested by pig → onchosphere → Cysticercus cellulosae in pig muscles", ]: story.append(b(t)) story += sub3("Cysticercosis (Accidental — Human as Intermediate Host)") for t in [ "Human ingests T. solium EGGS (not cysticerci) — from contaminated food/water or autoinfection (faeco-oral from own tapeworm)", "Onchosphere penetrates gut → bloodstream → muscles, subcutaneous tissue, eye, BRAIN", "Neurocysticercosis (NCC): Most common cause of acquired epilepsy in developing world", "NCC diagnosis: CT/MRI brain (cystic lesions with scolex), serology (EITB Western blot), CSF analysis", "NCC treatment: Albendazole + praziquantel + corticosteroids (to reduce inflammation from dying cysts)", ]: story.append(b(t)) story.append(note("KEY: T. solium can cause cysticercosis in humans. T. saginata CANNOT cause cysticercosis in humans (humans cannot serve as intermediate host for T. saginata).")) story.append(spacer()) # ============================================================ # 17. T. SOLIUM vs T. SAGINATA # ============================================================ story += section("17. T. solium vs T. saginata — Comparison") story.append(make_table([ ["Feature", "T. solium (Pork tapeworm)", "T. saginata (Beef tapeworm)"], ["Common name", "Pork tapeworm / Armed tapeworm", "Beef tapeworm / Unarmed tapeworm"], ["Scolex", "4 suckers + rostellum + 2 rows of hooks (22-32 hooks)", "4 suckers; NO rostellum; NO hooks"], ["Length", "2-4 m", "4-12 m (longer)"], ["Proglottid count", "800-1000", "1000-2000"], ["Gravid proglottid uterine branches", "Less than 13 lateral branches per side (7-13)", "More than 15 lateral branches per side (15-30)"], ["Proglottid behaviour", "PASSIVE — do not migrate out anus", "ACTIVE — migrate out perianally; felt by patient"], ["Intermediate host", "Pig (normal); Human (accidental)", "Cattle ONLY"], ["Cysticercus", "Cysticercus cellulosae in pig/human", "Cysticercus bovis in cattle ONLY"], ["Human cysticercosis", "YES — major complication; neurocysticercosis", "NO — cannot occur"], ["Infective stage for human", "Cysticercus cellulosae in pork (tapeworm) OR eggs (cysticercosis)", "Cysticercus bovis in beef ONLY"], ["Eggs", "Identical to T. saginata (cannot differentiate microscopically)", "Identical to T. solium"], ["Diagnosis — proglottid", "Uterus: <13 lateral branches; press between slides and count", "Uterus: >15 lateral branches per side"], ["Treatment", "Praziquantel or Niclosamide", "Praziquantel or Niclosamide"], ], col_widths=[4.5*cm, 5.75*cm, 5.75*cm])) story.append(spacer()) # ============================================================ # 18. LAB DIAGNOSIS OF ROUNDWORM INFECTION # ============================================================ story += section("18. Lab Diagnosis of Roundworm Infection (Ascariasis)") story.append(p("<i>Ascaris lumbricoides</i> — largest intestinal nematode; lives in small intestine. Common in tropical/subtropical areas with poor sanitation.")) story += sub3("Stool Examination") story.append(make_table([ ["Egg Type", "Appearance", "Significance"], ["Fertilised egg (infective)", "Oval, brown; 60 × 45 µm; thick albuminous coat (mamillated/bosselated outer layer); contains unsegmented ovum", "Most common in stool; infective after 2-4 weeks in soil"], ["Unfertilised egg", "Larger (90 × 40 µm), irregular shape; thin shell; absence of round ovum; granular cytoplasm", "From female worm without male; not infective"], ["Decorticated fertilised egg", "No outer albuminous coat; yellow/golden inner shell; can be mistaken for other eggs", "Less common; infective"], ], col_widths=[4*cm, 7*cm, 5*cm])) story += sub3("Other Methods") for t in [ "Direct wet smear: Most common; detect fertilised eggs in stool", "Concentration (formol-ether/zinc sulphate flotation): Higher sensitivity", "Kato-Katz thick smear: Quantitative egg count (EPG — eggs per gram)", "Scotch tape (perianal swab): NOT useful for Ascaris (useful for pinworm — Enterobius)", "Adult worm identification: Worms passed in stool (20-35 cm long); large 'pencil-thick' worms", "Sputum/BAL: Larvae (Löffler's stage) during pulmonary migration phase — eosinophilic pneumonia", "Blood count: Eosinophilia during larval migration phase (may normalise with adult worms)", "X-ray abdomen: Mass of worms in intestinal obstruction cases; 'coiled spring' appearance", "ELISA: Serology (not widely used clinically)", ]: story.append(b(t)) story.append(spacer()) # ============================================================ # 19. PATHOGENICITY OF ASCARIS LUMBRICOIDES # ============================================================ story += section("19. Pathogenicity of Ascaris lumbricoides") story.append(make_table([ ["Phase", "Mechanism", "Clinical Effect"], ["Egg stage (ingestion)", "Infective eggs (embryonated) ingested; hatch in small intestine", "Usually asymptomatic"], ["Larval migration — Liver", "Larvae pass through liver via portal vein", "Usually asymptomatic; mild hepatomegaly possible"], ["Larval migration — Lungs (Löffler syndrome)", "Larvae in pulmonary capillaries → alveoli; immune-mediated inflammation", "Cough, haemoptysis, transient eosinophilic pneumonia, fever, urticaria; CXR: patchy infiltrates (Löffler syndrome)"], ["Adult worm — nutritional", "Adults absorb nutrients (carbohydrates, proteins, vitamins) from intestinal lumen", "Malnutrition, growth failure, vitamin A deficiency in children"], ["Adult worm — mechanical complications", "Large worms (up to 35 cm) cause mechanical effects", "Intestinal obstruction (most common surgical complication); 'bolus' of worms in children; volvulus, intussusception"], ["Ectopic migration", "Worms migrate into bile duct, pancreatic duct, appendix", "Biliary colic, obstructive jaundice, acute cholangitis, pancreatitis, appendicitis"], ["Allergic/hypersensitivity", "Repeated exposure to Ascaris antigens", "Asthma, urticaria, peripheral eosinophilia"], ["Heavy infection", "Mass of adult worms", "Intestinal pseudo-obstruction; bowel perforation (rare)"], ], col_widths=[3.5*cm, 5.5*cm, 7*cm])) story.append(spacer()) # ============================================================ # 20. LIFE CYCLE OF ASCARIS LUMBRICOIDES # ============================================================ story += section("20. Life Cycle of Ascaris lumbricoides") story.append(make_table([ ["Stage", "Location", "Details"], ["1. Fertilised egg passed in faeces", "Human stool → soil", "Unsegmented; not yet infective; requires 2-4 weeks in warm, moist, shaded soil"], ["2. Embryonation in soil", "Soil", "L1 → L2 larva develops inside egg; infective (L2 embryonated egg) when swallowed"], ["3. Egg ingestion (infective stage = embryonated egg)", "Contaminated food/water/soil", "Faeco-oral transmission; no intermediate host required"], ["4. Hatching in small intestine", "Duodenum/jejunum", "Egg coat dissolved; L2 larvae released; penetrate intestinal wall"], ["5. Portal migration", "Portal vein → liver", "L2 → L3 larvae; liver sinusoids; moult"], ["6. Pulmonary migration", "Inferior vena cava → right heart → pulmonary artery → alveoli", "L3 larvae break into alveoli; L3 → L4; coughed up and swallowed (Löffler's syndrome at this stage)"], ["7. Return to intestine", "Oesophagus → small intestine", "L4 → adult worm; 2-3 months total from ingestion to adult"], ["8. Adult worm in small intestine", "Jejunum", "Female: 20-35 cm; Male: 15-30 cm; female produces 200,000 eggs/day; lifespan 1-2 years"], ["9. Fertilised eggs in stool", "→ Soil", "Cycle repeats; NO intermediate host; direct life cycle"], ], col_widths=[4*cm, 4*cm, 8*cm])) story.append(note("Ascaris has a DIRECT life cycle (no intermediate host). Infective stage = embryonated egg. Adult Ascaris in intestine does NOT cause eosinophilia (eosinophilia occurs only during tissue migration phase).")) story.append(spacer()) # ============================================================ # QUICK REFERENCE SUMMARY TABLE # ============================================================ story += section("Quick Reference Summary") story.append(make_table([ ["Organism", "Type", "Infective Stage", "Definitive Host", "Key Lab Finding"], ["V. cholerae", "Bacterium", "—", "Human", "TCBS yellow colonies; rice-water stool; VP+/- El Tor/Classical"], ["Shigella", "Bacterium", "—", "Human", "Non-motile, non-LF, H₂S-ve; pus cells in stool"], ["C. botulinum", "Bacterium", "Spore/preformed toxin", "Various", "Mouse bioassay; SNARE cleavage"], ["Rotavirus", "Virus (dsRNA)", "—", "Human", "ELISA VP6 antigen; wheel-shape on EM; PAGE 11 bands"], ["E. histolytica", "Protozoan", "Quadrinucleate cyst", "Human", "Magna trophozoite + ingested RBCs; flask-shaped ulcers"], ["Giardia lamblia", "Protozoan", "Quadrinucleate cyst", "Human", "Pear-shaped trophozoite; suction disc; falling-leaf motility"], ["A. duodenale", "Nematode", "Filariform L3 larva", "Human", "Oval thin-shelled eggs in stool; eosinophilia; iron deficiency anaemia"], ["Ascaris lumbricoides", "Nematode", "Embryonated egg", "Human", "Large oval eggs (fertilised/unfertilised); Löffler syndrome; worm bolus"], ["Schistosoma mansoni", "Trematode", "Forked-tail cercaria", "Human", "Eggs with lateral spine in stool; pipe-stem fibrosis"], ["Taenia saginata", "Cestode", "Cysticercus bovis in beef", "Human", "Gravid proglottid >15 uterine branches; no hooks on scolex"], ["Taenia solium", "Cestode", "Cysticercus cellulosae in pork", "Human", "Gravid proglottid <13 branches; hooks on scolex; neurocysticercosis risk"], ], col_widths=[3.5*cm, 2*cm, 3*cm, 2.5*cm, 5*cm])) story.append(spacer(8)) story.append(Paragraph("End of Notes — Gastrointestinal Infections Microbiology", ParagraphStyle("Footer", parent=styles["Normal"], fontSize=9, fontName="Helvetica-Oblique", textColor=HexColor("#888888"), alignment=TA_CENTER))) doc.build(story) print("PDF generated successfully.") PYEOF python3 /tmp/workspace/gi-infections-pdf/generate.py

Your PDF is ready. Here it is:

GI Infections Microbiology

PDF Document · PDF


What's covered in the PDF (all 21 topics from your image):
  1. Lab Diagnosis of Cholera - specimens, TCBS culture, VP/haemolysin tests, rapid tests
  2. Classical vs El Tor Cholera - full comparison table (Greig, VP, Polymyxin B, phage typing)
  3. Lab Diagnosis of Bacillary Dysentery - DCA/XLD/SS agar, Shigella biochemical tests
  4. Botulism - all 5 types, SNARE mechanism, mouse bioassay
  5. Rotavirus - morphology, NSP4 enterotoxin, ELISA, PAGE 11 bands
  6. Amoebic vs Bacillary Dysentery - detailed comparison table (8 features)
  7. Entamoeba histolytica - all morphological forms, life cycle, virulence factors (lectin, cysteine proteases, amoebapores), lab diagnosis
  8. Extra-intestinal Amoebiasis - liver, lung, brain, skin, pericardium
  9. Giardia lamblia trophozoite - full structure table (sucking disc, 8 flagella, median bodies, falling-leaf motility)
  10. Causes of Dysentery + Lab Diagnosis of Amoebic Dysentery
  11. Hookworm Pathogenicity - ground itch, Löffler's, blood loss, anaemia
  12. Lab Diagnosis of Hookworm - Kato-Katz, Harada-Mori, blood picture
  13. Ancylostoma duodenale Life Cycle & Pathogenicity - full table + A. duodenale vs N. americanus comparison
  14. Schistosoma Life Cycle - all 10 stages, snail hosts, pipe-stem fibrosis, bladder cancer
  15. Taenia saginata Life Cycle - 7 stages, cysticercus bovis, scolex features
  16. Taenia solium Life Cycle - taeniasis + cysticercosis (NCC), autoinfection
  17. T. solium vs T. saginata - 14-row comparison table
  18. Lab Diagnosis of Roundworm - fertilised/unfertilised eggs, Löffler stage sputum, Kato-Katz
  19. Pathogenicity of Ascaris - Löffler syndrome, obstruction, ectopic migration, bile duct
  20. Life Cycle of Ascaris - 9 stages, no intermediate host
  21. Quick Reference Summary Table - all organisms at a glance
This is a shared conversation. Sign in to Orris to start your own chat.