Topic: absorption of protein
protein digestion absorption intestine amino acid transporters
| Zymogen | Active Enzyme | Type | Products |
|---|---|---|---|
| Trypsinogen | Trypsin (activated by enterokinase/enteropeptidase) | Endopeptidase | Oligopeptides |
| Chymotrypsinogen | Chymotrypsin (activated by trypsin) | Endopeptidase | Oligopeptides |
| Proelastase | Elastase (activated by trypsin) | Endopeptidase | Oligopeptides |
| Procarboxypeptidase A/B | Carboxypeptidases A/B (activated by trypsin) | Exopeptidases | Free AAs from C-terminus |
Trypsin is the master activator — it activates all other pancreatic proteolytic enzymes (including itself, via autocatalysis). Absence of trypsin alone (e.g., in cystic fibrosis, chronic pancreatitis) effectively abolishes all pancreatic proteolysis.
Once di/tripeptides enter the enterocyte, cytoplasmic peptidases hydrolyze them to free AAs.
| System | Transport Mechanism | Substrates |
|---|---|---|
| B⁰,AT1 (SLC6A19) | Na⁺-dependent | Neutral AAs (broad) |
| B⁰,AT2 (SLC6A15) | Na⁺-dependent | Neutral AAs (restrictive) |
| b⁰,+AT (SLC7A9) | Na⁺-independent | Cationic + cystine |
| EAAT3 (SLC1A1) | Na⁺/K⁺-dependent | Anionic AAs (Glu, Asp) |
| PAT1 (SLC36A1) | H⁺-coupled | Small neutral AAs (Gly, Ala, Pro) |
| TAUT (SLC6A6) | Na⁺/Cl⁻-coupled | Taurine, β-alanine |
| ATB⁰,+ (SLC6A14) | Na⁺/Cl⁻-coupled | Neutral + cationic AAs |
Dietary Protein
↓
[STOMACH] Pepsin → Polypeptides + Oligopeptides
↓
[PANCREATIC ENZYMES] Trypsin/Chymotrypsin/Elastase/Carboxypeptidases
→ Di- & Tripeptides + Free AAs
↓
[BRUSH BORDER PEPTIDASES] Aminopeptidases, Dipeptidyl peptidases
→ Di- & Tripeptides + Free AAs
↓
[ENTEROCYTE UPTAKE]
• PepT1 (H⁺-coupled) → Di/Tripeptides → cleaved by cytoplasmic peptidases → Free AAs
• Multiple Na⁺/H⁺-coupled transporters → Free AAs directly
↓
[BASOLATERAL EXIT]
• LAT2, TAT1, y⁺L → Portal bloodstream
| Condition | Defect | Consequence |
|---|---|---|
| Cystic fibrosis / Chronic pancreatitis | Absent pancreatic proteases (trypsin absent → all zymogens unactivated) | Protein malabsorption, steatorrhea, failure to thrive |
| Cystinuria | Absent dibasic AA transporter (cystine, Lys, Arg, Orn) in intestine & kidney | Failure to absorb dibasic AAs; cystine kidney stones |
| Hartnup disease | Absent neutral AA transporter (B⁰AT1) in intestine & kidney | Pellagra-like rash, cerebellar ataxia (Trp malabsorption → ↓ niacin) |
| Kwashiorkor | Dietary protein deficiency → ↓ essential AAs | Muscle wasting, hypoalbuminemia, edema, immune compromise |
Make it concise with bullets points short and with diagram and flow chart and 11 slides only
ls /home/daytona/workspace/ 2>/dev/null && mkdir -p /home/daytona/workspace/protein-absorption-ppt
mkdir -p /home/daytona/workspace/protein-absorption-ppt && echo "done"
~/protein-absorption-ppt/build.js
const pptxgen = require("pptxgenjs");
const pres = new pptxgen();
pres.layout = "LAYOUT_16x9";
pres.title = "Absorption of Protein";
// ─── THEME ───────────────────────────────────────────────────────────────────
const C = {
bg: "0D1B2A", // deep navy
panel: "132338", // slightly lighter navy
accent: "00C9A7", // teal-green
accent2: "4FC3F7", // light blue
accent3: "FFB74D", // amber
white: "FFFFFF",
offwhite: "E8F4FD",
gray: "8EAFC2",
red: "EF5350",
green: "66BB6A",
};
const titleFont = "Calibri";
const bodyFont = "Calibri";
// ─── HELPER: full-slide bg ────────────────────────────────────────────────────
function bg(slide) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:5.625, fill:{color:C.bg}, line:{color:C.bg} });
}
// ─── HELPER: header bar ───────────────────────────────────────────────────────
function header(slide, title, sub) {
slide.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:1.05, fill:{color:C.accent}, line:{color:C.accent} });
slide.addText(title, { x:0.35, y:0.08, w:9.3, h:0.62,
fontFace:titleFont, fontSize:26, bold:true, color:C.bg, margin:0 });
if (sub) slide.addText(sub, { x:0.35, y:0.7, w:9.3, h:0.3,
fontFace:bodyFont, fontSize:11, color:C.bg, italic:true, margin:0 });
}
// ─── HELPER: pill label ───────────────────────────────────────────────────────
function pill(slide, label, x, y, w, h, fill, textColor) {
slide.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w, h, fill:{color:fill}, line:{color:fill}, rectRadius:0.12 });
slide.addText(label, { x, y, w, h, fontFace:bodyFont, fontSize:10, bold:true, color:textColor||C.bg, align:"center", valign:"middle", margin:0 });
}
// ─── HELPER: arrow right ─────────────────────────────────────────────────────
function arrowR(slide, x, y) {
slide.addShape(pres.shapes.CHEVRON, { x, y, w:0.45, h:0.32, fill:{color:C.gray}, line:{color:C.gray} });
}
// ─── HELPER: arrow down ──────────────────────────────────────────────────────
function arrowD(slide, x, y) {
slide.addShape(pres.shapes.CHEVRON, { x, y, w:0.3, h:0.38, fill:{color:C.accent}, line:{color:C.accent}, rotate:90 });
}
// ─── HELPER: bullet text box ──────────────────────────────────────────────────
function bullets(slide, items, x, y, w, h, size=13) {
const arr = items.map((t, i) => ({
text: t,
options: { bullet:{type:"bullet"}, breakLine: i < items.length-1, fontSize:size, color:C.offwhite, fontFace:bodyFont }
}));
slide.addText(arr, { x, y, w, h, valign:"top" });
}
// ─── HELPER: small card ───────────────────────────────────────────────────────
function card(slide, title, lines, x, y, w, h, accent) {
slide.addShape(pres.shapes.RECTANGLE, { x, y, w, h, fill:{color:C.panel}, line:{color:accent||C.accent, pt:1.5} });
slide.addText(title, { x:x+0.12, y:y+0.06, w:w-0.24, h:0.28, fontFace:titleFont, fontSize:11, bold:true, color:accent||C.accent, margin:0 });
const arr = lines.map((t,i) => ({
text: t,
options: { bullet:{type:"bullet"}, breakLine: i<lines.length-1, fontSize:9.5, color:C.offwhite, fontFace:bodyFont }
}));
slide.addText(arr, { x:x+0.1, y:y+0.36, w:w-0.2, h:h-0.44, valign:"top" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 1 — TITLE
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
// decorative accent bar left
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:0.18, h:5.625, fill:{color:C.accent}, line:{color:C.accent} });
s.addShape(pres.shapes.RECTANGLE, { x:0.18, y:0, w:0.06, h:5.625, fill:{color:C.accent2}, line:{color:C.accent2} });
// main title
s.addText("Absorption of Protein", { x:1.0, y:1.5, w:8.5, h:1.1,
fontFace:titleFont, fontSize:42, bold:true, color:C.white, margin:0 });
s.addText("Digestion • Transport • Clinical Correlates", { x:1.0, y:2.7, w:8.2, h:0.5,
fontFace:bodyFont, fontSize:17, color:C.accent, italic:true, margin:0 });
s.addShape(pres.shapes.RECTANGLE, { x:1.0, y:3.3, w:3.5, h:0.04, fill:{color:C.accent3}, line:{color:C.accent3} });
s.addText("Gastroenterology & Physiology", { x:1.0, y:3.5, w:6, h:0.35,
fontFace:bodyFont, fontSize:12, color:C.gray, margin:0 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 2 — OVERVIEW
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Overview", "Why protein absorption matters");
bullets(s, [
"Dietary protein provides ~10–15% of energy intake (~70–100 g/day)",
"Extra ~30 g/day from endogenous sources (secretions + desquamated cells)",
"Absorption occurs almost entirely in the small intestine",
"Unlike carbohydrates, proteins are only PARTIALLY digested in the lumen",
"Final hydrolysis to free amino acids (AAs) is completed inside the enterocyte",
"Key forms absorbed: free AAs + di/tripeptides (via PepT1)",
], 0.5, 1.2, 9, 3.7, 14);
// bottom accent strip
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.3, w:10, h:0.32, fill:{color:C.panel}, line:{color:C.panel} });
s.addText("Source: Sleisenger & Fordtran's GI and Liver Disease | Basic Medical Biochemistry 6e",
{ x:0.3, y:5.32, w:9.5, h:0.26, fontFace:bodyFont, fontSize:8.5, color:C.gray, margin:0 });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 3 — MASTER FLOW CHART
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Protein Absorption: Master Flow", "From mouth to portal blood");
// flow nodes: x, y, w, h, label, fill, textColor
const nodes = [
{ x:0.3, y:1.25, w:2.0, h:0.52, lbl:"Dietary Protein", fill:C.accent3, tc:C.bg },
{ x:0.3, y:2.1, w:2.0, h:0.52, lbl:"Stomach (Pepsin)", fill:"2D6A9F", tc:C.white },
{ x:0.3, y:2.95, w:2.0, h:0.52, lbl:"Pancreatic Proteases", fill:"2D6A9F", tc:C.white },
{ x:0.3, y:3.8, w:2.0, h:0.52, lbl:"Brush-Border Peptidases", fill:"2D6A9F", tc:C.white },
{ x:3.6, y:1.25, w:2.2, h:0.52, lbl:"Di/Tripeptides + Free AAs", fill:C.panel, tc:C.offwhite },
{ x:3.6, y:2.45, w:2.2, h:0.52, lbl:"PepT1 (H⁺-coupled)", fill:C.accent, tc:C.bg },
{ x:3.6, y:3.45, w:2.2, h:0.52, lbl:"AA Transporters (Na⁺)", fill:C.accent2, tc:C.bg },
{ x:7.0, y:1.25, w:2.6, h:0.52, lbl:"Enterocyte Cytoplasm", fill:C.panel, tc:C.offwhite },
{ x:7.0, y:2.1, w:2.6, h:0.52, lbl:"Cytoplasmic Peptidases", fill:"1B5E20", tc:C.white },
{ x:7.0, y:2.95, w:2.6, h:0.52, lbl:"Free AAs", fill:C.green, tc:C.bg },
{ x:7.0, y:3.8, w:2.6, h:0.52, lbl:"Portal Blood (BLM exit)", fill:C.accent3, tc:C.bg },
];
nodes.forEach(n => {
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:n.x, y:n.y, w:n.w, h:n.h,
fill:{color:n.fill}, line:{color:n.fill}, rectRadius:0.1 });
s.addText(n.lbl, { x:n.x, y:n.y, w:n.w, h:n.h,
fontFace:bodyFont, fontSize:10, bold:true, color:n.tc, align:"center", valign:"middle", margin:0 });
});
// Column 1 down arrows
[[0.3,1.78],[0.3,2.63],[0.3,3.48]].forEach(([x,y])=>arrowD(s,x+0.85,y));
// Column 2 down arrow
arrowD(s, 4.6, 2.98);
// Column 3 down arrows
[[7.0,1.78],[7.0,2.63],[7.0,3.48]].forEach(([x,y])=>arrowD(s,x+1.0,y));
// horizontal arrows col1→col2
arrowR(s, 2.35, 1.38); // Polypeptides → Di/Tripeptides
arrowR(s, 2.35, 3.58); // brush border → AA transporters
// col2→col3
arrowR(s, 5.85, 1.38);
arrowR(s, 5.85, 2.58);
// Column labels
const colY = 4.55;
[[0.3, "LUMINAL\nDIGESTION"], [3.6, "MEMBRANE\nTRANSPORT"], [7.0, "INTRACELLULAR\nPROCESSING"]].forEach(([x, lbl]) => {
s.addText(lbl, { x, y:colY, w:2.5, h:0.55, fontFace:bodyFont, fontSize:9, bold:true,
color:C.gray, align:"center", margin:0 });
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 4 — LUMINAL DIGESTION
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Step 1: Luminal Digestion", "Stomach → Small intestine lumen");
card(s, "🟡 STOMACH", [
"Chief cells secrete pepsinogen (zymogen)",
"Activated by acidic pH → Pepsin (aspartate protease)",
"Autocatalytic activation at pH ~3",
"Products: Large polypeptides",
], 0.3, 1.2, 4.2, 1.9, C.accent3);
card(s, "🔵 PANCREATIC ENZYMES (activated by CCK)", [
"Enterokinase activates Trypsinogen → Trypsin",
"Trypsin activates ALL other zymogens",
"Endopeptidases: Trypsin, Chymotrypsin, Elastase",
"Exopeptidases: Carboxypeptidases A & B",
"Products: Oligopeptides + Free AAs",
], 0.3, 3.2, 4.2, 2.1, C.accent2);
card(s, "⚡ KEY CONCEPT", [
"Secretin → bicarbonate (neutralizes acid, pH →7)",
"Pancreatic enzymes need neutral pH to function",
"Trypsin = master activator of all zymogens",
"No trypsin = no pancreatic proteolysis",
], 5.0, 1.2, 4.6, 1.8, C.accent);
card(s, "🟢 BRUSH BORDER MEMBRANE", [
"Aminopeptidases (N-terminus cleavage)",
"Dipeptidyl aminopeptidase IV",
"Endopeptidase-24.11 (neutral endopeptidase)",
"Products: Di/Tripeptides + Free AAs (ready for uptake)",
], 5.0, 3.1, 4.6, 2.2, C.green);
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 5 — TRANSPORT: PepT1
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Step 2: PepT1 — Peptide Transporter", "Primary route for nitrogen absorption");
// diagram: lumen → BBM → cytoplasm
// Lumen box
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:1.2, w:2.2, h:3.9, fill:{color:"0A2540"}, line:{color:C.accent2, pt:1} });
s.addText("LUMEN", { x:0.3, y:1.2, w:2.2, h:0.35, fontFace:bodyFont, fontSize:11, bold:true, color:C.accent2, align:"center", margin:0 });
s.addText([
{text:"Di/Tripeptides", options:{breakLine:true, fontSize:12, bold:true, color:C.accent3}},
{text:"+ H⁺", options:{fontSize:11, color:C.offwhite}},
], { x:0.3, y:1.9, w:2.2, h:1, align:"center", valign:"middle" });
// membrane box
s.addShape(pres.shapes.RECTANGLE, { x:2.65, y:1.2, w:1.5, h:3.9, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("BRUSH\nBORDER\nMEMBRANE", { x:2.65, y:2.0, w:1.5, h:2.0,
fontFace:bodyFont, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText("PepT1\n(SLC15A1)", { x:2.65, y:3.5, w:1.5, h:0.9,
fontFace:bodyFont, fontSize:10, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
// enterocyte box
s.addShape(pres.shapes.RECTANGLE, { x:4.3, y:1.2, w:3.0, h:3.9, fill:{color:C.panel}, line:{color:C.green, pt:1} });
s.addText("ENTEROCYTE", { x:4.3, y:1.2, w:3.0, h:0.35, fontFace:bodyFont, fontSize:11, bold:true, color:C.green, align:"center", margin:0 });
s.addText([
{text:"Di/Tripeptides enter", options:{breakLine:true, fontSize:11, color:C.offwhite}},
{text:"↓", options:{breakLine:true, fontSize:14, color:C.accent}},
{text:"Cytoplasmic peptidases", options:{breakLine:true, fontSize:11, color:C.offwhite}},
{text:"↓", options:{breakLine:true, fontSize:14, color:C.accent}},
{text:"Free Amino Acids", options:{fontSize:12, bold:true, color:C.green}},
], { x:4.4, y:1.65, w:2.8, h:2.5, valign:"top" });
// right panel: key facts
card(s, "PepT1 Key Facts", [
"H⁺-coupled (electrochemical gradient driven)",
"H⁺ gradient generated by Na⁺/H⁺ exchanger",
"Ultimately ATP-dependent (Na⁺/K⁺-ATPase)",
"Transports all 400 dipeptides + 8,000 tripeptides",
"2–3 AAs absorbed per transport cycle (efficient)",
"Lower osmolality vs free AA transport",
"Drugs use PepT1: β-lactams, valacyclovir, valganciclovir",
], 7.45, 1.2, 2.3, 3.9, C.accent);
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 6 — AMINO ACID TRANSPORTERS (BBM)
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Step 2b: Free AA Transporters (Brush Border)", "Apical membrane Na⁺/H⁺-coupled systems");
// Table header
const cols = [0.3, 2.7, 4.7, 6.45, 8.3];
const hdr = ["System / Protein", "Gene", "Mechanism", "Substrates"];
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:1.15, w:9.45, h:0.42, fill:{color:C.accent}, line:{color:C.accent} });
hdr.forEach((h,i)=>s.addText(h,{x:cols[i], y:1.17, w:cols[i+1]-cols[i]-0.1||1.5, h:0.38, fontFace:bodyFont, fontSize:11, bold:true, color:C.bg, margin:0}));
const rows = [
["B⁰AT1 / SLC6A19", "SLC6A19", "Na⁺-dependent", "Broad neutral AAs"],
["ATB⁰⁺ / SLC6A14", "SLC6A14", "Na⁺/Cl⁻-coupled", "Neutral + cationic AAs"],
["b⁰,+AT / SLC7A9", "SLC7A9", "Na⁺-independent", "Cationic AAs + cystine"],
["EAAT3 / SLC1A1", "SLC1A1", "Na⁺/K⁺-dependent", "Anionic AAs (Glu, Asp)"],
["PAT1 / SLC36A1", "SLC36A1", "H⁺-coupled", "Small neutral AAs (Gly, Ala, Pro)"],
["TAUT / SLC6A6", "SLC6A6", "Na⁺/Cl⁻-coupled", "Taurine, β-alanine"],
];
rows.forEach((r,i)=>{
const yy = 1.62 + i*0.57;
const fillC = i%2===0 ? C.panel : "0F2030";
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:yy, w:9.45, h:0.54, fill:{color:fillC}, line:{color:fillC} });
r.forEach((cell, j) => {
s.addText(cell, { x:cols[j], y:yy+0.04, w:(cols[j+1]||9.75)-cols[j]-0.1, h:0.46,
fontFace:bodyFont, fontSize:10, color:j===0?C.accent:C.offwhite, margin:0, valign:"middle" });
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 7 — BASOLATERAL EXIT
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Step 3: Basolateral Exit → Portal Blood", "Free AAs leave the enterocyte");
card(s, "System L (LAT2 / SLC7A8 + CD98)", [
"Primary Na⁺-independent system for neutral AAs",
"Obligatory exchanger — AA efflux coupled to AA influx",
"Releases AAs into portal circulation",
"Heterodimer: LAT2 (transporter) + CD98 (chaperone)",
], 0.3, 1.2, 4.5, 1.9, C.accent);
card(s, "System T (TAT1 / SLC16A10)", [
"Na⁺-independent; NOT an exchanger",
"Efflux of aromatic AAs: Phe, Tyr, Trp",
"Functionally coupled with LAT2",
"TAT1 releases aromatics → LAT2 uses them for exchange",
], 0.3, 3.2, 4.5, 2.1, C.accent2);
card(s, "System y⁺L", [
"Cationic AAs (Arg, Lys) transported Na⁺-independently",
"Inside-negative membrane potential favors cation efflux",
"Releases positively charged AAs into portal blood",
], 5.2, 1.2, 4.5, 1.6, C.accent3);
card(s, "Na⁺-dependent BLM systems", [
"Import AAs from blood → cell during fasting/between meals",
"Supply AAs for cellular metabolism",
"System A, System ASC, System N",
"Important for mucosal repair and turnover",
], 5.2, 2.9, 4.5, 2.4, C.green);
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 8 — MINI SUMMARY FLOW (visual)
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Summary: End-to-End Flow", "Complete pathway at a glance");
const steps = [
{ lbl:"Dietary\nProtein", fill:C.accent3, tc:C.bg },
{ lbl:"Stomach\nPepsin (pH 3)", fill:"1565C0", tc:C.white },
{ lbl:"Pancreatic\nProteases", fill:"0277BD", tc:C.white },
{ lbl:"Brush-Border\nPeptidases", fill:"0288D1", tc:C.white },
{ lbl:"PepT1 &\nAA Transporters", fill:C.accent, tc:C.bg },
{ lbl:"Cytoplasmic\nPeptidases", fill:C.green, tc:C.bg },
{ lbl:"Portal\nBlood", fill:C.accent3, tc:C.bg },
];
const boxW = 1.1, boxH = 0.85, startX = 0.25, y = 2.0;
const gap = (10 - startX*2 - steps.length*boxW) / (steps.length-1);
steps.forEach((st, i) => {
const x = startX + i*(boxW+gap);
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x, y, w:boxW, h:boxH,
fill:{color:st.fill}, line:{color:st.fill}, rectRadius:0.12 });
s.addText(st.lbl, { x, y, w:boxW, h:boxH,
fontFace:bodyFont, fontSize:9.5, bold:true, color:st.tc, align:"center", valign:"middle", margin:0 });
if (i < steps.length-1) {
arrowR(s, x+boxW+0.04, y+0.26);
}
});
// Products under each step
const products = [
"100g/day",
"Polypeptides",
"Oligopeptides\n+ Free AAs",
"Di/Tripeptides\n+ Free AAs",
"Absorbed\ninto cell",
"Free AAs\nreleased",
"Liver via\nportal vein",
];
steps.forEach((st, i) => {
const x = startX + i*(boxW+gap);
s.addText(products[i], { x:x-0.05, y:y+boxH+0.08, w:boxW+0.1, h:0.7,
fontFace:bodyFont, fontSize:8.5, color:C.gray, align:"center", valign:"top", margin:0 });
});
// Key box
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:3.85, w:9.4, h:1.45, fill:{color:C.panel}, line:{color:C.accent, pt:1} });
s.addText([
{text:"Key Insight: ", options:{bold:true, color:C.accent, fontSize:12}},
{text:"Unlike carbohydrates (monosaccharides only), proteins enter enterocytes as BOTH di/tripeptides (via PepT1) AND free AAs (via Na⁺-coupled transporters). ",
options:{color:C.offwhite, fontSize:11}},
{text:"Final free-AA generation occurs INSIDE the cell.", options:{bold:true, color:C.accent3, fontSize:11}},
], { x:0.5, y:3.95, w:9.0, h:1.25, valign:"middle" });
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 9 — SPECIAL SITUATIONS
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Special Situations", "Neonates & Pharmacology");
card(s, "🍼 Neonates — Unique Features", [
"Brush-border peptidases: present at ADULT levels from birth",
"Gastric pH neutral at birth → drops to 2.2 within day 1",
"Pinocytosis highly active → absorbs intact maternal IgG from breast milk",
"Intracellular cathepsins compensate for low pancreatic enzymes",
"Macromolecular permeability supports tolerance/sensitization to dietary proteins",
], 0.3, 1.2, 4.7, 3.0, C.accent2);
card(s, "💊 PepT1 in Drug Delivery", [
"β-Lactam antibiotics (amoxicillin, cephalexin) absorbed via PepT1",
"Valacyclovir & valganciclovir (prodrugs) use PepT1 for enhanced bioavailability",
"ACE inhibitor prodrugs exploit PepT1 promiscuity",
"PepT1 in enteroendocrine cells → H⁺-coupled entry → Ca²⁺ influx → GLP-1 secretion",
"Clinical relevance: diabetes, metabolic syndrome, obesity",
], 5.2, 1.2, 4.5, 3.0, C.accent3);
card(s, "🥗 Enteral Nutrition Tip", [
"Free AA-based enteral diets → hyperosmolar → diarrhea",
"Di/tripeptide-based formulas reduce osmolality → better tolerated",
"Glutamine, cysteine, tyrosine: unstable as free AAs → deliver as small peptides",
], 0.3, 4.3, 9.4, 1.1, C.green);
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 10 — CLINICAL DISORDERS
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
header(s, "Clinical Disorders of Protein Absorption");
// Table
const cols2 = [0.3, 2.6, 5.3, 7.6];
const hdr2 = ["Condition", "Defect", "Consequence"];
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:1.15, w:9.45, h:0.42, fill:{color:C.red}, line:{color:C.red} });
hdr2.forEach((h,i)=>s.addText(h,{x:cols2[i], y:1.17, w:cols2[i+1]-cols2[i]-0.1||1.8, h:0.38, fontFace:bodyFont, fontSize:12, bold:true, color:C.white, margin:0}));
const rows2 = [
["Cystic Fibrosis / Chronic Pancreatitis",
"Absent pancreatic proteases (no trypsin → no zymogen activation)",
"Protein malabsorption, steatorrhea, failure to thrive"],
["Cystinuria",
"Dibasic AA transporter absent (intestine + kidney)",
"Fail to absorb cystine, Lys, Arg, Orn → kidney stones"],
["Hartnup Disease",
"Neutral AA transporter B⁰AT1 (SLC6A19) absent",
"Trp malabsorption → ↓ niacin → pellagra rash, ataxia"],
["Kwashiorkor",
"Dietary protein deficiency (adequate calories)",
"Muscle wasting, hypoalbuminemia, oedema, immune ↓"],
["Enteropeptidase Deficiency",
"No enterokinase → trypsinogen not activated",
"Global pancreatic enzyme failure, severe malnutrition"],
];
rows2.forEach((r,i)=>{
const yy = 1.62 + i*0.67;
const fillC = i%2===0 ? C.panel : "0F2030";
s.addShape(pres.shapes.RECTANGLE, { x:0.3, y:yy, w:9.45, h:0.64, fill:{color:fillC}, line:{color:fillC} });
r.forEach((cell,j)=>{
s.addText(cell, { x:cols2[j], y:yy+0.04, w:(cols2[j+1]||9.75)-cols2[j]-0.1, h:0.56,
fontFace:bodyFont, fontSize:9.5, color:j===0?C.red:C.offwhite, margin:0, valign:"middle" });
});
});
}
// ─────────────────────────────────────────────────────────────────────────────
// SLIDE 11 — KEY TAKEAWAYS
// ─────────────────────────────────────────────────────────────────────────────
{
const s = pres.addSlide();
bg(s);
// accent bars
s.addShape(pres.shapes.RECTANGLE, { x:0, y:0, w:10, h:0.08, fill:{color:C.accent}, line:{color:C.accent} });
s.addShape(pres.shapes.RECTANGLE, { x:0, y:5.54, w:10, h:0.085, fill:{color:C.accent}, line:{color:C.accent} });
s.addText("Key Takeaways", { x:0.5, y:0.18, w:9, h:0.65,
fontFace:titleFont, fontSize:28, bold:true, color:C.accent, margin:0 });
const takeaways = [
["1", "Proteins digested in 3 phases: stomach (pepsin) → pancreatic enzymes → brush-border peptidases", C.accent3],
["2", "Trypsin is the master activator of all pancreatic zymogens — critical checkpoint", C.accent2],
["3", "Final absorption = Di/tripeptides via PepT1 (H⁺-coupled) + free AAs via Na⁺ transporters", C.accent],
["4", "Digestion completes INSIDE the enterocyte via cytoplasmic peptidases", C.green],
["5", "Basolateral exit via System L (LAT2), System T (TAT1), y⁺L → portal blood", C.accent3],
["6", "PepT1 is pharmacologically exploited for oral drug delivery (antibiotics, antivirals)", C.accent2],
["7", "Genetic defects in transporters → Cystinuria, Hartnup disease; enzyme defects → malabsorption", C.red],
];
takeaways.forEach((t, i) => {
const y = 0.95 + i * 0.64;
s.addShape(pres.shapes.ROUNDED_RECTANGLE, { x:0.3, y, w:0.4, h:0.4, fill:{color:t[2]}, line:{color:t[2]}, rectRadius:0.05 });
s.addText(t[0], { x:0.3, y, w:0.4, h:0.4, fontFace:bodyFont, fontSize:13, bold:true, color:C.bg, align:"center", valign:"middle", margin:0 });
s.addText(t[1], { x:0.82, y:y+0.03, w:8.9, h:0.36, fontFace:bodyFont, fontSize:11.5, color:C.offwhite, valign:"middle", margin:0 });
});
}
// ─────────────────────────────────────────────────────────────────────────────
pres.writeFile({ fileName: "/home/daytona/workspace/protein-absorption-ppt/Protein_Absorption.pptx" })
.then(() => console.log("✅ Done"))
.catch(e => console.error("❌", e));