Can you help me with making a presentation for seminar on CRISPR cas 9 in biochemistry 1st year mbbs
CRISPR Cas9 clinical trials gene therapy
CRISPR Cas9 mechanism clinical applications 2024 2025 breakthroughs
mkdir -p /home/daytona/workspace/crispr-pptx && ls /home/daytona/workspace/crispr-pptx
~/crispr-pptx/build.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.title = 'CRISPR-Cas9: Genome Editing Technology';
pres.author = 'Biochemistry Seminar - 1st Year MBBS';
// ─── COLOR PALETTE ──────────────────────────────────────────────
// Deep navy dominates, electric teal accent, light slate text
const C = {
navy: "0D1B2A", // dominant background
darkNavy: "060D14", // darker variant for sections
teal: "00C2A0", // accent / headings
tealLight: "00E5BF", // lighter teal for highlights
white: "FFFFFF",
offWhite: "E8F4F2",
slate: "A8C5C0", // muted body text
coral: "FF6B6B", // warning / limitations
gold: "FFD166", // emphasis
charcoal: "1E3040", // card backgrounds
};
// ─── HELPER FUNCTIONS ───────────────────────────────────────────
function addSlideTitle(slide, title, subtitle) {
// Full-width teal bar at top
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 10, h: 0.75,
fill: { color: C.teal },
line: { type: "none" }
});
slide.addText(title, {
x: 0.3, y: 0.05, w: 9.4, h: 0.65,
fontSize: 22, bold: true, color: C.navy,
fontFace: "Calibri", valign: "middle", margin: 0
});
if (subtitle) {
slide.addText(subtitle, {
x: 0.3, y: 0.78, w: 9.4, h: 0.35,
fontSize: 12, color: C.tealLight,
fontFace: "Calibri", italic: true, valign: "middle", margin: 0
});
}
}
function bullet(text, sub) {
return { text, options: { bullet: { code: "2022" }, color: C.offWhite, fontSize: 15, fontFace: "Calibri", indentLevel: sub ? 1 : 0, breakLine: true } };
}
function subbullet(text) { return bullet(text, true); }
function addCard(slide, x, y, w, h, title, lines) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: C.charcoal },
line: { color: C.teal, pt: 1.5 },
rectRadius: 0.08
});
slide.addText(title, {
x: x + 0.12, y: y + 0.06, w: w - 0.24, h: 0.32,
fontSize: 13, bold: true, color: C.teal,
fontFace: "Calibri", margin: 0
});
slide.addText(lines, {
x: x + 0.12, y: y + 0.38, w: w - 0.24, h: h - 0.48,
fontSize: 11, color: C.offWhite,
fontFace: "Calibri", valign: "top", margin: 0
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE SLIDE
// ════════════════════════════════════════════════════════════════
let s1 = pres.addSlide();
s1.background = { color: C.navy };
// Large teal accent band
s1.addShape(pres.ShapeType.rect, {
x: 0, y: 1.8, w: 10, h: 0.08,
fill: { color: C.teal }, line: { type: "none" }
});
s1.addShape(pres.ShapeType.rect, {
x: 0, y: 1.88, w: 10, h: 0.04,
fill: { color: C.tealLight }, line: { type: "none" }
});
s1.addText("CRISPR-Cas9", {
x: 0.5, y: 0.3, w: 9, h: 1.3,
fontSize: 56, bold: true, color: C.teal,
fontFace: "Calibri", charSpacing: 4, align: "center"
});
s1.addText("Genome Editing Technology", {
x: 0.5, y: 1.55, w: 9, h: 0.4,
fontSize: 22, color: C.offWhite,
fontFace: "Calibri", align: "center"
});
s1.addText("Biochemistry Seminar | 1st Year MBBS", {
x: 0.5, y: 2.1, w: 9, h: 0.35,
fontSize: 14, color: C.slate,
fontFace: "Calibri", align: "center", italic: true
});
// DNA helix decorative dots
for (let i = 0; i < 8; i++) {
let xPos = 0.5 + i * 1.2;
s1.addShape(pres.ShapeType.ellipse, {
x: xPos, y: 3.0 + (i % 2 === 0 ? 0 : 0.3), w: 0.18, h: 0.18,
fill: { color: i % 2 === 0 ? C.teal : C.gold }, line: { type: "none" }
});
}
s1.addText([
{ text: "Nobel Prize in Chemistry 2020 | ", options: { color: C.gold, fontSize: 12 } },
{ text: "Doudna & Charpentier", options: { color: C.tealLight, fontSize: 12, bold: true } }
], { x: 0.5, y: 4.3, w: 9, h: 0.3, align: "center" });
s1.addText([
{ text: "Sources: ", options: { bold: true, color: C.slate, fontSize: 10 } },
{ text: "Harper's Biochemistry 32e | Schwartz's Surgery 11e | Tietz Lab Medicine 7e", options: { color: C.slate, fontSize: 10 } }
], { x: 0.5, y: 5.2, w: 9, h: 0.3, align: "center" });
// ════════════════════════════════════════════════════════════════
// SLIDE 2 — OUTLINE
// ════════════════════════════════════════════════════════════════
let s2 = pres.addSlide();
s2.background = { color: C.navy };
addSlideTitle(s2, "Seminar Outline", "What we will cover today");
const topics = [
["01", "Historical background & discovery"],
["02", "Biological origin — bacterial immune system"],
["03", "Molecular components of CRISPR-Cas9"],
["04", "Mechanism of action (step-by-step)"],
["05", "DNA repair pathways: NHEJ vs HDR"],
["06", "Delivery methods"],
["07", "Medical & clinical applications"],
["08", "Limitations & off-target effects"],
["09", "Ethical considerations"],
["10", "Future perspectives & FDA approvals"],
];
const col1 = topics.slice(0, 5);
const col2 = topics.slice(5);
col1.forEach(([num, label], i) => {
s2.addShape(pres.ShapeType.roundRect, {
x: 0.3, y: 0.9 + i * 0.9, w: 0.45, h: 0.45,
fill: { color: C.teal }, line: { type: "none" }, rectRadius: 0.06
});
s2.addText(num, {
x: 0.3, y: 0.9 + i * 0.9, w: 0.45, h: 0.45,
fontSize: 13, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s2.addText(label, {
x: 0.85, y: 0.92 + i * 0.9, w: 4.2, h: 0.38,
fontSize: 13, color: C.offWhite,
fontFace: "Calibri", valign: "middle", margin: 0
});
});
col2.forEach(([num, label], i) => {
s2.addShape(pres.ShapeType.roundRect, {
x: 5.2, y: 0.9 + i * 0.9, w: 0.45, h: 0.45,
fill: { color: C.gold }, line: { type: "none" }, rectRadius: 0.06
});
s2.addText(num, {
x: 5.2, y: 0.9 + i * 0.9, w: 0.45, h: 0.45,
fontSize: 13, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s2.addText(label, {
x: 5.75, y: 0.92 + i * 0.9, w: 3.9, h: 0.38,
fontSize: 13, color: C.offWhite,
fontFace: "Calibri", valign: "middle", margin: 0
});
});
// ════════════════════════════════════════════════════════════════
// SLIDE 3 — HISTORY & DISCOVERY
// ════════════════════════════════════════════════════════════════
let s3 = pres.addSlide();
s3.background = { color: C.navy };
addSlideTitle(s3, "History & Discovery", "From bacterial genome curiosity to Nobel Prize");
const timeline = [
{ year: "1987", color: C.slate, text: "CRISPR repeats first described in E. coli genome by Yoshizumi Ishino (Japan)" },
{ year: "2002", color: C.tealLight, text: "Term 'CRISPR' coined; Cas genes identified flanking the repeat arrays" },
{ year: "2007", color: C.tealLight, text: "Barrangou et al. demonstrate CRISPR provides adaptive immunity in bacteria (Streptococcus thermophilus)" },
{ year: "2012", color: C.teal, text: "Doudna & Charpentier show Cas9 + guide RNA can cut purified DNA precisely (Science)" },
{ year: "2013", color: C.gold, text: "Zhang (Broad Institute) & Church (Harvard) adapt CRISPR-Cas9 for mammalian cell editing" },
{ year: "2020", color: C.coral, text: "Nobel Prize in Chemistry awarded to Jennifer Doudna & Emmanuelle Charpentier" },
{ year: "2023", color: C.teal, text: "FDA approves CASGEVY — first CRISPR-based therapy — for sickle cell disease & β-thalassemia" },
];
timeline.forEach((item, i) => {
let yPos = 0.95 + i * 0.66;
// Year pill
s3.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: yPos, w: 0.75, h: 0.38,
fill: { color: C.charcoal }, line: { color: item.color, pt: 1.5 }, rectRadius: 0.05
});
s3.addText(item.year, {
x: 0.25, y: yPos, w: 0.75, h: 0.38,
fontSize: 11, bold: true, color: item.color,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
// Connector dot
s3.addShape(pres.ShapeType.ellipse, {
x: 1.1, y: yPos + 0.14, w: 0.12, h: 0.12,
fill: { color: item.color }, line: { type: "none" }
});
// Text
s3.addText(item.text, {
x: 1.3, y: yPos, w: 8.4, h: 0.38,
fontSize: 12, color: C.offWhite,
fontFace: "Calibri", valign: "middle", margin: 0
});
// Vertical line connector (except last)
if (i < timeline.length - 1) {
s3.addShape(pres.ShapeType.line, {
x: 0.595, y: yPos + 0.38, w: 0, h: 0.28,
line: { color: C.slate, pt: 1, dashType: "dash" }
});
}
});
// ════════════════════════════════════════════════════════════════
// SLIDE 4 — BACTERIAL IMMUNE SYSTEM
// ════════════════════════════════════════════════════════════════
let s4 = pres.addSlide();
s4.background = { color: C.navy };
addSlideTitle(s4, "Biological Origin: Bacterial Adaptive Immunity", "How bacteria fight viruses using CRISPR");
s4.addText("CRISPR = Clustered Regularly Interspaced Short Palindromic Repeats", {
x: 0.3, y: 0.85, w: 9.4, h: 0.4,
fontSize: 14, bold: true, color: C.gold,
fontFace: "Calibri", align: "center"
});
const phases = [
{
icon: "①",
title: "ADAPTATION PHASE",
color: C.teal,
text: "Invading phage DNA fragment ('proto-spacer') is inserted into the bacterial CRISPR locus as a new spacer. This creates a 'memory' of the infection. PAM sequence (NGG) marks the proto-spacer."
},
{
icon: "②",
title: "crRNA BIOGENESIS",
color: C.gold,
text: "The CRISPR array is transcribed into a long pre-crRNA. Cas proteins cleave it into short CRISPR RNAs (crRNAs), each containing one spacer sequence. A transactivating crRNA (tracrRNA) base-pairs with crRNA."
},
{
icon: "③",
title: "INTERFERENCE PHASE",
color: C.coral,
text: "On re-exposure, crRNA–tracrRNA–Cas9 complex scans DNA. The crRNA base-pairs with complementary foreign DNA. Cas9 introduces a double-strand break (DSB), destroying the invader's genome."
},
];
phases.forEach((p, i) => {
let xPos = 0.25 + i * 3.22;
s4.addShape(pres.ShapeType.roundRect, {
x: xPos, y: 1.4, w: 3.1, h: 3.8,
fill: { color: C.charcoal }, line: { color: p.color, pt: 2 }, rectRadius: 0.1
});
s4.addText(p.icon, {
x: xPos, y: 1.45, w: 3.1, h: 0.5,
fontSize: 22, bold: true, color: p.color,
fontFace: "Calibri", align: "center", margin: 0
});
s4.addText(p.title, {
x: xPos + 0.1, y: 1.95, w: 2.9, h: 0.45,
fontSize: 12, bold: true, color: p.color,
fontFace: "Calibri", align: "center", margin: 0
});
s4.addText(p.text, {
x: xPos + 0.12, y: 2.42, w: 2.86, h: 2.6,
fontSize: 11, color: C.offWhite,
fontFace: "Calibri", valign: "top", margin: 0
});
if (i < 2) {
s4.addText("→", {
x: xPos + 3.0, y: 2.9, w: 0.25, h: 0.35,
fontSize: 22, color: C.tealLight,
fontFace: "Calibri", align: "center", margin: 0
});
}
});
s4.addText("Source: Tietz Textbook of Lab Medicine 7e, Chapter 67 | Schwartz's Surgery 11e, Chapter 15", {
x: 0.3, y: 5.3, w: 9.4, h: 0.25,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 5 — MOLECULAR COMPONENTS
// ════════════════════════════════════════════════════════════════
let s5 = pres.addSlide();
s5.background = { color: C.navy };
addSlideTitle(s5, "Molecular Components of CRISPR-Cas9", "Two-component system: Cas9 protein + guide RNA");
// Left column — Cas9 protein
s5.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: 0.9, w: 4.55, h: 4.5,
fill: { color: C.charcoal }, line: { color: C.teal, pt: 2 }, rectRadius: 0.1
});
s5.addText("CAS9 PROTEIN", {
x: 0.35, y: 0.95, w: 4.35, h: 0.38,
fontSize: 14, bold: true, color: C.teal,
fontFace: "Calibri", align: "center", margin: 0
});
s5.addText("(from Streptococcus pyogenes)", {
x: 0.35, y: 1.3, w: 4.35, h: 0.28,
fontSize: 10, color: C.slate, italic: true,
fontFace: "Calibri", align: "center", margin: 0
});
const cas9Points = [
["RuvC-like domain", "Cuts the non-template (proto-spacer) strand"],
["HNH-like domain", "Cuts the template strand (complementary to guide RNA)"],
["PAM interaction", "Reads NGG motif to position cleavage — 3 bp upstream of cut"],
["Blunt cut", "Generates a blunt-ended DSB 3 bp 5' to the PAM sequence"],
["Size", "~160 kDa; ~1368 aa; bilobed architecture"],
];
cas9Points.forEach(([title, desc], i) => {
let yy = 1.68 + i * 0.7;
s5.addShape(pres.ShapeType.ellipse, { x: 0.38, y: yy + 0.08, w: 0.16, h: 0.16, fill: { color: C.teal }, line: { type: "none" } });
s5.addText([
{ text: title + ": ", options: { bold: true, color: C.tealLight, fontSize: 12 } },
{ text: desc, options: { color: C.offWhite, fontSize: 11 } }
], { x: 0.6, y: yy, w: 4.1, h: 0.6, fontFace: "Calibri", valign: "top", margin: 0 });
});
// Right column — Guide RNA
s5.addShape(pres.ShapeType.roundRect, {
x: 5.2, y: 0.9, w: 4.55, h: 4.5,
fill: { color: C.charcoal }, line: { color: C.gold, pt: 2 }, rectRadius: 0.1
});
s5.addText("GUIDE RNA (sgRNA)", {
x: 5.3, y: 0.95, w: 4.35, h: 0.38,
fontSize: 14, bold: true, color: C.gold,
fontFace: "Calibri", align: "center", margin: 0
});
s5.addText("(single guide RNA = crRNA + tracrRNA fusion)", {
x: 5.3, y: 1.3, w: 4.35, h: 0.28,
fontSize: 10, color: C.slate, italic: true,
fontFace: "Calibri", align: "center", margin: 0
});
const rnaPoints = [
["Spacer sequence", "20 nt complementary to target DNA; determines specificity"],
["tracrRNA scaffold", "Structural backbone; binds and activates Cas9"],
["Loop region", "Connects spacer to scaffold in sgRNA design"],
["Programmable", "Only the 20 nt spacer needs to be changed per target"],
["Off-target risk", "Mismatches tolerated up to ~5 nt from PAM-distal end"],
];
rnaPoints.forEach(([title, desc], i) => {
let yy = 1.68 + i * 0.7;
s5.addShape(pres.ShapeType.ellipse, { x: 5.33, y: yy + 0.08, w: 0.16, h: 0.16, fill: { color: C.gold }, line: { type: "none" } });
s5.addText([
{ text: title + ": ", options: { bold: true, color: C.gold, fontSize: 12 } },
{ text: desc, options: { color: C.offWhite, fontSize: 11 } }
], { x: 5.55, y: yy, w: 4.1, h: 0.6, fontFace: "Calibri", valign: "top", margin: 0 });
});
s5.addText("Source: Schwartz's Surgery 11e, pp. 534–536 | Harper's Biochemistry 32e, Table 39-2", {
x: 0.3, y: 5.35, w: 9.4, h: 0.25,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 6 — MECHANISM OF ACTION
// ════════════════════════════════════════════════════════════════
let s6 = pres.addSlide();
s6.background = { color: C.navy };
addSlideTitle(s6, "Mechanism of Action", "Step-by-step guide RNA-directed genome cleavage");
const steps = [
{ n: "1", title: "Guide RNA Design", color: C.teal, text: "A 20-nucleotide spacer sequence is designed complementary to the target DNA locus. This is cloned into an expression vector upstream of the tracrRNA scaffold to form sgRNA." },
{ n: "2", title: "Complex Assembly", color: C.tealLight, text: "Cas9 protein binds the sgRNA scaffold. The complex undergoes conformational change that activates the nuclease domains." },
{ n: "3", title: "PAM Recognition", color: C.gold, text: "The complex scans DNA for the PAM motif (5'-NGG-3'). On finding it, Cas9 unwinds the dsDNA and checks for complementarity between sgRNA and target strand." },
{ n: "4", title: "R-loop Formation", color: C.gold, text: "If sgRNA matches the target (seed region: 12 nt proximal to PAM must match), the sgRNA invades the DNA and forms a stable R-loop hybrid." },
{ n: "5", title: "Double-Strand Break", color: C.coral, text: "HNH cleaves the target strand; RuvC cleaves the non-target strand. Result: blunt-ended DSB 3 bp upstream of the PAM site." },
{ n: "6", title: "DNA Repair", color: C.coral, text: "Cell repairs DSB via NHEJ (error-prone → gene KO) or HDR (precise editing using a donor template). Outcome determines whether gene is disrupted or modified." },
];
steps.forEach((step, i) => {
let col = i < 3 ? 0 : 1;
let row = i % 3;
let xPos = 0.25 + col * 5.0;
let yPos = 0.88 + row * 1.56;
s6.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.7, h: 1.48,
fill: { color: C.charcoal }, line: { color: step.color, pt: 1.5 }, rectRadius: 0.08
});
s6.addShape(pres.ShapeType.ellipse, {
x: xPos + 0.1, y: yPos + 0.12, w: 0.45, h: 0.45,
fill: { color: step.color }, line: { type: "none" }
});
s6.addText(step.n, {
x: xPos + 0.1, y: yPos + 0.12, w: 0.45, h: 0.45,
fontSize: 16, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s6.addText(step.title, {
x: xPos + 0.65, y: yPos + 0.1, w: 3.9, h: 0.35,
fontSize: 13, bold: true, color: step.color,
fontFace: "Calibri", valign: "middle", margin: 0
});
s6.addText(step.text, {
x: xPos + 0.12, y: yPos + 0.52, w: 4.46, h: 0.88,
fontSize: 10.5, color: C.offWhite,
fontFace: "Calibri", valign: "top", margin: 0
});
});
// ════════════════════════════════════════════════════════════════
// SLIDE 7 — NHEJ vs HDR
// ════════════════════════════════════════════════════════════════
let s7 = pres.addSlide();
s7.background = { color: C.navy };
addSlideTitle(s7, "DNA Repair Pathways After DSB", "NHEJ vs Homology-Directed Repair (HDR)");
// Shared intro
s7.addText("After Cas9-induced double-strand break (DSB), the cell repairs via one of two pathways:", {
x: 0.3, y: 0.83, w: 9.4, h: 0.32,
fontSize: 12, color: C.offWhite, fontFace: "Calibri"
});
// NHEJ card
s7.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: 1.22, w: 4.55, h: 4.15,
fill: { color: C.charcoal }, line: { color: C.coral, pt: 2 }, rectRadius: 0.1
});
s7.addText("NON-HOMOLOGOUS END-JOINING (NHEJ)", {
x: 0.35, y: 1.27, w: 4.35, h: 0.5,
fontSize: 12, bold: true, color: C.coral,
fontFace: "Calibri", align: "center", margin: 0
});
const nhejPoints = [
"No repair template needed",
"Active in all cell cycle phases",
"End-binding proteins (Ku70/Ku80) recognize DSB",
"Ligation is error-prone → random indels",
"Frameshift mutations → premature stop codons",
"Result: GENE KNOCKOUT (KO)",
"High efficiency — preferred for loss-of-function studies",
];
nhejPoints.forEach((pt, i) => {
s7.addShape(pres.ShapeType.ellipse, { x: 0.38, y: 1.85 + i * 0.48, w: 0.13, h: 0.13, fill: { color: C.coral }, line: { type: "none" } });
s7.addText(pt, {
x: 0.58, y: 1.82 + i * 0.48, w: 4.1, h: 0.38,
fontSize: 11, color: i === 5 ? C.coral : C.offWhite,
bold: i === 5, fontFace: "Calibri", valign: "middle", margin: 0
});
});
// HDR card
s7.addShape(pres.ShapeType.roundRect, {
x: 5.2, y: 1.22, w: 4.55, h: 4.15,
fill: { color: C.charcoal }, line: { color: C.teal, pt: 2 }, rectRadius: 0.1
});
s7.addText("HOMOLOGY-DIRECTED REPAIR (HDR)", {
x: 5.3, y: 1.27, w: 4.35, h: 0.5,
fontSize: 12, bold: true, color: C.teal,
fontFace: "Calibri", align: "center", margin: 0
});
const hdrPoints = [
"Requires homologous donor template (ssDNA or dsDNA)",
"Active mainly in S/G2 phase → lower efficiency",
"Uses sequence from template to repair DSB",
"Precise insertion, deletion, or point mutation",
"Can add reporter genes (GFP, luciferase) or tags",
"Result: PRECISE GENE EDITING",
"Lower efficiency than NHEJ; cell-type dependent",
];
hdrPoints.forEach((pt, i) => {
s7.addShape(pres.ShapeType.ellipse, { x: 5.33, y: 1.85 + i * 0.48, w: 0.13, h: 0.13, fill: { color: C.teal }, line: { type: "none" } });
s7.addText(pt, {
x: 5.53, y: 1.82 + i * 0.48, w: 4.1, h: 0.38,
fontSize: 11, color: i === 5 ? C.tealLight : C.offWhite,
bold: i === 5, fontFace: "Calibri", valign: "middle", margin: 0
});
});
s7.addText("Source: Schwartz's Surgery 11e, pp. 533–534", {
x: 0.3, y: 5.35, w: 9.4, h: 0.25,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 8 — MEDICAL APPLICATIONS
// ════════════════════════════════════════════════════════════════
let s8 = pres.addSlide();
s8.background = { color: C.navy };
addSlideTitle(s8, "Medical Applications & Clinical Trials", "From bench to bedside");
const apps = [
{
cat: "HAEMATOLOGY",
color: C.coral,
items: [
"CASGEVY (exagamglogene autotemcel) — FDA approved Dec 2023",
"Sickle cell disease: reactivates fetal haemoglobin (HbF) by disrupting BCL11A gene",
"β-Thalassaemia: 98.2% of patients achieved transfusion independence (5.5 yr follow-up)",
"95.6% of SCD patients free from vaso-occlusive crises for ≥12 months"
]
},
{
cat: "ONCOLOGY",
color: C.teal,
items: [
"Ex vivo editing of T-cells: disrupt PD-1 / TRAC to create CAR-T cells",
"CRISPR screens identified CITED2, KMT2C, PRMT7 as metastasis drivers (2024)",
"Phase I trials: CRISPR-edited T-cells for solid tumours (melanoma, sarcoma)",
"Universal donor CAR-T cells: off-the-shelf cancer immunotherapy"
]
},
{
cat: "INFECTIOUS DISEASES",
color: C.gold,
items: [
"HIV: Excision Biotherapeutics Phase I/II — guide RNAs excise HIV proviral DNA from latent reservoirs",
"HBV / HSV / HPV: CRISPR can silence viral genomes in infected cells",
"Antimicrobial resistance: CRISPR-Cas9 used to resensitize bacteria to β-lactams",
"COVID-19: SHERLOCK (CRISPR-Cas13) diagnostic assay received FDA EUA"
]
},
{
cat: "METABOLIC & NEUROLOGICAL",
color: C.tealLight,
items: [
"hATTR amyloidosis: NTLA-2001 (Intellia) — ~90% reduction in TTR protein (NEJM 2024, Phase I)",
"Hereditary angioedema: CRISPR KO of KLKB1 gene in liver — single IV dose",
"CPS1 deficiency: personalised CRISPR therapy in infant (lipid nanoparticle delivery, May 2025)",
"Duchenne muscular dystrophy: exon skipping to restore dystrophin reading frame"
]
}
];
apps.forEach((app, i) => {
let col = i % 2;
let row = Math.floor(i / 2);
let xPos = 0.25 + col * 4.88;
let yPos = 0.88 + row * 2.38;
s8.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.65, h: 2.25,
fill: { color: C.charcoal }, line: { color: app.color, pt: 2 }, rectRadius: 0.08
});
s8.addShape(pres.ShapeType.rect, {
x: xPos, y: yPos, w: 1.5, h: 0.35,
fill: { color: app.color }, line: { type: "none" }
});
s8.addText(app.cat, {
x: xPos + 0.05, y: yPos, w: 1.4, h: 0.35,
fontSize: 10, bold: true, color: C.navy,
fontFace: "Calibri", valign: "middle", margin: 0
});
app.items.forEach((item, j) => {
s8.addShape(pres.ShapeType.ellipse, { x: xPos + 0.1, y: yPos + 0.42 + j * 0.46, w: 0.1, h: 0.1, fill: { color: app.color }, line: { type: "none" } });
s8.addText(item, {
x: xPos + 0.26, y: yPos + 0.38 + j * 0.46, w: 4.3, h: 0.42,
fontSize: 10, color: C.offWhite, fontFace: "Calibri", valign: "middle", margin: 0
});
});
});
s8.addText("Sources: FDA.gov | NEJM 2024 | CRISPR Medicine News 2025 | Tietz Lab Medicine 7e", {
x: 0.3, y: 5.35, w: 9.4, h: 0.25,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 9 — LIMITATIONS & OFF-TARGET EFFECTS
// ════════════════════════════════════════════════════════════════
let s9 = pres.addSlide();
s9.background = { color: C.navy };
addSlideTitle(s9, "Limitations & Off-Target Effects", "Challenges that must be overcome before widespread clinical use");
const lims = [
{
title: "Off-Target Cleavage",
color: C.coral,
text: "Cas9 tolerates up to 5 mismatches in the PAM-distal seed region. This can cause unintended DSBs at other genomic loci → insertional mutagenesis, oncogene activation. Risk is especially high when guide RNA shares similarity with paralogous genes."
},
{
title: "Delivery Challenges",
color: C.gold,
text: "Viral vectors (AAV, lentivirus) face size constraints (CRISPR cassette ~4.2 kb; AAV capacity ~4.7 kb) and immunogenicity. Non-viral methods (LNPs, RNPs) show lower efficiency in vivo. Tissue targeting remains difficult for CNS and heart."
},
{
title: "Mosaicism",
color: C.tealLight,
text: "Incomplete editing in embryos or complex organisms creates mixed populations of edited/unedited cells (mosaic organisms), making phenotypic interpretation difficult and therapeutic outcome unpredictable."
},
{
title: "HDR Inefficiency",
color: C.slate,
text: "HDR efficiency is only 1–10% in most somatic cells (higher in actively dividing cells). NHEJ competes with and outperforms HDR in most cell types, limiting precise correction of point mutations in monogenic diseases."
},
{
title: "Immunogenicity",
color: C.coral,
text: "Cas9 proteins (especially S. pyogenes SpCas9) are bacterial in origin. Pre-existing humoral and cellular immunity against Cas9 has been found in >50% of healthy humans, potentially neutralising therapeutic effects."
},
{
title: "Large-Scale Manufacturing",
color: C.gold,
text: "CASGEVY costs ~$2.2 million USD per treatment. Ex vivo editing requires autologous stem cell harvest, GMP editing, and re-infusion — a months-long, resource-intensive process unavailable in low-income settings."
},
];
lims.forEach((lim, i) => {
let col = i % 2;
let row = Math.floor(i / 2);
let xPos = 0.25 + col * 4.9;
let yPos = 0.88 + row * 1.6;
s9.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.6, h: 1.5,
fill: { color: C.charcoal }, line: { color: lim.color, pt: 1.5 }, rectRadius: 0.08
});
s9.addText("⚠ " + lim.title, {
x: xPos + 0.12, y: yPos + 0.06, w: 4.36, h: 0.32,
fontSize: 12, bold: true, color: lim.color,
fontFace: "Calibri", margin: 0
});
s9.addText(lim.text, {
x: xPos + 0.12, y: yPos + 0.4, w: 4.36, h: 1.02,
fontSize: 10, color: C.offWhite,
fontFace: "Calibri", valign: "top", margin: 0
});
});
s9.addText("Source: Tyumentseva et al. Int J Mol Sci 2023 (PMID 38003266) | Laurent et al. Cells 2024 (PMID 38786024)", {
x: 0.3, y: 5.35, w: 9.4, h: 0.25,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 10 — ETHICAL CONSIDERATIONS
// ════════════════════════════════════════════════════════════════
let s10 = pres.addSlide();
s10.background = { color: C.navy };
addSlideTitle(s10, "Ethical Considerations", "Balancing promise and responsibility");
// Three pillars
const ethicsCols = [
{
title: "GERMLINE EDITING",
icon: "🧬",
color: C.coral,
points: [
"He Jiankui 2018 scandal: first CRISPR-edited babies (CCR5 KO for HIV resistance) — universally condemned",
"Heritable changes affect all future generations without their consent",
"Slippery slope toward 'designer babies' and eugenics",
"WHO, National Academies: moratorium on clinical germline editing until safety proven",
"Somatic (non-heritable) editing is currently permissible under IRB oversight"
]
},
{
title: "ACCESS & EQUITY",
icon: "⚖",
color: C.gold,
points: [
"CASGEVY: ~$2.2 million USD per patient — inaccessible for 95% of sickle cell patients globally",
"Sickle cell disease disproportionately affects sub-Saharan Africa, South Asia — lowest-income regions",
"Intellectual property disputes (Broad vs UC Berkeley) slow open access to the technology",
"Need for global frameworks to ensure equitable distribution of CRISPR benefits",
"LMICs excluded from clinical trial recruitment and benefit"
]
},
{
title: "SAFETY & CONSENT",
icon: "🛡",
color: C.teal,
points: [
"Off-target effects may be carcinogenic; long-term surveillance required for all trial participants",
"Informed consent for novel therapies — patients may not fully grasp risk of permanent genome changes",
"Somatic editing in minors raises consent issues (cannot consent for themselves)",
"Ecological risks: gene drives could permanently alter wild populations",
"Regulatory frameworks (FDA, EMA) still evolving to keep pace with technology"
]
}
];
ethicsCols.forEach((col, i) => {
let xPos = 0.2 + i * 3.27;
s10.addShape(pres.ShapeType.roundRect, {
x: xPos, y: 0.88, w: 3.15, h: 4.7,
fill: { color: C.charcoal }, line: { color: col.color, pt: 2 }, rectRadius: 0.1
});
s10.addText(col.title, {
x: xPos + 0.1, y: 0.93, w: 2.95, h: 0.45,
fontSize: 12, bold: true, color: col.color,
fontFace: "Calibri", align: "center", margin: 0
});
col.points.forEach((pt, j) => {
s10.addShape(pres.ShapeType.ellipse, { x: xPos + 0.12, y: 1.47 + j * 0.72, w: 0.1, h: 0.1, fill: { color: col.color }, line: { type: "none" } });
s10.addText(pt, {
x: xPos + 0.28, y: 1.43 + j * 0.72, w: 2.78, h: 0.66,
fontSize: 10, color: C.offWhite,
fontFace: "Calibri", valign: "top", margin: 0
});
});
});
s10.addText("Source: Cetin et al. Expert Rev Mol Med 2025 (PMID 40160040) | WHO Human Genome Editing Framework 2021", {
x: 0.3, y: 5.38, w: 9.4, h: 0.22,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 11 — FUTURE PERSPECTIVES & FDA APPROVALS
// ════════════════════════════════════════════════════════════════
let s11 = pres.addSlide();
s11.background = { color: C.navy };
addSlideTitle(s11, "Future Perspectives & Recent Milestones", "What's approved, what's coming");
// FDA approved box
s11.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: 0.88, w: 4.55, h: 1.65,
fill: { color: "0A3020" }, line: { color: C.teal, pt: 2.5 }, rectRadius: 0.1
});
s11.addText("✓ FDA APPROVED (Dec 2023)", {
x: 0.35, y: 0.93, w: 4.35, h: 0.38,
fontSize: 13, bold: true, color: C.teal,
fontFace: "Calibri", margin: 0
});
s11.addText([
{ text: "CASGEVY", options: { bold: true, color: C.tealLight, fontSize: 13 } },
{ text: " (exagamglogene autotemcel)\n", options: { color: C.offWhite, fontSize: 12 } },
{ text: "Vertex + CRISPR Therapeutics\n", options: { color: C.slate, fontSize: 11, italic: true } },
{ text: "Indications: SCD + β-Thalassaemia\n", options: { color: C.offWhite, fontSize: 11 } },
{ text: "Mechanism: BCL11A KO → ↑ Fetal Hb (HbF)", options: { color: C.offWhite, fontSize: 11 } }
], { x: 0.35, y: 1.33, w: 4.35, h: 1.15, fontFace: "Calibri", valign: "top", margin: 0 });
// Emerging therapies
const emerging = [
{ phase: "Phase III", drug: "Inclisiran (RNAi adjunct)", cond: "hATTR Amyloidosis", detail: "NTLA-2001 — CRISPR KO of TTR gene; ~90% reduction sustained" },
{ phase: "Phase II", drug: "EDIT-301", cond: "SCD / β-Thalassaemia", detail: "HbF reactivation via AsCas12a editing of HBG1/2 promoters" },
{ phase: "Phase I/II", drug: "EBT-101", cond: "HIV/AIDS", detail: "Excision Biotherapeutics — excision of HIV proviral DNA" },
{ phase: "Phase I/II", drug: "NTLA-5001", cond: "Acute Myeloid Leukemia", detail: "CRISPR-edited T-cell receptor T-cells targeting WT1 antigen" },
{ phase: "Preclinical", drug: "Base Editing (ABE8e)", cond: "Genetic hearing loss (OTOF)", detail: "In vivo delivery to cochlea — first base-editing for deafness" },
];
s11.addText("PIPELINE — SELECTED EMERGING THERAPIES", {
x: 5.2, y: 0.88, w: 4.6, h: 0.35,
fontSize: 12, bold: true, color: C.gold,
fontFace: "Calibri", margin: 0
});
emerging.forEach((item, i) => {
let yy = 1.3 + i * 0.82;
s11.addShape(pres.ShapeType.roundRect, {
x: 5.2, y: yy, w: 4.55, h: 0.72,
fill: { color: C.charcoal }, line: { color: C.gold, pt: 1 }, rectRadius: 0.06
});
s11.addShape(pres.ShapeType.roundRect, {
x: 5.22, y: yy + 0.05, w: 0.85, h: 0.28,
fill: { color: C.gold }, line: { type: "none" }, rectRadius: 0.04
});
s11.addText(item.phase, {
x: 5.22, y: yy + 0.05, w: 0.85, h: 0.28,
fontSize: 9, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s11.addText(item.drug + " | " + item.cond, {
x: 6.15, y: yy + 0.05, w: 3.5, h: 0.28,
fontSize: 11, bold: true, color: C.offWhite,
fontFace: "Calibri", valign: "middle", margin: 0
});
s11.addText(item.detail, {
x: 5.35, y: yy + 0.38, w: 4.25, h: 0.28,
fontSize: 10, color: C.slate,
fontFace: "Calibri", valign: "middle", margin: 0
});
});
// Next-gen tools
const nextgen = [
{ tool: "Base Editing", desc: "C→T or A→G at target without DSB; higher precision, lower off-target" },
{ tool: "Prime Editing", desc: "'Search-and-replace' genome editing; inserts any sequence <10 kb" },
{ tool: "CRISPRi / CRISPRa", desc: "dCas9 fused to repressors/activators; controls gene expression without cuts" },
{ tool: "Epigenome Editing", desc: "TUNE-401 targets hepatitis B via epigenetic silencing of HBV cccDNA" },
];
s11.addText("NEXT-GENERATION CRISPR TOOLS", {
x: 0.25, y: 2.65, w: 4.55, h: 0.35,
fontSize: 12, bold: true, color: C.tealLight,
fontFace: "Calibri", margin: 0
});
nextgen.forEach((ng, i) => {
let yy = 3.05 + i * 0.62;
s11.addShape(pres.ShapeType.roundRect, {
x: 0.25, y: yy, w: 4.55, h: 0.55,
fill: { color: C.charcoal }, line: { color: C.tealLight, pt: 1 }, rectRadius: 0.06
});
s11.addText([
{ text: ng.tool + ": ", options: { bold: true, color: C.tealLight, fontSize: 11 } },
{ text: ng.desc, options: { color: C.offWhite, fontSize: 10 } }
], { x: 0.38, y: yy + 0.05, w: 4.28, h: 0.45, fontFace: "Calibri", valign: "middle", margin: 0 });
});
s11.addText("Sources: Cetin et al. 2025 (PMID 40160040) | Singh et al. 2024 (PMID 39118728) | CRISPR Medicine News Jun 2025", {
x: 0.3, y: 5.38, w: 9.4, h: 0.22,
fontSize: 9, color: C.slate, fontFace: "Calibri", italic: true
});
// ════════════════════════════════════════════════════════════════
// SLIDE 12 — SUMMARY / KEY TAKEAWAYS
// ════════════════════════════════════════════════════════════════
let s12 = pres.addSlide();
s12.background = { color: C.darkNavy };
// Full-width teal header
s12.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 10, h: 1.2,
fill: { color: C.teal }, line: { type: "none" }
});
s12.addText("Key Takeaways", {
x: 0.4, y: 0.1, w: 9.2, h: 0.55,
fontSize: 28, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", charSpacing: 2
});
s12.addText("CRISPR-Cas9 — Summary for Biochemistry", {
x: 0.4, y: 0.65, w: 9.2, h: 0.38,
fontSize: 14, color: C.charcoal,
fontFace: "Calibri", align: "center"
});
const takeaways = [
{ n: "1", text: "CRISPR-Cas9 is a 2-component system (sgRNA + Cas9) adapted from bacterial adaptive immunity that makes precise double-strand breaks at any genomic target upstream of an NGG PAM motif.", color: C.teal },
{ n: "2", text: "DNA repair via NHEJ generates gene knockouts (random indels); HDR enables precise editing using a donor template. The choice of pathway determines the outcome.", color: C.gold },
{ n: "3", text: "CASGEVY (FDA-approved 2023) treats sickle cell disease and β-thalassaemia by reactivating fetal haemoglobin — marking the first approved CRISPR therapy in history.", color: C.coral },
{ n: "4", text: "Off-target effects, delivery limitations, immunogenicity, and cost remain major barriers. Next-gen tools (base editing, prime editing, CRISPRi) address many of these.", color: C.tealLight },
{ n: "5", text: "Germline editing is ethically prohibited by international consensus. Somatic editing is permissible under regulatory oversight. Equity and access are pressing global challenges.", color: C.gold },
];
takeaways.forEach((t, i) => {
let yy = 1.28 + i * 0.84;
s12.addShape(pres.ShapeType.ellipse, {
x: 0.3, y: yy + 0.12, w: 0.42, h: 0.42,
fill: { color: t.color }, line: { type: "none" }
});
s12.addText(t.n, {
x: 0.3, y: yy + 0.12, w: 0.42, h: 0.42,
fontSize: 16, bold: true, color: C.navy,
fontFace: "Calibri", align: "center", valign: "middle", margin: 0
});
s12.addText(t.text, {
x: 0.82, y: yy, w: 8.9, h: 0.78,
fontSize: 12, color: C.offWhite,
fontFace: "Calibri", valign: "middle", margin: 0
});
});
s12.addShape(pres.ShapeType.rect, {
x: 0, y: 5.38, w: 10, h: 0.25,
fill: { color: C.charcoal }, line: { type: "none" }
});
s12.addText("Harper's Biochemistry 32e | Schwartz's Surgery 11e | Tietz Lab Medicine 7e | PubMed PMIDs: 38003266, 38786024, 39118728, 40160040, 38201268", {
x: 0.3, y: 5.38, w: 9.4, h: 0.25,
fontSize: 8, color: C.slate, fontFace: "Calibri", align: "center"
});
// ────────────────────────────────────────────────────────────────
// WRITE FILE
// ────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/crispr-pptx/CRISPR_Cas9_MBBS_Seminar.pptx" })
.then(() => console.log("✓ Presentation written successfully"))
.catch(err => { console.error("Error:", err); process.exit(1); });
cd /home/daytona/workspace/crispr-pptx && node build.js 2>&1
ls -lh /home/daytona/workspace/crispr-pptx/CRISPR_Cas9_MBBS_Seminar.pptx
CRISPR Cas9 MBBS Seminar
Presentation · PPTX
| # | Slide | Highlights |
|---|---|---|
| 1 | Title Slide | Dark navy + electric teal design; Nobel Prize callout |
| 2 | Outline | All 10 topics listed with numbered cards |
| 3 | History & Discovery | Timeline from 1987 E. coli discovery → 2023 FDA approval |
| 4 | Bacterial Immune System | 3-phase process (Adaptation → crRNA biogenesis → Interference) |
| 5 | Molecular Components | Cas9 domains (RuvC, HNH, PAM) vs sgRNA structure, side-by-side |
| 6 | Mechanism of Action | 6-step process: guide design → PAM recognition → R-loop → DSB |
| 7 | NHEJ vs HDR | Dual card layout comparing both repair pathways with clinical relevance |
| 8 | Medical Applications | 4 categories: Haematology, Oncology, Infectious Disease, Metabolic/Neuro |
| 9 | Limitations | 6 challenges: off-targets, delivery, mosaicism, HDR inefficiency, immunogenicity, cost |
| 10 | Ethics | Germline editing (He Jiankui scandal), Access & Equity, Consent issues |
| 11 | Future & FDA Approvals | CASGEVY approval details, pipeline drugs, next-gen tools (Base/Prime editing) |
| 12 | Key Takeaways | 5 numbered summary points |
Can you do it again
~/crispr-pptx/build_v2.js
const pptxgen = require("pptxgenjs");
let pres = new pptxgen();
pres.layout = 'LAYOUT_16x9';
pres.title = 'CRISPR-Cas9: Genome Editing Technology';
// ─── PALETTE: dark green + lime biotech ────────────────────────
const C = {
bg: "0B1F0F", // very dark green (dominant background)
bgAlt: "0F2A14", // slightly lighter for cards
bgPanel: "152E18", // panel/section background
lime: "A8E63D", // primary accent – lime green
limeDeep: "7EC91A", // darker lime for variety
green: "2ECC71", // mid green for secondary elements
white: "FFFFFF",
offWhite: "E8F5E4", // warm green-tinted white
muted: "7AA882", // muted text
amber: "F4A736", // warm callout color
red: "E05252", // warnings / limitations
darkText: "0B1F0F", // text on light backgrounds
border: "1D4A22", // subtle borders
};
// ─── HELPERS ───────────────────────────────────────────────────
// Standard slide header bar
function header(slide, title, sub) {
// Left accent bar
slide.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: C.lime }, line: { type: "none" }
});
// Header background
slide.addShape(pres.ShapeType.rect, {
x: 0.18, y: 0, w: 9.82, h: 0.85,
fill: { color: C.bgPanel }, line: { type: "none" }
});
// Separator line under header
slide.addShape(pres.ShapeType.rect, {
x: 0.18, y: 0.85, w: 9.82, h: 0.04,
fill: { color: C.lime }, line: { type: "none" }
});
slide.addText(title, {
x: 0.4, y: 0.05, w: 9.4, h: 0.52,
fontSize: 24, bold: true, color: C.lime,
fontFace: "Trebuchet MS", valign: "middle", margin: 0, charSpacing: 1
});
if (sub) {
slide.addText(sub, {
x: 0.4, y: 0.56, w: 9.4, h: 0.28,
fontSize: 11, color: C.muted, italic: true,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
}
}
// Rounded card
function card(slide, x, y, w, h, borderColor) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w, h,
fill: { color: C.bgAlt },
line: { color: borderColor || C.border, pt: 1.5 },
rectRadius: 0.1
});
}
// Step badge
function badge(slide, x, y, label, color) {
slide.addShape(pres.ShapeType.roundRect, {
x, y, w: 0.55, h: 0.4,
fill: { color: color }, line: { type: "none" }, rectRadius: 0.06
});
slide.addText(label, {
x, y, w: 0.55, h: 0.4,
fontSize: 14, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 1 — TITLE
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
// Diagonal lime wedge
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 10, h: 5.625,
fill: { type: "solid", color: C.bg }, line: { type: "none" }
});
// Top left corner accent block
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 3.2, h: 0.18,
fill: { color: C.lime }, line: { type: "none" }
});
s.addShape(pres.ShapeType.rect, {
x: 0, y: 0, w: 0.18, h: 5.625,
fill: { color: C.lime }, line: { type: "none" }
});
// Bottom right corner accent
s.addShape(pres.ShapeType.rect, {
x: 0, y: 5.45, w: 10, h: 0.18,
fill: { color: C.limeDeep }, line: { type: "none" }
});
s.addShape(pres.ShapeType.rect, {
x: 9.82, y: 0, w: 0.18, h: 5.625,
fill: { color: C.limeDeep }, line: { type: "none" }
});
// Big CRISPR title
s.addText("CRISPR", {
x: 0.4, y: 0.55, w: 9.2, h: 1.6,
fontSize: 88, bold: true, color: C.lime,
fontFace: "Trebuchet MS", align: "center", charSpacing: 8, margin: 0
});
// Hyphen underline
s.addShape(pres.ShapeType.rect, {
x: 1.5, y: 2.1, w: 7.0, h: 0.06,
fill: { color: C.green }, line: { type: "none" }
});
s.addText("Cas9 Gene Editing Technology", {
x: 0.4, y: 2.22, w: 9.2, h: 0.55,
fontSize: 26, bold: false, color: C.offWhite,
fontFace: "Trebuchet MS", align: "center", charSpacing: 2, margin: 0
});
s.addText("Biochemistry Seminar · 1st Year MBBS", {
x: 0.4, y: 2.88, w: 9.2, h: 0.38,
fontSize: 15, color: C.muted, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
// Nobel callout pill
s.addShape(pres.ShapeType.roundRect, {
x: 2.8, y: 3.5, w: 4.4, h: 0.55,
fill: { color: C.bgPanel }, line: { color: C.amber, pt: 1.5 }, rectRadius: 0.28
});
s.addText("🏆 Nobel Prize in Chemistry 2020 — Doudna & Charpentier", {
x: 2.8, y: 3.5, w: 4.4, h: 0.55,
fontSize: 11, bold: true, color: C.amber,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
// DNA dots decoration
const dotsY = [4.3, 4.5, 4.3, 4.5, 4.3, 4.5, 4.3, 4.5, 4.3, 4.5, 4.3, 4.5];
for (let i = 0; i < 12; i++) {
s.addShape(pres.ShapeType.ellipse, {
x: 0.5 + i * 0.76, y: dotsY[i], w: 0.16, h: 0.16,
fill: { color: i % 2 === 0 ? C.lime : C.green }, line: { type: "none" }
});
if (i < 11) {
s.addShape(pres.ShapeType.line, {
x: 0.66 + i * 0.76, y: dotsY[i] + 0.08, w: 0.6, h: (dotsY[i+1] - dotsY[i]),
line: { color: C.muted, pt: 1 }
});
}
}
}
// ════════════════════════════════════════════════════════════════
// SLIDE 2 — WHAT IS CRISPR? (intro + definition)
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "What is CRISPR-Cas9?", "A programmable molecular scissors for genome editing");
// Large acronym breakdown
const letters = [
{ L: "C", word: "Clustered" },
{ L: "R", word: "Regularly" },
{ L: "I", word: "Interspaced" },
{ L: "S", word: "Short" },
{ L: "P", word: "Palindromic" },
{ L: "R", word: "Repeats" },
];
letters.forEach((item, i) => {
let xPos = 0.38 + i * 1.58;
s.addShape(pres.ShapeType.rect, {
x: xPos, y: 1.0, w: 1.45, h: 0.7,
fill: { color: i % 2 === 0 ? C.lime : C.green }, line: { type: "none" }
});
s.addText(item.L, {
x: xPos, y: 1.0, w: 1.45, h: 0.7,
fontSize: 32, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText(item.word, {
x: xPos, y: 1.72, w: 1.45, h: 0.35,
fontSize: 10, color: C.offWhite, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
});
// Two info cards
card(s, 0.38, 2.2, 4.5, 3.1, C.lime);
s.addText("ORIGIN", {
x: 0.5, y: 2.28, w: 4.26, h: 0.32,
fontSize: 13, bold: true, color: C.lime,
fontFace: "Trebuchet MS", margin: 0
});
const originLines = [
"First described in E. coli genome in 1987 by Yoshizumi Ishino",
"Spacer sequences were later found to be fragments of past viral invaders — a form of bacterial 'immunological memory'",
"Cas (CRISPR-associated) proteins are nucleases encoded by genes flanking the CRISPR array",
"Adapted for eukaryotic genome editing in 2012–2013",
"Now the most widely used gene-editing tool in biology",
];
originLines.forEach((line, i) => {
s.addShape(pres.ShapeType.ellipse, { x: 0.5, y: 2.68 + i * 0.52, w: 0.12, h: 0.12, fill: { color: C.lime }, line: { type: "none" } });
s.addText(line, {
x: 0.7, y: 2.64 + i * 0.52, w: 4.08, h: 0.46,
fontSize: 11, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
card(s, 5.12, 2.2, 4.5, 3.1, C.green);
s.addText("WHY IT MATTERS", {
x: 5.24, y: 2.28, w: 4.26, h: 0.32,
fontSize: 13, bold: true, color: C.green,
fontFace: "Trebuchet MS", margin: 0
});
const whyLines = [
"Previous methods (RNAi, TALENs, ZFNs) were slow, costly, or imprecise",
"CRISPR-Cas9 needs only a 20 nt RNA change to redirect it to any gene",
"Can knock out, correct, insert or regulate any gene in any organism",
"Cheaper, faster, and more specific than any prior technology",
"First CRISPR therapy FDA-approved December 2023 (CASGEVY)",
];
whyLines.forEach((line, i) => {
s.addShape(pres.ShapeType.ellipse, { x: 5.24, y: 2.68 + i * 0.52, w: 0.12, h: 0.12, fill: { color: C.green }, line: { type: "none" } });
s.addText(line, {
x: 5.44, y: 2.64 + i * 0.52, w: 4.08, h: 0.46,
fontSize: 11, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 3 — HISTORY TIMELINE
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Discovery Timeline", "From bacterial curiosity to Nobel Prize to FDA approval");
const events = [
{ year: "1987", title: "First CRISPR Discovery", desc: "Yoshizumi Ishino (Japan) notices unusual repeat sequences in E. coli genome — significance unknown at the time", color: C.muted },
{ year: "2002", title: "CRISPR Named", desc: "Ruud Jansen coins 'CRISPR'; Cas genes identified flanking repeat arrays", color: C.green },
{ year: "2007", title: "Immune Function Proven", desc: "Barrangou et al. show CRISPR provides sequence-specific adaptive immunity in Streptococcus thermophilus against bacteriophages", color: C.green },
{ year: "2012", title: "Cas9 Programmable Cutter", desc: "Doudna & Charpentier (Science) demonstrate Cas9 + sgRNA can cut any purified DNA sequence at will", color: C.lime },
{ year: "2013", title: "Mammalian Cell Editing", desc: "Zhang (Broad) and Church (Harvard) independently achieve CRISPR editing in human cell lines", color: C.lime },
{ year: "2018", title: "He Jiankui Scandal", desc: "First CRISPR-edited human babies — internationally condemned as premature and unethical", color: C.red },
{ year: "2020", title: "Nobel Prize", desc: "Chemistry Nobel awarded to Jennifer Doudna & Emmanuelle Charpentier for CRISPR-Cas9", color: C.amber },
{ year: "2023", title: "FDA Approves CASGEVY", desc: "First CRISPR-based drug approved for sickle cell disease and β-thalassaemia", color: C.lime },
];
// Horizontal line
s.addShape(pres.ShapeType.rect, {
x: 0.38, y: 2.75, w: 9.3, h: 0.05,
fill: { color: C.border }, line: { type: "none" }
});
events.forEach((ev, i) => {
let xPos = 0.38 + i * 1.165;
let isAbove = i % 2 === 0;
// Dot on line
s.addShape(pres.ShapeType.ellipse, {
x: xPos + 0.37, y: 2.66, w: 0.22, h: 0.22,
fill: { color: ev.color }, line: { type: "none" }
});
if (isAbove) {
// Year above line
s.addText(ev.year, {
x: xPos, y: 1.68, w: 1.1, h: 0.3,
fontSize: 11, bold: true, color: ev.color,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
// Vertical connector
s.addShape(pres.ShapeType.line, {
x: xPos + 0.485, y: 1.98, w: 0, h: 0.68,
line: { color: ev.color, pt: 1, dashType: "sysDash" }
});
// Card above
card(s, xPos, 0.92, 1.1, 0.76, ev.color);
s.addText(ev.title, {
x: xPos + 0.07, y: 0.95, w: 0.96, h: 0.32,
fontSize: 8.5, bold: true, color: ev.color,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
s.addText(ev.desc, {
x: xPos + 0.07, y: 1.24, w: 0.96, h: 0.4,
fontSize: 7.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
} else {
// Year below line
s.addText(ev.year, {
x: xPos, y: 2.94, w: 1.1, h: 0.3,
fontSize: 11, bold: true, color: ev.color,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
s.addShape(pres.ShapeType.line, {
x: xPos + 0.485, y: 3.24, w: 0, h: 0.55,
line: { color: ev.color, pt: 1, dashType: "sysDash" }
});
card(s, xPos, 3.79, 1.1, 1.55, ev.color);
s.addText(ev.title, {
x: xPos + 0.07, y: 3.83, w: 0.96, h: 0.32,
fontSize: 8.5, bold: true, color: ev.color,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
s.addText(ev.desc, {
x: xPos + 0.07, y: 4.12, w: 0.96, h: 1.16,
fontSize: 7.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
}
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 4 — BACTERIAL IMMUNE SYSTEM (infographic)
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Biological Origin: Bacterial Adaptive Immunity", "CRISPR is nature's own antiviral defence system");
// Three-phase process with connecting arrows
const phases = [
{
num: "1",
title: "ADAPTATION",
color: C.green,
icon: "🦠",
steps: [
"Bacteriophage injects DNA into bacterium",
"Cas1 + Cas2 complex captures a short fragment (proto-spacer) of phage DNA",
"Proto-spacer must carry a PAM (NGG) motif",
"Fragment integrated into CRISPR array as a new SPACER",
"Cell now has immunological memory of this phage"
]
},
{
num: "2",
title: "crRNA BIOGENESIS",
color: C.lime,
icon: "🧪",
steps: [
"CRISPR array transcribed into long pre-crRNA",
"tracrRNA (trans-activating crRNA) base-pairs with pre-crRNA",
"RNase III cleaves into short crRNA fragments",
"Each crRNA contains ONE spacer sequence",
"crRNA + tracrRNA fused → single guide RNA (sgRNA) for lab use"
]
},
{
num: "3",
title: "INTERFERENCE",
color: C.amber,
icon: "✂",
steps: [
"Re-exposure to same phage triggers interference",
"crRNA–tracrRNA–Cas9 complex assembles",
"Scans incoming DNA for PAM motif",
"sgRNA base-pairs with complementary target strand",
"Cas9 HNH + RuvC domains cleave both strands → DSB"
]
}
];
phases.forEach((ph, i) => {
let xPos = 0.38 + i * 3.22;
// Card
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: 0.95, w: 3.05, h: 4.45,
fill: { color: C.bgAlt }, line: { color: ph.color, pt: 2 }, rectRadius: 0.12
});
// Phase number circle
s.addShape(pres.ShapeType.ellipse, {
x: xPos + 0.12, y: 1.0, w: 0.52, h: 0.52,
fill: { color: ph.color }, line: { type: "none" }
});
s.addText(ph.num, {
x: xPos + 0.12, y: 1.0, w: 0.52, h: 0.52,
fontSize: 20, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText(ph.title, {
x: xPos + 0.72, y: 1.03, w: 2.25, h: 0.45,
fontSize: 14, bold: true, color: ph.color,
fontFace: "Trebuchet MS", valign: "middle", margin: 0, charSpacing: 1
});
ph.steps.forEach((step, j) => {
s.addShape(pres.ShapeType.rect, {
x: xPos + 0.15, y: 1.62 + j * 0.58, w: 0.06, h: 0.36,
fill: { color: ph.color }, line: { type: "none" }
});
s.addText(step, {
x: xPos + 0.28, y: 1.60 + j * 0.58, w: 2.66, h: 0.42,
fontSize: 10.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
// Arrow between phases
if (i < 2) {
s.addText("▶", {
x: xPos + 3.05, y: 2.9, w: 0.22, h: 0.4,
fontSize: 18, color: C.muted,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
}
});
s.addText("Source: Tietz Lab Medicine 7e, Ch. 67 | Schwartz's Surgery 11e, Ch. 15", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 5 — MOLECULAR COMPONENTS (visual)
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Molecular Components", "Two-component system: Cas9 protein + single guide RNA");
// Central "scissor" diagram area
s.addShape(pres.ShapeType.roundRect, {
x: 3.8, y: 1.0, w: 2.4, h: 4.3,
fill: { color: C.bgPanel }, line: { color: C.lime, pt: 2 }, rectRadius: 0.12
});
s.addText("CAS9\n+\nsgRNA\nCOMPLEX", {
x: 3.8, y: 1.8, w: 2.4, h: 2.0,
fontSize: 18, bold: true, color: C.lime,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText("✂", {
x: 3.8, y: 3.85, w: 2.4, h: 0.8,
fontSize: 38, color: C.lime,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
// Connecting lines to cards
// Left to center
s.addShape(pres.ShapeType.line, { x: 3.2, y: 3.15, w: 0.6, h: 0, line: { color: C.lime, pt: 1.5, dashType: "dash" } });
// Right to center
s.addShape(pres.ShapeType.line, { x: 6.2, y: 3.15, w: 0.6, h: 0, line: { color: C.green, pt: 1.5, dashType: "dash" } });
// LEFT — Cas9 card
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 1.0, w: 3.2, h: 4.3,
fill: { color: C.bgAlt }, line: { color: C.lime, pt: 1.5 }, rectRadius: 0.1
});
s.addText("CAS9 PROTEIN", {
x: 0.38, y: 1.06, w: 3.0, h: 0.38,
fontSize: 13, bold: true, color: C.lime,
fontFace: "Trebuchet MS", align: "center", charSpacing: 1, margin: 0
});
s.addText("Streptococcus pyogenes (SpCas9)", {
x: 0.38, y: 1.42, w: 3.0, h: 0.26,
fontSize: 9.5, color: C.muted, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
const cas9 = [
["Size", "~160 kDa, 1368 amino acids"],
["Architecture", "Bilobed — recognition lobe + nuclease lobe"],
["RuvC domain", "Cleaves non-template (PAM-containing) strand"],
["HNH domain", "Cleaves template strand (sgRNA-complementary)"],
["PAM site", "Reads 5'-NGG-3'; positions Cas9 for cleavage"],
["Cut site", "Blunt-end DSB 3 bp upstream of PAM"],
["dCas9", "Dead Cas9 — no nuclease; used for CRISPRi/a"],
];
cas9.forEach(([k, v], i) => {
s.addText([
{ text: k + ": ", options: { bold: true, color: C.lime, fontSize: 10.5 } },
{ text: v, options: { color: C.offWhite, fontSize: 10.5 } }
], {
x: 0.38, y: 1.75 + i * 0.5, w: 3.0, h: 0.44,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
// RIGHT — sgRNA card
s.addShape(pres.ShapeType.roundRect, {
x: 6.52, y: 1.0, w: 3.2, h: 4.3,
fill: { color: C.bgAlt }, line: { color: C.green, pt: 1.5 }, rectRadius: 0.1
});
s.addText("SINGLE GUIDE RNA (sgRNA)", {
x: 6.62, y: 1.06, w: 3.0, h: 0.38,
fontSize: 13, bold: true, color: C.green,
fontFace: "Trebuchet MS", align: "center", charSpacing: 1, margin: 0
});
s.addText("crRNA + tracrRNA fusion", {
x: 6.62, y: 1.42, w: 3.0, h: 0.26,
fontSize: 9.5, color: C.muted, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
const sgrna = [
["Spacer", "20 nt complementary to target DNA — determines specificity"],
["Scaffold", "tracrRNA-derived; binds and activates Cas9"],
["Seed region", "12 nt PAM-proximal — must match for cleavage"],
["PAM-distal", "Up to 5 mismatches tolerated → off-target risk"],
["Design", "Only 20 nt change needed to retarget Cas9"],
["Delivery", "Plasmid, in vitro transcript, or synthetic RNA"],
["Off-target", "CCLMoff AI predicts off-target risk (2025 tool)"],
];
sgrna.forEach(([k, v], i) => {
s.addText([
{ text: k + ": ", options: { bold: true, color: C.green, fontSize: 10.5 } },
{ text: v, options: { color: C.offWhite, fontSize: 10.5 } }
], {
x: 6.62, y: 1.75 + i * 0.5, w: 3.0, h: 0.44,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
s.addText("Source: Harper's Biochemistry 32e, Table 39-2 | Schwartz's Surgery 11e, p. 534", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 6 — MECHANISM (step flow)
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Mechanism of Action", "How CRISPR-Cas9 finds and cuts its target");
const steps = [
{ n: "1", title: "Design sgRNA", color: C.green, text: "Select a 20 nt sequence from target locus immediately upstream of an NGG PAM motif. Use online tools (Benchling, CRISPOR) to minimise off-target risk. Clone into expression vector." },
{ n: "2", title: "Cas9 Loading", color: C.limeDeep, text: "Cas9 is expressed or introduced as protein/mRNA. It binds the sgRNA scaffold and undergoes conformational activation. The bilobed structure opens to accept the guide." },
{ n: "3", title: "DNA Scanning", color: C.lime, text: "Cas9–sgRNA complex diffuses along DNA. It pauses at each NGG PAM and locally unwinds dsDNA to check for sgRNA–target complementarity (3D sliding/hopping)." },
{ n: "4", title: "R-loop Formation", color: C.lime, text: "If the 20 nt seed region matches, the sgRNA invades the DNA duplex, displacing one strand to form a stable RNA–DNA hybrid (R-loop). This triggers nuclease domain activation." },
{ n: "5", title: "Double-Strand Break", color: C.amber, text: "HNH domain cleaves the template strand; RuvC domain cleaves the non-template strand. Result: blunt-ended DSB precisely 3 bp upstream of the PAM sequence." },
{ n: "6", title: "Cell Repair Response", color: C.red, text: "NHEJ: fast but error-prone; joins cut ends with random insertions/deletions → frameshift → gene KO. HDR: precise repair using a donor template → correction or insertion of any sequence." },
];
const cols = [steps.slice(0, 3), steps.slice(3)];
cols.forEach((col, ci) => {
col.forEach((step, ri) => {
let xPos = 0.28 + ci * 5.0;
let yPos = 0.95 + ri * 1.56;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.7, h: 1.46,
fill: { color: C.bgAlt }, line: { color: step.color, pt: 1.5 }, rectRadius: 0.1
});
// Step badge
s.addShape(pres.ShapeType.ellipse, {
x: xPos + 0.12, y: yPos + 0.1, w: 0.44, h: 0.44,
fill: { color: step.color }, line: { type: "none" }
});
s.addText(step.n, {
x: xPos + 0.12, y: yPos + 0.1, w: 0.44, h: 0.44,
fontSize: 18, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText(step.title, {
x: xPos + 0.65, y: yPos + 0.1, w: 3.9, h: 0.38,
fontSize: 13, bold: true, color: step.color,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
s.addText(step.text, {
x: xPos + 0.12, y: yPos + 0.56, w: 4.46, h: 0.84,
fontSize: 10.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
// Down arrow between cards in same column
if (ri < 2) {
s.addText("▼", {
x: xPos + 1.9, y: yPos + 1.48, w: 0.5, h: 0.1,
fontSize: 10, color: C.muted,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
}
});
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 7 — NHEJ vs HDR (split visual)
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "DNA Repair After the Cut: NHEJ vs HDR", "The pathway chosen determines the biological outcome");
s.addText("Cas9 DSB", {
x: 4.05, y: 0.92, w: 1.9, h: 0.35,
fontSize: 12, bold: true, color: C.amber,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
s.addShape(pres.ShapeType.ellipse, {
x: 4.6, y: 1.28, w: 0.8, h: 0.28,
fill: { color: C.amber }, line: { type: "none" }
});
// Left arrow
s.addText("◀─────", {
x: 0.28, y: 1.3, w: 4.2, h: 0.28,
fontSize: 13, color: C.red,
fontFace: "Trebuchet MS", align: "right", margin: 0
});
// Right arrow
s.addText("─────▶", {
x: 5.5, y: 1.3, w: 4.2, h: 0.28,
fontSize: 13, color: C.lime,
fontFace: "Trebuchet MS", align: "left", margin: 0
});
s.addText("No template available", {
x: 0.28, y: 1.62, w: 4.2, h: 0.25,
fontSize: 10, color: C.red, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
s.addText("Donor template provided", {
x: 5.5, y: 1.62, w: 4.2, h: 0.25,
fontSize: 10, color: C.lime, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
// NHEJ card
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 1.92, w: 4.35, h: 3.4,
fill: { color: C.bgAlt }, line: { color: C.red, pt: 2 }, rectRadius: 0.12
});
s.addText("NHEJ", {
x: 0.38, y: 1.97, w: 4.15, h: 0.42,
fontSize: 18, bold: true, color: C.red,
fontFace: "Trebuchet MS", align: "center", charSpacing: 3, margin: 0
});
s.addText("Non-Homologous End-Joining", {
x: 0.38, y: 2.36, w: 4.15, h: 0.3,
fontSize: 10, color: C.muted, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
const nhej = [
["Speed", "Fast; active throughout all cell cycle phases"],
["Template", "None required"],
["Mechanism", "Ku70/Ku80 bind DSB ends; DNAPK recruits ligase IV → Artmeis → ligates with errors"],
["Outcome", "Random indels (insertions/deletions) at cut site"],
["Effect", "Frameshift → premature stop codon → loss-of-function (gene KO)"],
["Use", "High-efficiency gene knockout experiments"],
["Efficiency", "Very high (~80–95% editing rate in many cell lines)"],
];
nhej.forEach(([k, v], i) => {
s.addText([
{ text: k + ": ", options: { bold: true, color: C.red, fontSize: 10.5 } },
{ text: v, options: { color: C.offWhite, fontSize: 10.5 } }
], {
x: 0.42, y: 2.72 + i * 0.38, w: 4.08, h: 0.36,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
// HDR card
s.addShape(pres.ShapeType.roundRect, {
x: 5.37, y: 1.92, w: 4.35, h: 3.4,
fill: { color: C.bgAlt }, line: { color: C.lime, pt: 2 }, rectRadius: 0.12
});
s.addText("HDR", {
x: 5.47, y: 1.97, w: 4.15, h: 0.42,
fontSize: 18, bold: true, color: C.lime,
fontFace: "Trebuchet MS", align: "center", charSpacing: 3, margin: 0
});
s.addText("Homology-Directed Repair", {
x: 5.47, y: 2.36, w: 4.15, h: 0.3,
fontSize: 10, color: C.muted, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
const hdr = [
["Speed", "Slow; restricted to S/G2 phase of cell cycle"],
["Template", "ssDNA oligo or dsDNA donor required"],
["Mechanism", "Broken strands invade donor template; DNA synthesis using template sequence"],
["Outcome", "Precise gene correction, insertion, or mutation"],
["Effect", "Any defined sequence change at exact location"],
["Use", "Therapeutic correction of monogenic diseases"],
["Efficiency", "Low (~1–10% in somatic cells; higher in iPSCs)"],
];
hdr.forEach(([k, v], i) => {
s.addText([
{ text: k + ": ", options: { bold: true, color: C.lime, fontSize: 10.5 } },
{ text: v, options: { color: C.offWhite, fontSize: 10.5 } }
], {
x: 5.51, y: 2.72 + i * 0.38, w: 4.08, h: 0.36,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
s.addText("Source: Schwartz's Principles of Surgery 11e, pp. 533–534", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 8 — DELIVERY METHODS
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Delivery Methods", "How CRISPR components are introduced into target cells");
const methods = [
{
name: "Plasmid DNA",
color: C.green,
pros: ["Easy to prepare", "Encodes both Cas9 + sgRNA", "Long-term expression possible"],
cons: ["Risk of genomic integration", "Persistent expression → more off-targets", "Low efficiency in primary cells"]
},
{
name: "Viral Vectors",
color: C.lime,
pros: ["AAV: high in vivo tropism", "Lentivirus: stable integration", "High transduction efficiency"],
cons: ["AAV: 4.7 kb cargo limit (SpCas9 = 4.2 kb, tight fit)", "Immunogenicity risk", "Insertional mutagenesis (lentivirus)"]
},
{
name: "mRNA + sgRNA",
color: C.amber,
pros: ["No genomic integration risk", "Transient expression → fewer off-targets", "Suitable for LNP delivery"],
cons: ["mRNA instability; needs cold chain", "Less efficient in non-dividing cells", "Repeated dosing may be needed"]
},
{
name: "RNP Complex",
color: C.limeDeep,
pros: ["Cas9 protein + sgRNA pre-formed", "Immediate activity; rapidly degraded", "Lowest off-target rate of all methods"],
cons: ["Short activity window may reduce editing efficiency", "Expensive protein production at scale", "Limited in vivo delivery options"]
},
{
name: "Lipid Nanoparticles (LNP)",
color: C.green,
pros: ["Clinically validated (mRNA COVID vaccines)", "CPS1 infant case (2025): LNP delivered in vivo", "No immunogenicity from viral proteins"],
cons: ["Primarily liver-tropic; hard to retarget other tissues", "Endosomal escape efficiency limits potency", "Stability and storage challenges"]
},
{
name: "Electroporation / Nucleofection",
color: C.lime,
pros: ["High efficiency in ex vivo settings", "Used for CAR-T manufacturing (CASGEVY)", "Works with RNP or mRNA"],
cons: ["Cell toxicity; not suitable for in vivo", "Requires specialised equipment", "Not scalable for some cell types"]
},
];
methods.forEach((m, i) => {
let col = i % 3;
let row = Math.floor(i / 3);
let xPos = 0.28 + col * 3.24;
let yPos = 0.95 + row * 2.28;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 3.1, h: 2.18,
fill: { color: C.bgAlt }, line: { color: m.color, pt: 1.5 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, {
x: xPos, y: yPos, w: 3.1, h: 0.38,
fill: { color: m.color }, line: { type: "none" }
});
s.addText(m.name, {
x: xPos + 0.08, y: yPos, w: 2.94, h: 0.38,
fontSize: 11.5, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
s.addText("✓ " + m.pros.join(" ✓ "), {
x: xPos + 0.08, y: yPos + 0.42, w: 2.94, h: 0.82,
fontSize: 9, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
s.addShape(pres.ShapeType.rect, {
x: xPos + 0.08, y: yPos + 1.25, w: 2.94, h: 0.02,
fill: { color: C.border }, line: { type: "none" }
});
s.addText("✗ " + m.cons.join(" ✗ "), {
x: xPos + 0.08, y: yPos + 1.3, w: 2.94, h: 0.8,
fontSize: 9, color: C.red,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
});
s.addText("Source: Laurent et al. Cells 2024 (PMID 38786024) | Cetin et al. Expert Rev Mol Med 2025 (PMID 40160040)", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 9 — MEDICAL APPLICATIONS
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Medical Applications", "From approved therapies to clinical trials");
// Approved box full-width
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 0.96, w: 9.44, h: 1.05,
fill: { color: "0A2810" }, line: { color: C.lime, pt: 2.5 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 0.96, w: 1.45, h: 0.42,
fill: { color: C.lime }, line: { type: "none" }, rectRadius: 0.06
});
s.addText("FDA APPROVED", {
x: 0.28, y: 0.96, w: 1.45, h: 0.42,
fontSize: 10, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText([
{ text: "CASGEVY ", options: { bold: true, color: C.lime, fontSize: 14 } },
{ text: "(exagamglogene autotemcel) · Vertex + CRISPR Therapeutics · Dec 2023 | ", options: { color: C.offWhite, fontSize: 11 } },
{ text: "Sickle Cell Disease + β-Thalassaemia", options: { bold: true, color: C.amber, fontSize: 11 } },
], { x: 1.85, y: 0.97, w: 7.75, h: 0.42, fontFace: "Trebuchet MS", valign: "middle", margin: 0 });
s.addText("Mechanism: CRISPR KO of BCL11A enhancer → reactivates fetal haemoglobin (HbF) → compensates for defective adult Hb | 5.5 yr follow-up: 95.6% SCD patients free from VOC; 98.2% β-thal patients transfusion-independent", {
x: 0.38, y: 1.42, w: 9.24, h: 0.52,
fontSize: 10, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
// Four application domains
const domains = [
{
cat: "HAEMATOLOGY",
color: C.lime,
items: [
"EDIT-301: HbF reactivation via AsCas12a editing of HBG1/2 promoters (Phase II)",
"CAR-T cell manufacturing: ex vivo CRISPR KO of TRAC + PDCD1 for universal donor T-cells",
"Diamond-Blackfan anaemia and Fanconi anaemia: trials in planning"
]
},
{
cat: "ONCOLOGY",
color: C.green,
items: [
"NTLA-5001: CRISPR-edited T-cell receptor T-cells for AML (Phase I/II)",
"CRISPR screens (2024) identified CITED2, KMT2C, PRMT7 as prostate cancer metastasis drivers",
"Universal CAR-T cells for B-cell malignancies (ALLO-501A, Phase I)"
]
},
{
cat: "INFECTIOUS DISEASE",
color: C.amber,
items: [
"EBT-101 (Excision Biotherapeutics): guide RNAs excise HIV proviral DNA (Phase I/II completed)",
"SHERLOCK (Cas13-based SARS-CoV-2 diagnostic): first CRISPR diagnostic with FDA EUA",
"HBV / HCV / HSV: CRISPR silencing of viral genomes in infected hepatocytes"
]
},
{
cat: "METABOLIC / NEURO",
color: C.limeDeep,
items: [
"NTLA-2001 (hATTR): CRISPR KO of TTR gene in liver; ~90% sustained reduction in TTR protein (NEJM Nov 2024)",
"HAE: NTLA-2002 targets KLKB1; single IV dose; Phase I/II showing durable efficacy",
"CPS1 deficiency: personalised LNP-delivered CRISPR corrected mutation in infant (May 2025, first personalised CRISPR therapy)"
]
},
];
domains.forEach((d, i) => {
let col = i % 2;
let row = Math.floor(i / 2);
let xPos = 0.28 + col * 4.76;
let yPos = 2.1 + row * 1.76;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.58, h: 1.66,
fill: { color: C.bgAlt }, line: { color: d.color, pt: 1.5 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, {
x: xPos, y: yPos, w: 1.7, h: 0.32,
fill: { color: d.color }, line: { type: "none" }
});
s.addText(d.cat, {
x: xPos + 0.06, y: yPos, w: 1.58, h: 0.32,
fontSize: 9.5, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
d.items.forEach((item, j) => {
s.addShape(pres.ShapeType.ellipse, { x: xPos + 0.1, y: yPos + 0.4 + j * 0.42, w: 0.1, h: 0.1, fill: { color: d.color }, line: { type: "none" } });
s.addText(item, {
x: xPos + 0.26, y: yPos + 0.36 + j * 0.42, w: 4.22, h: 0.4,
fontSize: 9.8, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
});
});
s.addText("Sources: Singh et al. Ann Med Surg 2024 (PMID 39118728) | Cetin et al. 2025 (PMID 40160040) | CRISPR Medicine News Jun 2025", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 10 — LIMITATIONS
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Limitations & Challenges", "Barriers to safe and widespread clinical use");
const lims = [
{
title: "Off-Target Cleavage",
icon: "🎯",
color: C.red,
text: "Cas9 tolerates up to 5 nt mismatches in the PAM-distal region. Can cause DSBs at unintended loci → oncogene activation or tumour suppressor KO. Seed region (12 nt PAM-proximal) must match; distal mismatches tolerated."
},
{
title: "PAM Restriction",
icon: "🔒",
color: C.amber,
text: "SpCas9 requires NGG PAM, which limits targetable sites. ~1 in 8 bp is an NGG — still can't target all sequences. SaCas9 (NNGRRT) and Cas12a (TTTV) broaden reach. SpRY variant recognises near-PAMless sites."
},
{
title: "Delivery Constraints",
icon: "🚚",
color: C.amber,
text: "SpCas9 gene is 4.2 kb — near the AAV carrying limit of 4.7 kb. Leaves little room for promoter + sgRNA. LNPs are liver-tropic; hard to target CNS, lung, muscle in vivo. RNPs work ex vivo but limited in vivo."
},
{
title: "Immunogenicity",
icon: "💉",
color: C.red,
text: "Pre-existing anti-Cas9 antibodies found in >50% of healthy adults (S. pyogenes is a common pathogen). Humoral + cellular immunity can neutralise therapy. Emerging solution: use smaller orthologous Cas proteins from less common bacteria."
},
{
title: "Mosaicism",
icon: "🧩",
color: C.limeDeep,
text: "Incomplete editing creates mixed populations of edited/unedited cells. Particularly problematic in embryo editing and organismal studies. Outcomes become unpredictable — some cells KO'd, others intact."
},
{
title: "HDR Inefficiency",
icon: "📉",
color: C.limeDeep,
text: "HDR efficiency is only 1–10% in most somatic cells. NHEJ competes with and dominates in non-dividing cells (G1 phase). Greatly limits therapeutic correction of point mutations (e.g. sickle cell HbS → HbA correction by HDR)."
},
];
lims.forEach((lim, i) => {
let col = i % 2;
let row = Math.floor(i / 2);
let xPos = 0.28 + col * 4.9;
let yPos = 0.95 + row * 1.58;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: yPos, w: 4.55, h: 1.48,
fill: { color: C.bgAlt }, line: { color: lim.color, pt: 1.5 }, rectRadius: 0.1
});
// Left colour band
s.addShape(pres.ShapeType.rect, {
x: xPos, y: yPos, w: 0.14, h: 1.48,
fill: { color: lim.color }, line: { type: "none" }
});
s.addText("⚠ " + lim.title, {
x: xPos + 0.22, y: yPos + 0.05, w: 4.25, h: 0.35,
fontSize: 13, bold: true, color: lim.color,
fontFace: "Trebuchet MS", margin: 0
});
s.addText(lim.text, {
x: xPos + 0.22, y: yPos + 0.42, w: 4.25, h: 1.0,
fontSize: 10.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
});
s.addText("Source: Tyumentseva et al. Int J Mol Sci 2023 (PMID 38003266) | Laurent et al. Cells 2024 (PMID 38786024)", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 11 — ETHICS
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Ethical Considerations", "Power and responsibility in genome editing");
// He Jiankui highlight bar
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: 0.95, w: 9.44, h: 0.82,
fill: { color: "2A0A0A" }, line: { color: C.red, pt: 2 }, rectRadius: 0.08
});
s.addText([
{ text: "⚠ CASE STUDY: ", options: { bold: true, color: C.red, fontSize: 12 } },
{ text: "He Jiankui (2018) — Chinese scientist used CRISPR to edit CCR5 gene in human embryos (to confer HIV resistance) → two babies born. Universally condemned. Sentenced to 3 years prison. Highlights danger of premature clinical germline editing.", options: { color: C.offWhite, fontSize: 11 } }
], { x: 0.42, y: 0.98, w: 9.16, h: 0.75, fontFace: "Trebuchet MS", valign: "middle", margin: 0 });
const ethicsBlocks = [
{
title: "GERMLINE vs SOMATIC",
color: C.red,
points: [
"Somatic editing: changes do NOT pass to offspring; currently permissible under IRB oversight",
"Germline editing: heritable; affects ALL future generations without consent",
"Global moratorium on clinical germline editing (WHO, NAS, Royal Society)",
"Somatic editing for disease treatment: ethically acceptable if risks are proportionate",
"Concern: gradual 'slippery slope' from therapy to enhancement ('designer babies')"
]
},
{
title: "EQUITY & ACCESS",
color: C.amber,
points: [
"CASGEVY costs ~$2.2 million USD — 95% of SCD patients live in sub-Saharan Africa & South Asia",
"IP disputes (UC Berkeley vs Broad Institute) fragment access and slow technology transfer",
"LMICs excluded from most clinical trial recruitment and benefit sharing",
"WHO framework (2021): calls for global governance and equitable benefit sharing",
"Technology could entrench health disparities if not actively redistributed"
]
},
{
title: "SAFETY & CONSENT",
color: C.lime,
points: [
"Off-target effects may be carcinogenic; decades of follow-up needed",
"Patients may not fully understand permanence of genome changes — informed consent is complex",
"Editing in minors and embryos: subjects cannot consent for themselves",
"Gene drives in ecology: CRISPR could permanently alter wild populations/ecosystems",
"Regulatory lag: FDA/EMA frameworks still evolving to keep pace with technology"
]
}
];
ethicsBlocks.forEach((blk, i) => {
let xPos = 0.28 + i * 3.22;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: 1.88, w: 3.1, h: 3.5,
fill: { color: C.bgAlt }, line: { color: blk.color, pt: 2 }, rectRadius: 0.1
});
s.addText(blk.title, {
x: xPos + 0.1, y: 1.93, w: 2.9, h: 0.42,
fontSize: 11.5, bold: true, color: blk.color,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
blk.points.forEach((pt, j) => {
s.addShape(pres.ShapeType.ellipse, { x: xPos + 0.12, y: 2.45 + j * 0.58, w: 0.1, h: 0.1, fill: { color: blk.color }, line: { type: "none" } });
s.addText(pt, {
x: xPos + 0.28, y: 2.41 + j * 0.58, w: 2.72, h: 0.52,
fontSize: 10, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
});
});
s.addText("Source: Cetin et al. 2025 (PMID 40160040) | WHO Human Genome Editing Framework 2021", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 12 — FUTURE & NEXT-GEN TOOLS
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
header(s, "Future Directions & Next-Generation Tools", "Beyond CRISPR-Cas9: the next wave of genome medicine");
// Next-gen tools row
const tools = [
{ name: "Base Editing", color: C.lime, text: "ABE8e or CBE4max: converts A→G or C→T without DSB. No R-loop; no double-strand break → much lower off-target risk. Clinical: BEACON-1 for sickle cell.", },
{ name: "Prime Editing", color: C.green, text: "'Search-and-replace' genome editing. pegRNA encodes both the guide and the new sequence. Can install any small edit (<10 kb); no donor DNA needed.", },
{ name: "CRISPRi / CRISPRa", color: C.amber, text: "dCas9 (no nuclease) fused to KRAB repressor (CRISPRi) or VPR activator (CRISPRa). Reversible gene silencing or activation without cutting DNA.", },
{ name: "Epigenome Editing", color: C.limeDeep, text: "TUNE-401 for hepatitis B: dCas9 + methyltransferase silences HBV cccDNA via epigenetic marks. Avoids permanent DNA modification.", },
];
tools.forEach((tool, i) => {
let xPos = 0.28 + i * 2.4;
s.addShape(pres.ShapeType.roundRect, {
x: xPos, y: 0.96, w: 2.25, h: 2.35,
fill: { color: C.bgAlt }, line: { color: tool.color, pt: 2 }, rectRadius: 0.1
});
s.addShape(pres.ShapeType.rect, {
x: xPos, y: 0.96, w: 2.25, h: 0.38,
fill: { color: tool.color }, line: { type: "none" }
});
s.addText(tool.name, {
x: xPos + 0.08, y: 0.96, w: 2.09, h: 0.38,
fontSize: 11, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
s.addText(tool.text, {
x: xPos + 0.1, y: 1.37, w: 2.05, h: 1.88,
fontSize: 10, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "top", margin: 0
});
});
// Pipeline table
s.addShape(pres.ShapeType.rect, {
x: 0.28, y: 3.44, w: 9.44, h: 0.34,
fill: { color: C.bgPanel }, line: { type: "none" }
});
s.addText("SELECTED CLINICAL PIPELINE (2025–2026)", {
x: 0.38, y: 3.44, w: 9.24, h: 0.34,
fontSize: 12, bold: true, color: C.lime,
fontFace: "Trebuchet MS", valign: "middle", charSpacing: 1, margin: 0
});
const pipeline = [
{ phase: "Approved", drug: "CASGEVY", indication: "SCD + β-Thalassaemia", color: C.lime },
{ phase: "Phase III", drug: "NTLA-2001", indication: "hATTR Amyloidosis (~90% TTR reduction)", color: C.green },
{ phase: "Phase II", drug: "EDIT-301", indication: "SCD / β-Thalassaemia (AsCas12a)", color: C.limeDeep },
{ phase: "Phase I/II", drug: "EBT-101", indication: "HIV/AIDS (HIV genome excision)", color: C.amber },
{ phase: "Phase I/II", drug: "NTLA-5001", indication: "Acute Myeloid Leukaemia", color: C.amber },
{ phase: "Phase I", drug: "Personalised CRISPR (CPS1)", indication: "CPS1 deficiency (infant, LNP)", color: C.limeDeep },
];
pipeline.forEach((p, i) => {
let yy = 3.85 + i * 0.29;
s.addShape(pres.ShapeType.roundRect, {
x: 0.28, y: yy, w: 0.88, h: 0.24,
fill: { color: p.color }, line: { type: "none" }, rectRadius: 0.04
});
s.addText(p.phase, {
x: 0.28, y: yy, w: 0.88, h: 0.24,
fontSize: 8.5, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText([
{ text: p.drug + " ", options: { bold: true, color: p.color, fontSize: 10 } },
{ text: p.indication, options: { color: C.offWhite, fontSize: 10 } }
], { x: 1.22, y: yy, w: 8.42, h: 0.24, fontFace: "Trebuchet MS", valign: "middle", margin: 0 });
});
s.addText("Sources: CRISPR Medicine News Jun 2025 | Cetin et al. 2025 (PMID 40160040) | Singh et al. 2024 (PMID 39118728)", {
x: 0.38, y: 5.4, w: 9.3, h: 0.2,
fontSize: 8.5, color: C.muted, italic: true, fontFace: "Trebuchet MS"
});
}
// ════════════════════════════════════════════════════════════════
// SLIDE 13 — CONCLUSION / SUMMARY
// ════════════════════════════════════════════════════════════════
{
let s = pres.addSlide();
s.background = { color: C.bg };
// Full lime top bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 0, w: 10, h: 1.05, fill: { color: C.lime }, line: { type: "none" } });
s.addText("Summary & Key Takeaways", {
x: 0.3, y: 0.08, w: 9.4, h: 0.58,
fontSize: 30, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", charSpacing: 2, margin: 0
});
s.addText("CRISPR-Cas9 · Biochemistry Seminar · 1st Year MBBS", {
x: 0.3, y: 0.65, w: 9.4, h: 0.32,
fontSize: 12, color: C.darkText, italic: true,
fontFace: "Trebuchet MS", align: "center", margin: 0
});
// Left accent bar
s.addShape(pres.ShapeType.rect, { x: 0, y: 1.05, w: 0.18, h: 4.575, fill: { color: C.limeDeep }, line: { type: "none" } });
const takeaways = [
{ color: C.lime, text: "CRISPR-Cas9 is a 2-component system (Cas9 + sgRNA) derived from bacterial adaptive immunity. Cas9 creates a site-specific blunt-ended DSB 3 bp upstream of the NGG PAM motif." },
{ color: C.green, text: "DNA repair via NHEJ produces random indels → gene knockout; HDR enables precise editing using a donor template. Choice of pathway is determined by experimental design and cell cycle phase." },
{ color: C.amber, text: "CASGEVY (FDA Dec 2023) — the world's first CRISPR therapy — treats SCD + β-thalassaemia by BCL11A KO, reactivating fetal haemoglobin. 5.5-year data confirms durable efficacy." },
{ color: C.limeDeep, text: "Off-target effects, immunogenicity, delivery limitations, and low HDR efficiency remain key challenges. Next-gen tools (base editing, prime editing, CRISPRi/a) address many of these barriers." },
{ color: C.red, text: "Germline editing is globally condemned by WHO, NAS, and major scientific societies. Somatic editing is permissible with regulatory oversight. Equity in access is a critical unresolved issue." },
];
takeaways.forEach((t, i) => {
let yy = 1.12 + i * 0.88;
s.addShape(pres.ShapeType.ellipse, {
x: 0.28, y: yy + 0.16, w: 0.38, h: 0.38,
fill: { color: t.color }, line: { type: "none" }
});
s.addText(String(i + 1), {
x: 0.28, y: yy + 0.16, w: 0.38, h: 0.38,
fontSize: 14, bold: true, color: C.darkText,
fontFace: "Trebuchet MS", align: "center", valign: "middle", margin: 0
});
s.addText(t.text, {
x: 0.76, y: yy + 0.06, w: 9.0, h: 0.78,
fontSize: 11.5, color: C.offWhite,
fontFace: "Trebuchet MS", valign: "middle", margin: 0
});
if (i < 4) {
s.addShape(pres.ShapeType.rect, {
x: 0.76, y: yy + 0.86, w: 9.0, h: 0.02,
fill: { color: C.border }, line: { type: "none" }
});
}
});
s.addShape(pres.ShapeType.rect, { x: 0, y: 5.45, w: 10, h: 0.18, fill: { color: C.bgPanel }, line: { type: "none" } });
s.addText("Harper's Biochemistry 32e | Schwartz's Surgery 11e | Tietz Lab Medicine 7e | PMIDs: 38003266 · 38786024 · 39118728 · 40160040", {
x: 0.3, y: 5.46, w: 9.4, h: 0.18,
fontSize: 7.5, color: C.muted, fontFace: "Trebuchet MS", align: "center"
});
}
// ─── WRITE ─────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/crispr-pptx/CRISPR_Cas9_v2_MBBS.pptx" })
.then(() => console.log("✓ v2 written successfully"))
.catch(err => { console.error(err); process.exit(1); });
cd /home/daytona/workspace/crispr-pptx && node build_v2.js 2>&1
ls -lh /home/daytona/workspace/crispr-pptx/CRISPR_Cas9_v2_MBBS.pptx
CRISPR Cas9 v2 MBBS
Presentation · PPTX
| # | Slide | What's new |
|---|---|---|
| 1 | Title | CRISPR in giant 88pt type with simulated DNA helix animation dots |
| 2 | What is CRISPR? | NEW — Colour-blocked CRISPR acronym breakdown + Origin vs Why it Matters cards |
| 3 | Timeline | Redesigned as alternating above/below horizontal timeline (infographic style) |
| 4 | Bacterial Immunity | 3-phase process with connecting arrows between phase cards |
| 5 | Molecular Components | Central scissor diagram with Cas9 and sgRNA flanking cards |
| 6 | Mechanism | 6-step flow in 2 columns with down-arrows between steps |
| 7 | NHEJ vs HDR | DSB at centre, arrows branching left (NHEJ) and right (HDR) |
| 8 | Delivery Methods | NEW dedicated slide — 6 delivery methods as pro/con cards |
| 9 | Applications | Full-width CASGEVY approved banner + 4 domain cards |
| 10 | Limitations | Left colour-band cards with warning icons |
| 11 | Ethics | He Jiankui red alert banner + 3 pillar cards |
| 12 | Future Tools | 4 next-gen CRISPR tools + clinical pipeline table |
| 13 | Summary | Lime header + 5 numbered takeaways with dividers |
the ppt provided by you is not opening . can you resend it again
ls -lh /home/daytona/workspace/crispr-pptx/
cd /home/daytona/workspace/crispr-pptx && node build_v2.js 2>&1 && ls -lh CRISPR_Cas9_v2_MBBS.pptx
CRISPR Cas9 v2 MBBS
Presentation · PPTX
CRISPR Cas9 MBBS Seminar
Presentation · PPTX
give me a content for a single slide on PAM
5'— [20 nt TARGET / Protospacer] — N G G — 3' (non-template strand)
3'— [20 nt complement ] — N C C — 5' (template strand)
↑
PAM
| Purpose | Explanation |
|---|---|
| Self vs non-self discrimination | Bacterial CRISPR arrays lack a PAM next to stored spacers → Cas9 avoids cutting its own genome |
| Strand unwinding trigger | PAM binding causes local DNA melting, allowing sgRNA to scan for complementarity |
| Cleavage positioning | PAM anchors Cas9 precisely so HNH and RuvC domains align with the correct bp |
| Cas Protein | Organism | PAM | Notes |
|---|---|---|---|
| SpCas9 | S. pyogenes | 5'-NGG-3' | Most widely used; ~1 NGG every 8 bp |
| SaCas9 | S. aureus | 5'-NNGRRT-3' | Smaller size; better for AAV delivery |
| Cas12a (Cpf1) | Acidaminococcus | 5'-TTTV-3' | PAM is upstream; staggered cut |
| SpRY | Engineered SpCas9 | Near-PAMless | Recognises NRN and NYN; maximum flexibility |
| SpCas9-NG | Engineered | 5'-NG-3' | Relaxed PAM; more target options |
why does NHEJ active in all phases of cell cycle and HDR only in s phase
G1 phase: [Chromosome 1] [Chromosome 2]
← one copy each; homologous chromosomes are NOT closely aligned
S phase: [Chromosome 1] ══ [Sister chromatid 1] ← exact copy right next to it!
[Chromosome 2] ══ [Sister chromatid 2]
G2 phase: Same as S — sister chromatids still tethered together (cohesins)
| Phase | CDK Activity | Effect on HDR |
|---|---|---|
| G1 | CDK activity LOW | BRCA1 and CtIP (HDR initiators) are not phosphorylated → inactive |
| S phase | CDK2 rises | CtIP phosphorylated by CDK2 → activates DNA end resection |
| G2 | CDK1/2 both high | HDR fully active; BRCA1/PALB2/BRCA2/RAD51 complex assembled |
| Mitosis | CDK1 peaks then falls | HDR suppressed again; chromosomes condensed |
G1: DSB → Ku70/80 bind instantly → 53BP1 blocks resection → NHEJ
S/G2: DSB → CDK2 activates CtIP → BRCA1 displaces 53BP1 → resection → RAD51 → HDR