Economic Burden of Psoriasis Treatment
Your credits are exhausted. You can purchase a top-up or subscribe to a plan to continue using Orris. If you're already subscribed, your daily credits will reset tomorrow.
Economic Burden of Psoriasis Treatment
psoriasis economic burden treatment costs
economic burden psoriasis treatment costs 2024 2025 biologic therapies
PMID: 42420624
PMID: 40930460
psoriasis treatment cost-effectiveness biologics phototherapy
PMID: 41739454
| Drug / Class | Annual Payer Cost (US) |
|---|---|
| Biologics (average, all classes) | ~$84,000/year |
| Bimekizumab (IL-17A/F inhibitor) | ~$84,034/year |
| Ustekinumab (IL-12/23) | ~$87,243/year |
| Brodalumab (IL-17R) | ~$48,782/year |
| Adalimumab (TNF-alpha) | Lower with biosimilars |
| Perspective | Preferred Option | Reason |
|---|---|---|
| Payer | Home phototherapy, then adalimumab among biologics | Lower system costs, acceptable QALY gains |
| Patient | Biologics (especially bimekizumab) | Largest quality-of-life gains, lower out-of-pocket burden |
| Out-of-pocket costs | Biologics: $2,000/year (with insurance); Office NB-UVB: $5,004/year | Insurance typically covers biologics heavily |
| Cost Category | Estimate |
|---|---|
| Global total economic burden (2021) | $148.85 billion |
| Direct healthcare costs (global) | $95.15 billion |
| Indirect/productivity costs (global) | $53.70 billion |
| US annual burden (moderate-severe) | >$110 billion |
| Annual biologic cost (US payer) | ~$48,000-$87,000/patient |
| Annual phototherapy (home NB-UVB) | ~$6,222/patient |
| Comorbidity cost multiplier | ~2x hospitalizations |
different types of mices and rats used in research
types of mice and rats used in biomedical research strains models 2024
laboratory mouse rat strains biomedical research models
https://www.labome.com/method/Laboratory-Mice-and-Rats.html
| Strain | Key Features | Primary Research Uses |
|---|---|---|
| C57BL/6 (B6) | Most widely used mouse strain globally; black coat; robust immune responses; susceptible to high-fat diet-induced obesity | Immunology, oncology, neuroscience, metabolic disease, gene knockout backgrounds |
| BALB/c | Albino; Th2-skewed immune response; docile temperament | Immunology (allergy, asthma, antibody production), cancer (hybridoma development), infectious disease |
| FVB/N | High litter sizes; pronuclear microinjection-friendly | Transgenics generation, oncology |
| A/J | Susceptible to lung tumors; unusual complement system | Cancer biology, asthma |
| DBA/2 | Susceptible to glaucoma, alcohol preference | Neuroscience, addiction, ophthalmology |
| C3H | Susceptible to mammary tumors (MMTV-infected); strong Th1 responses | Oncology, infectious disease |
| 129 strains | First used for embryonic stem cell (ES cell) derivation | Gene targeting/knockout generation |
| NZB/NZW F1 | Spontaneously develops lupus-like disease | Autoimmunity (SLE model) |
| NOD (Non-Obese Diabetic) | Spontaneously develops Type 1 diabetes | Autoimmune diabetes, islet biology |
| SJL | Susceptible to EAE (Experimental Autoimmune Encephalomyelitis) | Multiple sclerosis research |
| Stock | Key Features | Primary Research Uses |
|---|---|---|
| CD-1 (ICR) | Albino; large litters; most widely used outbred stock | Toxicology, safety/efficacy testing, pharmacology, aging |
| Swiss Webster | Hardy; robust; good breeders | General purpose, virology, neuroscience |
| ICR | Similar to CD-1; derived from Swiss mice | Pharmacology, toxicology, reproductive studies |
| NMRI | European origin; good breeders | Neuropharmacology, general purpose |
| Model | Defect | Primary Research Uses |
|---|---|---|
| Nude mice (Foxn1^nu^) | Lacks thymus; T-cell deficient; hairless phenotype | Xenograft tumor studies, immunology |
| SCID mice | Lacks functional T and B cells | Human xenografts, hematopoietic studies |
| NSG (NOD-SCID gamma) | Most immunodeficient; lacks T, B, NK cells | Humanized mouse models, PDX (patient-derived xenograft) tumors |
| Rag1/Rag2 knockouts | No mature T or B cells | Immune reconstitution, adoptive transfer |
| Beige mice | NK cell dysfunction | Tumor biology, immune deficiency studies |
| Model Type | Examples | Uses |
|---|---|---|
| Knockouts (KO) | p53-KO, ApoE-KO, CFTR-KO | Gene function, cancer, cardiovascular, cystic fibrosis |
| Knockin | Humanized APOE4, HER2-knockin | Disease modeling with human alleles |
| Transgenics | APP/PS1, 5xFAD (Alzheimer's); db/db obesity | Neurodegenerative disease, metabolic syndrome |
| Conditional KO (Cre-lox) | Tissue-specific gene deletion | Organ-specific gene function |
| Reporter lines | GFP/luciferase reporters | Cell tracking, in vivo imaging |
| Humanized mice | Human immune system engrafted onto NSG | Drug testing, HIV, cancer immunotherapy |
| Model | Description |
|---|---|
| Collaborative Cross (CC) | Panel of inbred strains derived from 8 founder strains - captures broad genetic diversity |
| Diversity Outbred (DO) | Outbred population from CC founders; mirrors human population variation |
| BXD strains | C57BL/6 x DBA/2 recombinant inbred panel - widely used in systems genetics |
| Stock | Key Features | Primary Research Uses |
|---|---|---|
| Sprague-Dawley (SD) | Albino; most widely used rat; docile; large litters | General pharmacology, toxicology, reproductive studies, behavioral research, surgical models |
| Wistar | Albino; slightly smaller than SD; originated in Philadelphia (Wistar Institute) | Nutrition, metabolism, cardiovascular studies, general purpose |
| Long-Evans | Hooded (black and white); better vision than albino rats | Neurobehavioral research, learning/memory, vision studies |
| Strain | Key Features | Primary Research Uses |
|---|---|---|
| Fischer 344 (F344) | Most common inbred rat; highly reproducible; longer lifespan studies | Aging research, toxicology (NCI standard), carcinogenicity testing |
| Lewis (LEW) | Susceptible to EAE and autoimmune arthritis | Autoimmunity, transplantation, neuroscience |
| Brown Norway (BN) | Resistant to EAE; albino strain derived from wild rats | Immunology, transplantation (often used as donor in graft-vs-host models) |
| Dahl Salt-Sensitive (DSS) | Develops hypertension on high-salt diets | Cardiovascular/hypertension research |
| SHR (Spontaneously Hypertensive Rat) | Develops hypertension spontaneously; SHRSP is stroke-prone variant | Cardiovascular disease, hypertension, stroke |
| Zucker Fatty (fa/fa) | Leptin receptor mutation; obese phenotype | Obesity, type 2 diabetes, metabolic syndrome |
| GK (Goto-Kakizaki) | Non-obese diabetic rat; spontaneous T2DM | Type 2 diabetes research |
| WKY (Wistar-Kyoto) | Normotensive control for SHR; also used in depression models | Cardiovascular control, psychiatry |
| BUF, DA, F344, LEW, PVG | Elevated risk of multiple sclerosis-like disease | Neuroimmunology |
| Model | Defect | Uses |
|---|---|---|
| Nude rat (Foxn1^rnu^) | Athymic; T-cell deficient; hairless | Xenograft tumor studies |
| SCID rat | T and B cell deficiency | Immune reconstitution, xenotransplantation |
| Obese Zucker (fa/fa) | Leptin receptor mutation | Metabolic research |
| Feature | Mice | Rats |
|---|---|---|
| Most used animal? | Yes (#1) | #2 after mice |
| Genetic tools | More advanced (KO, CRISPR, transgenics) | Catching up with CRISPR |
| Size | Smaller (20-30g) | Larger (200-500g) |
| Behavior/cognition studies | Good | Better (larger brain) |
| Surgical models | More limited | Preferred |
| Cost | Lower | Higher |
| Common background | Inbred strains (C57BL/6, BALB/c) | Outbred stocks (SD, Wistar) |
| Disease Area | Preferred Mouse Model | Preferred Rat Model |
|---|---|---|
| Oncology | C57BL/6, NSG (xenografts), NOD-SCID | Fischer 344, athymic nude rat |
| Neuroscience | C57BL/6, APP/PS1 (Alzheimer's) | Sprague-Dawley, Long-Evans |
| Cardiovascular | ApoE-KO, C57BL/6 | SHR, Dahl Salt-Sensitive |
| Diabetes/Metabolic | NOD (T1DM), db/db, ob/ob | Zucker fatty, GK rat |
| Immunology | C57BL/6, BALB/c, NSG | Lewis, Brown Norway |
| Autoimmunity | NOD, SJL (EAE) | Lewis (EAE, arthritis) |
| Toxicology | CD-1, Swiss Webster | Sprague-Dawley, Fischer 344 |
| Behavioral/Addiction | C57BL/6 | Sprague-Dawley, Long-Evans |
| Aging | C57BL/6, Fischer 344 congenic | Fischer 344 |
Make a reference guide PDF for selecting mice/rats for specific research studies
mkdir -p /tmp/workspace/rodent-guide && ls /tmp/workspace/
~/rodent-guide/generate_guide.py
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm, mm
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.pdfgen import canvas
OUTPUT = "/tmp/workspace/rodent-guide/Rodent_Research_Selection_Guide.pdf"
# ── Color palette ──────────────────────────────────────────────
NAVY = colors.HexColor("#1a3558")
BLUE = colors.HexColor("#2563a8")
TEAL = colors.HexColor("#0d7377")
LIGHT_BG = colors.HexColor("#eef3fb")
HEADER_BG = colors.HexColor("#1a3558")
ALT_ROW = colors.HexColor("#f0f5ff")
WHITE = colors.white
GOLD = colors.HexColor("#e8a020")
LIGHT_TEAL= colors.HexColor("#d0f0f0")
MOUSE_BG = colors.HexColor("#e8f0fb")
RAT_BG = colors.HexColor("#e8f8f2")
# ── Page numbering callback ─────────────────────────────────────
def add_page_number(canvas_obj, doc):
canvas_obj.saveState()
canvas_obj.setFont("Helvetica", 8)
canvas_obj.setFillColor(colors.HexColor("#888888"))
w, h = A4
canvas_obj.drawCentredString(w / 2, 1.2 * cm, f"Page {doc.page}")
canvas_obj.drawString(2 * cm, 1.2 * cm, "Rodent Model Selection Guide | Research Reference")
canvas_obj.restoreState()
# ── Styles ──────────────────────────────────────────────────────
styles = getSampleStyleSheet()
def S(name, parent="Normal", **kw):
return ParagraphStyle(name, parent=styles[parent], **kw)
style_title = S("Title2", fontSize=28, textColor=WHITE, alignment=TA_CENTER, spaceAfter=4, fontName="Helvetica-Bold")
style_subtitle = S("Sub", fontSize=13, textColor=GOLD, alignment=TA_CENTER, spaceAfter=2, fontName="Helvetica")
style_h1 = S("H1", fontSize=15, textColor=WHITE, spaceAfter=4, spaceBefore=6, fontName="Helvetica-Bold")
style_h2 = S("H2", fontSize=12, textColor=NAVY, spaceAfter=4, spaceBefore=8, fontName="Helvetica-Bold")
style_h3 = S("H3", fontSize=10, textColor=TEAL, spaceAfter=2, spaceBefore=6, fontName="Helvetica-Bold")
style_body = S("Body2", fontSize=8.5, leading=12, spaceAfter=3)
style_note = S("Note", fontSize=8, textColor=colors.HexColor("#555555"), leading=11, italics=1)
style_toc_item = S("TOCitem", fontSize=9.5, textColor=BLUE, spaceAfter=3, leftIndent=8)
style_bullet = S("Bullet2", fontSize=8.5, leading=12, leftIndent=14, spaceAfter=2, bulletIndent=4)
style_th = S("TH", fontSize=8.5, textColor=WHITE, fontName="Helvetica-Bold", alignment=TA_CENTER)
style_td = S("TD", fontSize=8, leading=11)
style_td_ctr = S("TDC", fontSize=8, leading=11, alignment=TA_CENTER)
def cell(text, style=None, bg=None):
"""Shorthand for a Paragraph cell."""
s = style or style_td
return Paragraph(text, s)
def hdr(text):
return Paragraph(text, style_th)
def section_banner(title, color=NAVY):
data = [[Paragraph(title, style_h1)]]
t = Table(data, colWidths=[17*cm])
t.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,-1), color),
("TOPPADDING", (0,0), (-1,-1), 7),
("BOTTOMPADDING",(0,0), (-1,-1), 7),
("LEFTPADDING", (0,0), (-1,-1), 12),
]))
return t
# ── Document ────────────────────────────────────────────────────
doc = SimpleDocTemplate(
OUTPUT,
pagesize=A4,
leftMargin=2*cm, rightMargin=2*cm,
topMargin=2.2*cm, bottomMargin=2.2*cm,
title="Rodent Model Selection Guide",
author="Research Reference",
)
story = []
W = 17 * cm # usable width
# ═══════════════════════════════════════════════════════════════
# COVER PAGE
# ═══════════════════════════════════════════════════════════════
cover_data = [[Paragraph("RODENT MODEL<br/>SELECTION GUIDE", style_title)]]
cover_tbl = Table(cover_data, colWidths=[W])
cover_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), NAVY),
("TOPPADDING", (0,0),(-1,-1), 30),
("BOTTOMPADDING",(0,0),(-1,-1), 10),
]))
story.append(cover_tbl)
sub_data = [[Paragraph("Choosing the right Mice & Rat strains for Biomedical Research", style_subtitle)]]
sub_tbl = Table(sub_data, colWidths=[W])
sub_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0),(-1,-1), BLUE),
("TOPPADDING", (0,0),(-1,-1), 8),
("BOTTOMPADDING",(0,0),(-1,-1), 8),
]))
story.append(sub_tbl)
story.append(Spacer(1, 0.5*cm))
intro = (
"This reference guide provides a quick-lookup resource for selecting the most appropriate "
"mouse and rat models for common biomedical research applications. It covers inbred strains, "
"outbred stocks, immunodeficient models, genetically engineered models, and disease-specific "
"selections — organized for rapid use at the bench."
)
story.append(Paragraph(intro, style_body))
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width=W, color=GOLD, thickness=2))
story.append(Spacer(1, 0.3*cm))
# TOC
story.append(Paragraph("Contents", style_h2))
toc_items = [
"1. Why Rodents? — Key Selection Principles",
"2. Inbred Mouse Strains",
"3. Outbred Mouse Stocks",
"4. Immunodeficient Mouse Models",
"5. Transgenic & Knockout Mouse Models",
"6. Specialized Diversity Mouse Panels",
"7. Common Rat Stocks & Inbred Strains",
"8. Specialty & Disease Rat Models",
"9. Quick-Reference: Research Application → Model",
"10. Mice vs. Rats — Head-to-Head Comparison",
"11. Key Suppliers",
"12. Strain Selection Tips & Pitfalls",
]
for item in toc_items:
story.append(Paragraph(item, style_toc_item))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 1 — Why Rodents
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("1. Why Rodents? — Key Selection Principles"))
story.append(Spacer(1, 0.3*cm))
principles = [
("<b>Genetic homology:</b>", "~85% of mouse protein-coding genes have a human orthologue; rat genome is similarly conserved."),
("<b>Rapid reproduction:</b>", "21-day gestation; sexually mature at 6-8 weeks — enables fast generational studies."),
("<b>Genetic tools:</b>", "CRISPR, Cre-lox, transgenics, and thousands of characterised strains available off-the-shelf."),
("<b>Cost & housing:</b>", "Far less expensive to house and maintain than non-human primates or dogs."),
("<b>Reproducibility:</b>", "Inbred strains are near-isogenic — minimises biological noise; outbred stocks reflect population diversity."),
("<b>Regulatory acceptance:</b>", "Rodent data are accepted by FDA, EMA, and ICH guidelines for IND/NDA submissions."),
]
for bold, desc in principles:
story.append(Paragraph(f"{bold} {desc}", style_bullet))
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph(
"<b>Three core questions before choosing a model:</b>",
style_body
))
q_data = [
["Q1", "Do you need genetic uniformity (reproducibility) or diversity (population modelling)?", "→ Inbred strain vs. outbred stock"],
["Q2", "Does the background immune system matter (intact vs. compromised)?", "→ Immunocompetent vs. immunodeficient"],
["Q3", "Is a specific gene, pathway or human disease phenotype required?", "→ Transgenic / knockout / spontaneous mutant"],
]
q_tbl = Table(q_data, colWidths=[1.2*cm, 9.5*cm, 6.3*cm])
q_tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (0,-1), BLUE),
("TEXTCOLOR", (0,0), (0,-1), WHITE),
("FONTNAME", (0,0), (0,-1), "Helvetica-Bold"),
("BACKGROUND", (1,0), (-1,-1), LIGHT_BG),
("FONTSIZE", (0,0), (-1,-1), 8),
("LEADING", (0,0), (-1,-1), 11),
("LEFTPADDING", (0,0), (-1,-1), 6),
("RIGHTPADDING", (0,0), (-1,-1), 6),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING",(0,0), (-1,-1), 5),
("ROWBACKGROUNDS",(1,0),(-1,-1),[LIGHT_BG, ALT_ROW]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
]))
story.append(q_tbl)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 2 — Inbred Mouse Strains
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("2. Inbred Mouse Strains (Mus musculus)", color=BLUE))
story.append(Spacer(1, 0.25*cm))
story.append(Paragraph(
"Inbred strains are generated by ≥20 generations of brother-sister mating, producing animals that are "
">98% genetically identical. They are the gold standard for mechanistic studies requiring reproducibility.",
style_body
))
story.append(Spacer(1, 0.2*cm))
mouse_inbred_headers = ["Strain", "Coat", "Immune Bias", "Key Characteristics", "Primary Uses"]
mouse_inbred_rows = [
["C57BL/6 (B6)", "Black", "Th1", "Most widely used; high genetic stability; susceptible to HFD-induced obesity; good for transgenics", "Immunology, oncology, neuroscience, metabolic disease, knockout backgrounds"],
["BALB/c", "Albino", "Th2", "Docile; good antibody producer; high susceptibility to allergy/asthma models", "Allergy, asthma, hybridoma production, infectious disease, cancer (syngeneic)"],
["DBA/2", "Dilute brown", "Th1", "Alcohol preference; susceptible to glaucoma; cardiac sensitivity", "Addiction, ophthalmology, cardiology"],
["A/J", "Albino", "Th2", "High lung tumour susceptibility; unusual complement activity", "Lung cancer, asthma, complement studies"],
["C3H/He", "Agouti", "Th1", "MMTV-infected; high mammary tumour incidence; strong macrophage response", "Mammary oncology, infectious disease"],
["FVB/N", "Albino", "Th1", "Large, clear pronuclei → excellent for microinjection; high litter sizes", "Transgenic generation, oncology"],
["129 strains", "Varies", "Mixed", "First ES cell isolation; used as knockout founders; poor behavioural phenotype", "Gene targeting, embryonic stem cells"],
["SJL/J", "Albino", "Th1", "Highly susceptible to EAE; reticulosarcoma-prone", "Multiple sclerosis (EAE), autoimmunity"],
["NOD", "Albino", "Th1", "Spontaneous autoimmune diabetes; defective NK-cell activity", "Type 1 diabetes, autoimmunity, islet biology"],
["NZB/NZW F1", "Black/White", "Th2", "Spontaneous lupus-like nephritis; anti-dsDNA antibodies", "Systemic lupus erythematosus (SLE)"],
["MRL/lpr", "Albino", "Mixed", "Fas-deficient; lymphoproliferation; severe autoimmunity", "Autoimmunity, rheumatoid arthritis, SLE"],
["AKR/J", "Albino", "Th1", "High spontaneous leukaemia incidence (>90% by 1 year)", "Leukaemia, oncology"],
["C57BL/10", "Black", "Th1", "Near-isogenic to C57BL/6; useful for congenic studies", "Muscular dystrophy, immunogenetics"],
]
col_w = [2.2*cm, 1.1*cm, 1.3*cm, 6.5*cm, 5.9*cm]
h_row = [hdr(h) for h in mouse_inbred_headers]
tbl_data = [h_row]
for i, row in enumerate(mouse_inbred_rows):
bg = MOUSE_BG if i % 2 == 0 else WHITE
tbl_data.append([cell(row[0], style_td), cell(row[1], style_td_ctr),
cell(row[2], style_td_ctr), cell(row[3], style_td),
cell(row[4], style_td)])
tbl = Table(tbl_data, colWidths=col_w, repeatRows=1)
tbl.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("ROWBACKGROUNDS",(0,1),(-1,-1), [MOUSE_BG, WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#bbbbbb")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("RIGHTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 3 — Outbred Mouse Stocks
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("3. Outbred Mouse Stocks", color=TEAL))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Outbred stocks maintain genetic diversity within a closed colony. They are called 'stocks' (not strains). "
"Best suited for toxicology, general pharmacology, and studies requiring population heterogeneity.",
style_body
))
story.append(Spacer(1, 0.2*cm))
outbred_headers = ["Stock", "Coat", "Key Features", "Best Uses", "Limitations"]
outbred_rows = [
["CD-1 (ICR)", "Albino", "Most widely used outbred stock; large litters; docile; broad genetic diversity", "Toxicology, safety/efficacy testing, pharmacology, aging, reproductive studies", "High variability can reduce statistical power"],
["Swiss Webster", "Albino", "Hardy; robust breeders; easily maintained", "General purpose, virology, neuroscience, drug screening", "Genetic drift over time between colonies"],
["ICR", "Albino", "Similar to CD-1; derived from Swiss mice; used in Asia predominantly", "Pharmacology, toxicology, reproductive biology", "Genetic differences between suppliers"],
["NMRI", "Albino", "European outbred; good reproductive performance", "Neuropharmacology, general screening", "Less characterised than CD-1"],
["CF-1", "Albino", "Charles River outbred; consistent colony", "Reproductive toxicology, general studies", "Limited genetic characterisation"],
]
col_w2 = [1.9*cm, 1.1*cm, 4.2*cm, 5.3*cm, 4.5*cm]
h_row2 = [hdr(h) for h in outbred_headers]
tbl2_data = [h_row2] + [[cell(r[0]), cell(r[1], style_td_ctr), cell(r[2]), cell(r[3]), cell(r[4])] for r in outbred_rows]
tbl2 = Table(tbl2_data, colWidths=col_w2, repeatRows=1)
tbl2.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), TEAL),
("ROWBACKGROUNDS",(0,1),(-1,-1), [LIGHT_TEAL, WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#bbbbbb")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl2)
# ═══════════════════════════════════════════════════════════════
# SECTION 4 — Immunodeficient Models
# ═══════════════════════════════════════════════════════════════
story.append(Spacer(1, 0.5*cm))
story.append(section_banner("4. Immunodeficient Mouse Models", color=colors.HexColor("#7b2d8b")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Immunodeficient mice accept xenografts (human tumour or tissue transplants) and are essential for "
"humanisation experiments and adoptive transfer studies.",
style_body
))
story.append(Spacer(1, 0.2*cm))
immuno_hdrs = ["Model", "Immune Defect", "Engraftment Capacity", "Primary Uses"]
immuno_rows = [
["Nude (Foxn1<sup>nu</sup>)", "No thymus → T-cell deficient; B cells present but dysfunctional", "Moderate (human tumour xenografts)", "Xenograft tumour studies, monoclonal antibody production"],
["SCID (CB-17)", "No functional T or B cells (DNA-PKcs mutation)", "Good (human cell/tissue engraftment)", "Human xenografts, hematopoietic reconstitution, HIV research"],
["NSG (NOD-SCID gamma)", "No T, B, or NK cells; defective complement; IL-2Rγ null", "Excellent — gold standard for human engraftment", "Humanised mouse models, PDX tumours, CAR-T cell testing, stem cell research"],
["NRG (NOD-Rag1-gamma)", "Similar to NSG; Rag1 knockout background", "Excellent", "Human immune reconstitution, PDX models"],
["Rag1/Rag2 KO", "No mature T or B cells", "Good", "Adoptive immune transfer, lymphocyte reconstitution"],
["Beige (Chediak-Higashi)", "NK cell dysfunction; neutrophil defects", "Moderate", "NK cell biology, innate immunity studies"],
["BRG (BALB/c-Rag2-gamma)", "No T, B, NK cells on BALB/c background", "Excellent", "Xenografts, humanisation on BALB/c background"],
]
col_w3 = [2.8*cm, 4.5*cm, 3.5*cm, 6.2*cm]
h_row3 = [hdr(h) for h in immuno_hdrs]
tbl3_data = [h_row3] + [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in immuno_rows]
tbl3 = Table(tbl3_data, colWidths=col_w3, repeatRows=1)
tbl3.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#7b2d8b")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.HexColor("#f5eefa"), WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl3)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 5 — Transgenic / Knockout Models
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("5. Transgenic & Knockout Mouse Models", color=colors.HexColor("#c0392b")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Genetically engineered mouse models (GEMMs) allow precise manipulation of gene function. "
"Created via traditional pronuclear injection, ES cell targeting, or CRISPR-Cas9.",
style_body
))
story.append(Spacer(1, 0.2*cm))
gemm_hdrs = ["Model / Name", "Genetic Modification", "Disease Modelled", "Research Use"]
gemm_rows = [
["APP/PS1", "Human APP + PSEN1 mutations (transgenic)", "Alzheimer's disease (amyloid plaques)", "Neurodegeneration, drug testing for AD"],
["5xFAD", "5 AD mutations in APP & PSEN1", "Aggressive early-onset Alzheimer's", "Amyloid biology, neuroinflammation"],
["3xTg-AD", "APP, PSEN1, tau mutations", "Amyloid + tau pathology (full AD spectrum)", "Full AD pathology, tau therapeutics"],
["db/db", "Leptin receptor knockout (BKS background)", "Type 2 diabetes + obesity", "Metabolic syndrome, insulin resistance, nephropathy"],
["ob/ob", "Leptin gene knockout", "Severe obesity + hyperinsulinaemia", "Obesity, metabolic studies"],
["ApoE-KO", "ApoE gene knockout", "Atherosclerosis (on HFD)", "Cardiovascular disease, lipid metabolism"],
["LDLR-KO", "LDL receptor knockout", "Hypercholesterolaemia, atherosclerosis", "Cardiovascular, statin testing"],
["p53-KO", "Trp53 knockout", "Cancer predisposition model", "Tumour suppressor function, DNA damage"],
["PyMT", "MMTV-PyMT transgene", "Spontaneous mammary tumours", "Breast cancer, metastasis research"],
["hACE2 transgenic", "Human ACE2 expression", "SARS-CoV-2 susceptibility", "COVID-19 research, antiviral testing"],
["Cre-lox (conditional KO)", "Tissue-specific Cre recombinase + floxed gene", "Organ-specific gene deletion", "Cell-type-specific gene function"],
["Reporter lines (GFP/Luciferase)", "Fluorescent/bioluminescent reporters", "Cell tracking, lineage tracing", "In vivo imaging, developmental biology"],
]
col_w4 = [3.0*cm, 4.0*cm, 4.0*cm, 6.0*cm]
h_row4 = [hdr(h) for h in gemm_hdrs]
tbl4_data = [h_row4] + [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in gemm_rows]
tbl4 = Table(tbl4_data, colWidths=col_w4, repeatRows=1)
tbl4.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#c0392b")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.HexColor("#fdf0ee"), WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl4)
story.append(Spacer(1, 0.4*cm))
story.append(Paragraph(
"<b>Note on background strain:</b> The genetic background profoundly influences phenotype. "
"Most knockouts are backcrossed onto C57BL/6 for uniformity. Always match controls to the exact background strain and generation.",
style_note
))
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 6 — Diversity Panels
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("6. Specialised Diversity Mouse Panels", color=colors.HexColor("#2d6a4f")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"These resources capture broad genetic diversity and are recommended by NIH/Infrafrontier "
"to improve translational relevance and reduce single-strain bias.",
style_body
))
story.append(Spacer(1, 0.2*cm))
div_hdrs = ["Panel", "Description", "Founders", "Best Uses"]
div_rows = [
["Collaborative Cross (CC)", "Panel of ~60 inbred strains derived from 8 genetically diverse founder strains", "A/J, C57BL/6J, 129S1, NOD, NZO, CAST, PWK, WSB", "Complex trait analysis, infectious disease, cancer susceptibility, population genomics"],
["Diversity Outbred (DO)", "Outbred population continuously bred from CC founders; captures maximum allelic diversity", "Same 8 founders as CC", "QTL mapping, drug response variability, microbiome studies, precision medicine modelling"],
["BXD strains", "Recombinant inbred panel from C57BL/6 x DBA/2 cross; 100+ strains", "C57BL/6 + DBA/2", "Systems genetics, gene expression QTL, neuroscience, alcohol studies"],
["Hybrid F1 (e.g. B6D2F1)", "First-generation cross of two inbred strains; heterozygous but uniform", "Two inbred strains", "Aging studies (NIA aging panel), tumour challenge models"],
]
col_w5 = [3.2*cm, 5.5*cm, 3.8*cm, 4.5*cm]
h_row5 = [hdr(h) for h in div_hdrs]
tbl5_data = [h_row5] + [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in div_rows]
tbl5 = Table(tbl5_data, colWidths=col_w5, repeatRows=1)
tbl5.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#2d6a4f")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.HexColor("#d8f3dc"), WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 5),
("BOTTOMPADDING",(0,0), (-1,-1), 5),
("LEFTPADDING", (0,0), (-1,-1), 5),
("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl5)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 7 — RAT STOCKS AND STRAINS
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("7. Rat Stocks & Inbred Strains (Rattus norvegicus)", color=colors.HexColor("#1a6b3c")))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"The rat is the #2 most used research animal. Larger size enables surgical manipulations, "
"catheter implantation, serial blood sampling, and detailed behavioural phenotyping. "
"CRISPR has rapidly expanded the transgenic rat toolkit.",
style_body
))
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Outbred Rat Stocks", style_h3))
outbred_rat_hdrs = ["Stock", "Coat", "Key Features", "Primary Research Uses"]
outbred_rat_rows = [
["Sprague-Dawley (SD)", "Albino", "Most widely used rat worldwide; docile; excellent breeders; large litters; predictable growth curves", "General pharmacology/toxicology, reproductive toxicology, behavioral studies, surgical models, cardiovascular, neuroscience"],
["Wistar", "Albino", "Slightly smaller than SD; originated at Wistar Institute (1906); calmer temperament; uniform growth", "Nutrition, metabolism, cardiovascular research, general purpose, teaching labs"],
["Long-Evans", "Hooded (black/white)", "Intact visual system (pigmented retina); good spatial learning; superior vision to albino rats", "Neurobehavioral studies, learning & memory, vision research, addiction models"],
["Holtzman", "Albino", "SD-derived; used for neuroscience and drug studies", "Neuroscience, pharmacology"],
]
col_w6 = [2.8*cm, 1.2*cm, 6.0*cm, 7.0*cm]
h_row6 = [hdr(h) for h in outbred_rat_hdrs]
tbl6 = Table([h_row6] + [[cell(r[0]), cell(r[1], style_td_ctr), cell(r[2]), cell(r[3])] for r in outbred_rat_rows],
colWidths=col_w6, repeatRows=1)
tbl6.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#1a6b3c")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [RAT_BG, WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl6)
story.append(Spacer(1, 0.3*cm))
story.append(Paragraph("Inbred Rat Strains", style_h3))
inbred_rat_hdrs = ["Strain", "Coat", "Key Feature / Phenotype", "Primary Research Uses"]
inbred_rat_rows = [
["Fischer 344 (F344)", "Albino", "Most common inbred rat; long lifespan studies; NCI standard toxicology strain; mononuclear cell leukaemia with age", "Aging research, carcinogenicity/toxicology testing (NCI), oncology"],
["Lewis (LEW)", "Albino", "Highly susceptible to EAE and adjuvant-induced arthritis; accepts allografts poorly", "Autoimmunity (EAE, RA), transplantation immunology, addiction"],
["Brown Norway (BN)", "Agouti", "Resistant to EAE; often used as allograft donor; Th2-biased", "Immunology, transplantation (donor strain), allergy"],
["Wistar-Kyoto (WKY)", "Albino", "Normotensive control for SHR; also a model of depression/anxiety", "Cardiovascular control, psychiatric disease models"],
["SHR (Spontaneously Hypertensive Rat)", "Albino", "Develops hypertension spontaneously by 6-8 weeks; SHRSP variant is stroke-prone", "Hypertension, cardiovascular disease, stroke"],
["Dahl Salt-Sensitive (SS/Jr)", "Albino", "Develops severe hypertension on high-salt diet; renal damage", "Hypertension, renal disease, cardiovascular"],
["Zucker Fatty (fa/fa)", "Albino", "Leptin receptor mutation; severely obese; insulin resistant; hyperlipidaemia", "Obesity, type 2 diabetes, metabolic syndrome, cardiovascular"],
["Goto-Kakizaki (GK)", "Albino", "Non-obese spontaneous Type 2 diabetic rat; moderate hyperglycaemia", "Type 2 diabetes (non-obese model), pancreatic beta-cell research"],
["Brattleboro Rat", "Albino", "Vasopressin (ADH) deficiency; diabetes insipidus phenotype", "Kidney/renal physiology, water balance, ADH research"],
["BUF / DA / PVG", "Various", "Elevated multiple sclerosis-like susceptibility", "Neuroimmunology, MS models"],
]
col_w7 = [2.8*cm, 1.2*cm, 6.5*cm, 6.5*cm]
h_row7 = [hdr(h) for h in inbred_rat_hdrs]
tbl7 = Table([h_row7] + [[cell(r[0]), cell(r[1], style_td_ctr), cell(r[2]), cell(r[3])] for r in inbred_rat_rows],
colWidths=col_w7, repeatRows=1)
tbl7.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#155c34")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [RAT_BG, WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl7)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 8 — Specialty / Immunodeficient Rat Models
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("8. Specialty & Immunodeficient Rat Models", color=colors.HexColor("#6d2b7a")))
story.append(Spacer(1, 0.2*cm))
spec_rat_hdrs = ["Model", "Defect / Feature", "Primary Uses"]
spec_rat_rows = [
["Nude Rat (Foxn1<sup>rnu</sup>)", "Athymic; T-cell deficient; hairless; B cells present", "Human tumour xenografts, cancer biology, monoclonal antibody production"],
["SCID Rat", "No functional T or B cells", "Xenotransplantation, immune reconstitution, human cell engraftment"],
["hRen/hAGT Rat", "Human renin-angiotensin transgene", "Hypertension, renin-angiotensin system, antihypertensive drug testing"],
["SD-Tg(CAG-EGFP)", "Ubiquitous GFP expression", "Cell tracking, transplantation, developmental studies"],
["Alzheimer Rat (CRISPR APP/tau)", "Human APP + tau mutations via CRISPR", "Alzheimer's disease, tau biology, neurodegeneration drug testing"],
["SHR/cp", "SHR + corpulent (obese) trait", "Metabolic syndrome with hypertension, cardiovascular-metabolic comorbidity"],
]
col_w8 = [3.5*cm, 6.5*cm, 7.0*cm]
h_row8 = [hdr(h) for h in spec_rat_hdrs]
tbl8 = Table([h_row8] + [[cell(r[0]), cell(r[1]), cell(r[2])] for r in spec_rat_rows],
colWidths=col_w8, repeatRows=1)
tbl8.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#6d2b7a")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.HexColor("#f5eefa"), WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl8)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 9 — Quick Reference: Research Application → Model
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("9. Quick-Reference: Research Application → Recommended Model", color=GOLD))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"Use this table when you know your research area and need rapid model selection guidance.",
style_body
))
story.append(Spacer(1, 0.2*cm))
quick_hdrs = ["Research Area", "First-Choice Mouse", "First-Choice Rat", "Notes"]
quick_rows = [
["Oncology — syngeneic tumours", "C57BL/6 (with B16, LLC, MC38 tumours)\nBALB/c (with CT26, 4T1)",
"Fischer 344",
"Match tumour cell line to host strain MHC haplotype"],
["Oncology — xenograft (human)", "NSG or NRG (immunodeficient)",
"Nude or SCID rat",
"NSG gives best engraftment; use PDX for translational relevance"],
["Immunology — Th1 responses", "C57BL/6", "Lewis", "C57BL/6 is strongly Th1-biased"],
["Immunology — Th2/allergy", "BALB/c or A/J", "Brown Norway", "BALB/c best for IgE and allergy models"],
["Autoimmunity (EAE/MS)", "SJL/J (relapsing-remitting EAE)\nC57BL/6 (chronic EAE)", "Lewis rat", "EAE induction protocol varies by strain"],
["Type 1 Diabetes", "NOD mouse", "LEW.1AR1/Ztm-iddm", "NOD most studied; monitor for sex differences"],
["Type 2 Diabetes / Obesity", "db/db or ob/ob (B6 background)", "Zucker Fatty (fa/fa) or GK rat", "GK for non-obese T2DM; Zucker for obese T2DM"],
["Cardiovascular / Hypertension", "ApoE-KO or LDLR-KO (on HFD)", "SHR or Dahl Salt-Sensitive", "Rats preferred for BP telemetry and cardiac surgery"],
["Atherosclerosis", "ApoE-KO + high-fat diet", "LDLR-KO rat (CRISPR)", "ApoE-KO on C57BL/6 most standard"],
["Alzheimer's Disease", "APP/PS1, 5xFAD, 3xTg-AD", "hAPP/tau CRISPR rat", "5xFAD for fast amyloid accumulation; 3xTg for tau"],
["Parkinson's Disease", "C57BL/6 (MPTP, rotenone models)", "Sprague-Dawley (6-OHDA)", "Rats preferred for motor behaviour readouts"],
["Stroke / Brain Injury", "C57BL/6 (MCAo model)", "Sprague-Dawley or Wistar", "Rats preferred — larger brain, better imaging, surgery"],
["Addiction / Reward", "C57BL/6 (high alcohol preference)", "Sprague-Dawley or Long-Evans", "Long-Evans preferred for operant behaviour tasks"],
["Depression / Anxiety", "C57BL/6 (stress models)", "WKY rat (genetic model); SD (CMS)", "Forced swim, social defeat stress protocols"],
["Toxicology / Safety Testing", "CD-1 (ICR) outbred", "Sprague-Dawley (ICH guideline)", "ICH S1B/S5 guidelines specify SD and CD-1"],
["Reproductive Toxicology", "CD-1 or Swiss Webster", "Sprague-Dawley", "SD timed-pregnant widely used for developmental tox"],
["Infectious Disease (bacterial)", "C57BL/6 or BALB/c", "Wistar or SD", "Strain susceptibility varies by pathogen"],
["Infectious Disease (viral)", "C57BL/6, hACE2 transgenic (COVID)", "Cotton rat for RSV (Sigmodon hispidus)", "Cotton rat is gold standard for RSV research"],
["Kidney / Renal Disease", "C57BL/6 (UUO, cisplatin models)", "Dahl SS, Zucker Diabetic Fatty", "Rats better for surgical renal models"],
["Aging Research", "C57BL/6, F1 hybrids (B6D2F1)", "Fischer 344 / F344xBN F1 hybrid", "NIA distributes aged rodents to researchers"],
["Humanised Models / PDX", "NSG → engraft human HSCs or PDX", "NSG rat equivalent", "NSG + human cytokine support for best reconstitution"],
["Gene Function Studies", "Cre-lox conditional KO on C57BL/6", "CRISPR KO rat", "Use congenic controls; validate Cre specificity"],
["Drug Pharmacokinetics (PK/PD)", "CD-1 or C57BL/6", "Sprague-Dawley", "Rats allow serial sampling; larger blood volumes"],
]
col_w9 = [3.5*cm, 4.3*cm, 4.3*cm, 4.9*cm]
h_row9 = [hdr(h) for h in quick_hdrs]
tbl9_data = [h_row9]
for i, r in enumerate(quick_rows):
bg = colors.HexColor("#fffbec") if i % 2 == 0 else WHITE
tbl9_data.append([cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])])
tbl9 = Table(tbl9_data, colWidths=col_w9, repeatRows=1)
tbl9.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#b77a00")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [colors.HexColor("#fffbec"), WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#dddddd")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl9)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 10 — Mice vs Rats comparison
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("10. Mice vs. Rats — Head-to-Head Comparison", color=NAVY))
story.append(Spacer(1, 0.2*cm))
comp_hdrs = ["Feature", "Mouse (Mus musculus)", "Rat (Rattus norvegicus)"]
comp_rows = [
["Popularity", "#1 most used lab animal", "#2 most used lab animal"],
["Body weight", "20–30 g", "200–500 g"],
["Lifespan", "~2 years", "~2.5–3 years"],
["Gestation", "~21 days", "~22 days"],
["Litter size", "8–12 pups", "8–14 pups"],
["Cost", "Lower", "Higher (cage space, feed)"],
["Genetic tools", "Extensive (knockouts, transgenics, CRISPR, 10,000+ JAX strains)", "Rapidly expanding via CRISPR"],
["Surgical suitability","Limited by size; feasible", "Preferred — larger vessels, catheterisation, organ access"],
["Behavioural studies", "Good; extensive validated tests", "Excellent; larger brain, richer repertoire"],
["Brain imaging (MRI)", "Challenging (small size)", "Much better (larger brain)"],
["Serial blood sampling","Difficult (<0.1 mL/draw)", "Practical (jugular/carotid catheter)"],
["Pharmacokinetics", "Acceptable; volume limitations", "Preferred for PK/PD studies"],
["Husbandry", "Easier, cheaper", "More space, more food"],
["Common background", "Inbred strains (C57BL/6, BALB/c)", "Outbred stocks (SD, Wistar)"],
["Regulatory toxicology","ICH-accepted outbred: CD-1", "ICH-accepted outbred: Sprague-Dawley"],
["Neuroscience preference","Standard for genetics", "Preferred for behaviour, physiology, surgical"],
]
col_w10 = [4.0*cm, 6.5*cm, 6.5*cm]
h_row10 = [hdr(h) for h in comp_hdrs]
tbl10_data = [h_row10]
for i, r in enumerate(comp_rows):
tbl10_data.append([cell(r[0], style_td), cell(r[1], style_td), cell(r[2], style_td)])
tbl10 = Table(tbl10_data, colWidths=col_w10, repeatRows=1)
tbl10.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("BACKGROUND", (1,1), (1,-1), MOUSE_BG),
("BACKGROUND", (2,1), (2,-1), RAT_BG),
("ROWBACKGROUNDS",(0,1),(0,-1), [LIGHT_BG, ALT_ROW]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
("FONTNAME", (0,1), (0,-1), "Helvetica-Bold"),
("FONTSIZE", (0,1), (0,-1), 8),
]))
story.append(tbl10)
story.append(PageBreak())
# ═══════════════════════════════════════════════════════════════
# SECTION 11 — Key Suppliers
# ═══════════════════════════════════════════════════════════════
story.append(section_banner("11. Key Suppliers & Repositories", color=colors.HexColor("#34495e")))
story.append(Spacer(1, 0.2*cm))
sup_hdrs = ["Supplier", "Speciality", "Notable Strains/Stocks", "Website"]
sup_rows = [
["The Jackson Laboratory (JAX)", "Largest mouse repository globally; 10,000+ strains; cryopreservation", "C57BL/6J, BALB/cJ, NOD/ShiLtJ, NSG, 5xFAD, DO, CC strains", "jax.org"],
["Charles River Laboratories", "Most widely used commercial supplier; GLP-certified facilities", "CD-1, C57BL/6, BALB/c, Sprague-Dawley, Wistar, Long-Evans", "criver.com"],
["Taconic Biosciences", "Custom transgenics; humanised models; germ-free rodents", "NSG, NRG, GEMM service, germ-free C57BL/6", "taconic.com"],
["Envigo / Inotiv", "Toxicology-grade animals; GLP stocks", "SD, Wistar, Fischer 344, CD-1, Beagle", "envigo.com"],
["Janvier Labs (EU)", "European supplier; SPF-certified; FELASA health monitoring", "C57BL/6J, BALB/cJ, Wistar, SD, RjHan:WI", "janvier-labs.com"],
["NIH Rat Resource & Research Center (RRRC)", "Rat strains, cryopreservation, IVF services", "Inbred, hybrid, mutant rat strains", "rrrc.missouri.edu"],
["MMRRC (Mouse Mutant Resource & Research Center)", "Mutant and knockout mouse strains; NIH-funded", "Thousands of GEMM lines", "mmrrc.org"],
["European Mouse Mutant Archive (EMMA/Infrafrontier)", "EU repository; CC strains, mutants", "CC founder and descendant strains", "infrafrontier.eu"],
]
col_w11 = [3.5*cm, 4.0*cm, 5.5*cm, 4.0*cm]
h_row11 = [hdr(h) for h in sup_hdrs]
tbl11_data = [h_row11] + [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in sup_rows]
tbl11 = Table(tbl11_data, colWidths=col_w11, repeatRows=1)
tbl11.setStyle(TableStyle([
("BACKGROUND", (0,0), (-1,0), colors.HexColor("#34495e")),
("ROWBACKGROUNDS",(0,1),(-1,-1), [LIGHT_BG, WHITE]),
("GRID", (0,0), (-1,-1), 0.3, colors.HexColor("#cccccc")),
("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING",(0,0), (-1,-1), 4),
("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"),
]))
story.append(tbl11)
# ═══════════════════════════════════════════════════════════════
# SECTION 12 — Tips & Pitfalls
# ═══════════════════════════════════════════════════════════════
story.append(Spacer(1, 0.5*cm))
story.append(section_banner("12. Strain Selection Tips & Common Pitfalls", color=colors.HexColor("#c0392b")))
story.append(Spacer(1, 0.2*cm))
tips = [
("<b>Background strain matters enormously.</b>", "The same gene knockout can produce opposite phenotypes on C57BL/6 vs. BALB/c backgrounds. Always backcross to ≥10 generations onto your target background before publishing."),
("<b>Sex is a biological variable.</b>", "NIH mandates inclusion of both sexes. NOD diabetes incidence differs markedly by sex. SHR males develop hypertension earlier than females."),
("<b>Supplier drift is real.</b>", "C57BL/6J (Jackson) differs genetically from C57BL/6N (other suppliers) — the Nnt mutation affects metabolism. Always specify sub-strain (J vs. N)."),
("<b>Age and housing matter.</b>", "Gut microbiome, circadian rhythm, group housing, and bedding all affect experimental outcomes. Report all husbandry details."),
("<b>Always use matched controls.</b>", "Littermate wild-type controls are preferred over vendor controls. For knockouts, use the same F-generation and cross."),
("<b>Albino vs. pigmented.</b>", "Albino strains (BALB/c, SD) have poor vision — avoid visual behaviour tasks. Use pigmented strains (C57BL/6, Long-Evans) for vision/retina research."),
("<b>Pilot your model.</b>", "Phenotype penetrance and severity often vary between facilities. Run a small pilot to validate the phenotype in your specific vivarium."),
("<b>Consider sample size and power.</b>", "Inbred strains reduce variance, requiring fewer animals. Outbred stocks have higher variance, requiring larger cohorts — factor this into power calculations."),
("<b>Health status.</b>", "Specify SPF (specific pathogen free) status. Helicobacter pylori, Pasteurella, and MHV can confound immunology and GI experiments silently."),
]
for bold, desc in tips:
story.append(Paragraph(f"• {bold} {desc}", style_bullet))
story.append(Spacer(1, 0.1*cm))
story.append(Spacer(1, 0.3*cm))
story.append(HRFlowable(width=W, color=GOLD, thickness=2))
story.append(Spacer(1, 0.2*cm))
story.append(Paragraph(
"<b>References:</b> Wei et al., J Invest Dermatol (2026) · Kong & Buzney, JAMA Dermatol (2026) · "
"Merck Veterinary Manual (2024) · NIH ORIP Rodent Models Fact Sheet (2025) · "
"The Jackson Laboratory strain resources (jax.org) · Labome Laboratory Mice and Rats survey",
style_note
))
# ── Build ──────────────────────────────────────────────────────
doc.build(story, onFirstPage=add_page_number, onLaterPages=add_page_number)
print(f"PDF generated: {OUTPUT}")
cd /tmp/workspace/rodent-guide && python generate_guide.py 2>&1
ls -lh /tmp/workspace/rodent-guide/
Rodent Research Selection Guide
PDF Document · PDF
| Section | Content |
|---|---|
| 1 | Why Rodents? - Key selection principles & 3 core decision questions |
| 2 | Inbred Mouse Strains - C57BL/6, BALB/c, NOD, SJL, NZB/W, MRL/lpr, A/J, FVB, C3H, 129, DBA/2, AKR + immune bias & uses |
| 3 | Outbred Mouse Stocks - CD-1, Swiss Webster, ICR, NMRI, CF-1 |
| 4 | Immunodeficient Mouse Models - Nude, SCID, NSG, NRG, Rag KO, Beige, BRG |
| 5 | Transgenic & Knockout Models - APP/PS1, 5xFAD, db/db, ApoE-KO, hACE2, Cre-lox, reporter lines |
| 6 | Diversity Panels - Collaborative Cross, Diversity Outbred, BXD, F1 hybrids |
| 7 | Rat Stocks & Inbred Strains - SD, Wistar, Long-Evans, Fischer 344, Lewis, SHR, Dahl SS, Zucker, GK, Brattleboro |
| 8 | Specialty Rat Models - Nude rat, SCID rat, hRen/hAGT, Alzheimer CRISPR rat |
| 9 | Quick-Reference Table - 23 research areas mapped to first-choice mouse and rat models |
| 10 | Mice vs. Rats Head-to-Head - 16 feature comparisons |
| 11 | Key Suppliers - JAX, Charles River, Taconic, Envigo, RRRC, MMRRC, EMMA |
| 12 | 9 critical strain selection tips & pitfalls (background strain, sex, supplier drift, etc.) |
defeciency of oxidative phosphorylation- def in appearance of mitochondrial fragementation - neurodegeneration-loss of balance in mitochondrial dynamics-large production of reactive oxygen disease-post transitional modification of protein image
image
Tau, a Microtubule-associated protein, was identified in 1975 by Weingarten et al.[1], encoded by 16 exons comprising the MAPT gene. Tau is an intrinsically disordered, natively unfolded, highly soluble protein found on chromosome 17q21.31. It promotes the assembly and stabilisation of microtubules [2]. It is a single-chain isoform produced by alternative splicing of 6 isoforms, ranging from 352 to 441 amino acids, that contains either {0N,1N or 2N} amino-terminal inserts and {3R or 4R} MTB (Microtubule binding repeats) [1] Specific tau isoforms are expressed in the peripheral nervous system. Tau is predominantly expressed in the CNS, where it is augmented in neuronal axons to maintain the axonal cytoskeleton and microtubule stability; low levels of tau expression have been detected in the salivary gland, testes, pancreas, and adipose tissue mark citation