Receptor - definition and classification Receptor thepry Reference all Anesthesia standard textbooks and all physiology standard textbooks Give for 10 matls question. Assignment given by my hod mam nd don't miss any thing
"Pharmacodynamics describes the actions of a drug on the body. Most drugs exert effects, both beneficial and harmful, by interacting with specialized target macromolecules called receptors, which are present on or in the cell. The drug-receptor complex initiates alterations in biochemical and/or molecular activity of a cell by a process called signal transduction."
- Lippincott Illustrated Reviews: Pharmacology, Chapter 2
"Most drugs must bind to a receptor to bring about an effect... the receptor is postulated to exist partially in the inactive, nonfunctional form (R) and partially in the activated form (R*)."
- Katzung's Basic & Clinical Pharmacology, 16th Ed., Chapter 1

| Feature | Type I (Ion Channel) | Type II (GPCR) | Type III (Enzyme-linked) | Type IV (Intracellular) |
|---|---|---|---|---|
| Location | Membrane | Membrane | Membrane | Cytoplasm/Nucleus |
| Structure | Oligomeric, pore-forming | 7-TM + G protein | 1-TM + kinase | Soluble protein |
| Mechanism | Direct ion flux | Via G protein/2nd messenger | Phosphorylation cascade | Gene transcription |
| Speed | ms | Seconds-minutes | Minutes-hours | Hours-days |
| Example | nAChR, GABA-A | β-AR, Opioid R | Insulin R | Steroid R |
| Anesthesia example | Succinylcholine, BZD | Fentanyl, Dexmedetomidine | - | Dexamethasone |
Effect (E) = Emax × [D] / (KD + [D])
"In the absence of drugs, the two isoforms are in equilibrium, and the Rq form is favored. Conventional full agonist drugs have a much higher affinity for the Rg conformation, and mass action thus favors the formation of the Rg-D complex with a much larger observed effect."
- Katzung's Basic & Clinical Pharmacology, 16th Ed.
| Drug Type | Affinity for R* vs R | Effect |
|---|---|---|
| Full agonist | Much higher for R* | Shifts maximum receptors to R* → maximum effect |
| Partial agonist | Intermediate affinity for R* | Partial shift to R* → submaximal effect |
| Neutral antagonist | Equal affinity for R and R* | Maintains baseline constitutive activity; blocks agonist |
| Inverse agonist | Higher affinity for R (inactive) | Shifts receptors away from R* → effect below baseline |

| Type | Mechanism | Overcome by increasing agonist? |
|---|---|---|
| Competitive (reversible) | Competes for same receptor site; shifts dose-response curve right | Yes (parallel right shift, same Emax) |
| Non-competitive (irreversible) | Binds same site but irreversibly, or allosteric site | No (reduces Emax) |
| Physiological | Two drugs act on different receptors with opposing effects (e.g., adrenaline vs histamine) | Not applicable |
| Chemical | Drug inactivates agonist chemically | Not applicable |
| Drug | Receptor | Type | Clinical Effect |
|---|---|---|---|
| Thiopental, propofol | GABA-A | Ligand-gated Cl- channel | Anesthesia induction |
| Succinylcholine | nAChR (NMJ) | Ligand-gated Na+ channel | Neuromuscular blockade |
| Fentanyl, morphine | μ-opioid (Gi-GPCR) | GPCR | Analgesia |
| Dexmedetomidine | α2-adrenoceptor (Gi-GPCR) | GPCR | Sedation, analgesia |
| Atropine | Muscarinic (M2) | GPCR | Tachycardia (blocks parasympathetic) |
| Ketamine | NMDA | Ligand-gated ion channel | Dissociative anesthesia |
| Dexamethasone | Glucocorticoid receptor | Intracellular nuclear receptor | Anti-inflammatory, antiemetic |
| Neostigmine | Acetylcholinesterase (enzyme) | Enzyme inhibitor | Reverses neuromuscular blockade |
Give in pdf form
ls -la /tmp/workspace/ 2>/dev/null || mkdir -p /tmp/workspace && echo "created"
mkdir -p /tmp/workspace/receptor-assignment && cat << 'PYEOF' > /tmp/workspace/receptor-assignment/generate_pdf.py from reportlab.lib.pagesizes import A4 from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.lib.units import cm, mm from reportlab.lib import colors from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, HRFlowable, PageBreak, KeepTogether) from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY from reportlab.platypus import Image as RLImage import urllib.request, os, io OUTPUT = "/tmp/workspace/receptor-assignment/Receptor_Definition_Classification_Theory.pdf" doc = SimpleDocTemplate( OUTPUT, pagesize=A4, rightMargin=2*cm, leftMargin=2*cm, topMargin=2.2*cm, bottomMargin=2*cm, title="Receptor – Definition, Classification & Receptor Theory", author="Pharmacology Assignment", ) W = A4[0] - 4*cm # usable width # ── Color palette ────────────────────────────────────────────────────────── NAVY = colors.HexColor("#1a3a5c") BLUE = colors.HexColor("#2563eb") LBLUE = colors.HexColor("#dbeafe") TEAL = colors.HexColor("#0f766e") LTEAL = colors.HexColor("#ccfbf1") AMBER = colors.HexColor("#b45309") LAMBER = colors.HexColor("#fef3c7") LGRAY = colors.HexColor("#f1f5f9") DGRAY = colors.HexColor("#334155") WHITE = colors.white RED = colors.HexColor("#dc2626") GREEN = colors.HexColor("#16a34a") styles = getSampleStyleSheet() def S(name, **kw): return ParagraphStyle(name, **kw) # Custom styles cover_title = S("CoverTitle", fontName="Helvetica-Bold", fontSize=22, textColor=WHITE, alignment=TA_CENTER, spaceAfter=6) cover_sub = S("CoverSub", fontName="Helvetica", fontSize=13, textColor=LBLUE, alignment=TA_CENTER, spaceAfter=4) cover_mark = S("CoverMark", fontName="Helvetica-Bold", fontSize=16, textColor=colors.HexColor("#fbbf24"), alignment=TA_CENTER, spaceAfter=4) h1_style = S("H1", fontName="Helvetica-Bold", fontSize=14, textColor=WHITE, spaceBefore=14, spaceAfter=6, leftIndent=0) h2_style = S("H2", fontName="Helvetica-Bold", fontSize=12, textColor=NAVY, spaceBefore=10, spaceAfter=4, borderPad=3) h3_style = S("H3", fontName="Helvetica-Bold", fontSize=11, textColor=TEAL, spaceBefore=8, spaceAfter=3) body_style = S("Body", fontName="Helvetica", fontSize=9.5,textColor=DGRAY, spaceAfter=4, leading=15, alignment=TA_JUSTIFY) bullet_style = S("Bullet", fontName="Helvetica", fontSize=9.5,textColor=DGRAY, spaceAfter=3, leading=14, leftIndent=16, bulletIndent=6) note_style = S("Note", fontName="Helvetica-Oblique", fontSize=9, textColor=colors.HexColor("#6b7280"), spaceAfter=3, leading=13, alignment=TA_JUSTIFY, leftIndent=10, rightIndent=10) ref_style = S("Ref", fontName="Helvetica", fontSize=8.5,textColor=DGRAY, spaceAfter=3, leading=13) label_style = S("Label", fontName="Helvetica-Bold", fontSize=9, textColor=NAVY) eq_style = S("Eq", fontName="Courier-Bold", fontSize=10, textColor=TEAL, spaceAfter=4, spaceBefore=4, alignment=TA_CENTER) def h1_table(text): """Returns a navy banner paragraph simulating H1.""" t = Table([[Paragraph(text, h1_style)]], colWidths=[W]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), NAVY), ("ROUNDEDCORNERS", [4,4,4,4]), ("TOPPADDING", (0,0), (-1,-1), 7), ("BOTTOMPADDING", (0,0), (-1,-1), 7), ("LEFTPADDING", (0,0), (-1,-1), 10), ])) return t def info_box(text, bg=LBLUE, border=BLUE): t = Table([[Paragraph(text, note_style)]], colWidths=[W]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), bg), ("BOX", (0,0), (-1,-1), 1, border), ("TOPPADDING", (0,0), (-1,-1), 6), ("BOTTOMPADDING", (0,0), (-1,-1), 6), ("LEFTPADDING", (0,0), (-1,-1), 10), ("RIGHTPADDING", (0,0), (-1,-1), 10), ])) return t def eq_box(text): t = Table([[Paragraph(text, eq_style)]], colWidths=[W]) t.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LTEAL), ("BOX", (0,0), (-1,-1), 1.2, TEAL), ("TOPPADDING", (0,0), (-1,-1), 7), ("BOTTOMPADDING",(0,0),(-1,-1), 7), ])) return t story = [] # ═══════════════════════════════════════════════════════════════ # COVER PAGE # ═══════════════════════════════════════════════════════════════ cover_data = [ [Paragraph("PHARMACOLOGY ASSIGNMENT", cover_sub)], [Spacer(1, 0.3*cm)], [Paragraph("RECEPTOR", cover_title)], [Paragraph("Definition · Classification · Receptor Theory", cover_sub)], [Spacer(1, 0.5*cm)], [Paragraph("10 MARKS", cover_mark)], [Spacer(1, 0.8*cm)], [Paragraph("References:", S("rs", fontName="Helvetica-Bold", fontSize=9, textColor=LBLUE, alignment=TA_CENTER))], [Paragraph("Katzung's Basic & Clinical Pharmacology (16th Ed.)<br/>" "Lippincott Illustrated Reviews: Pharmacology<br/>" "Goodman & Gilman's Pharmacological Basis of Therapeutics<br/>" "Miller's Anesthesia (10th Ed.) | Morgan & Mikhail's Clinical Anesthesiology (7th Ed.)<br/>" "Guyton & Hall Textbook of Medical Physiology | Ganong's Review of Medical Physiology (26th Ed.)", S("ri", fontName="Helvetica", fontSize=8.5, textColor=LBLUE, alignment=TA_CENTER, leading=14))], ] cover_tbl = Table(cover_data, colWidths=[W]) cover_tbl.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), NAVY), ("TOPPADDING", (0,0), (-1,-1), 10), ("BOTTOMPADDING", (0,0), (-1,-1), 10), ("LEFTPADDING", (0,0), (-1,-1), 20), ("RIGHTPADDING", (0,0), (-1,-1), 20), ("BOX", (0,0), (-1,-1), 2, BLUE), ])) story.append(Spacer(1, 1.5*cm)) story.append(cover_tbl) story.append(PageBreak()) # ═══════════════════════════════════════════════════════════════ # SECTION I – DEFINITION # ═══════════════════════════════════════════════════════════════ story.append(h1_table("I. DEFINITION OF A RECEPTOR")) story.append(Spacer(1, 4)) story.append(Paragraph( "A <b>receptor</b> is defined as any biologic macromolecule (usually a protein) to which a drug or " "endogenous ligand binds and produces a measurable biologic response. Enzymes, nucleic acids, and " "structural proteins can all act as receptors, but the richest sources are membrane-bound proteins " "that transduce extracellular signals into intracellular responses via a process called " "<b>signal transduction</b>.", body_style)) story.append(info_box( "<i>\"Pharmacodynamics describes the actions of a drug on the body. Most drugs exert effects, both " "beneficial and harmful, by interacting with specialized target macromolecules called receptors, " "which are present on or in the cell. The drug–receptor complex initiates alterations in biochemical " "and/or molecular activity of a cell by a process called signal transduction.\"</i><br/>" "— <b>Lippincott Illustrated Reviews: Pharmacology, Chapter 2</b>" )) story.append(Spacer(1, 4)) story.append(Paragraph("<b>Key Properties of Receptors:</b>", h3_style)) props = [ ("Specificity", "Each receptor recognizes and responds to a specific ligand structure"), ("Selectivity", "Drug-receptor interaction is selective for particular agonists"), ("Saturability", "The number of binding sites is finite; response plateaus at saturation"), ("Reversibility", "Drug-receptor binding is usually reversible (except irreversible antagonists)"), ("Sensitivity", "Responses occur at very low (nanomolar) drug concentrations"), ] for k, v in props: story.append(Paragraph(f"<bullet>•</bullet> <b>{k}:</b> {v}", bullet_style)) story.append(Spacer(1, 6)) # ═══════════════════════════════════════════════════════════════ # SECTION II – CLASSIFICATION # ═══════════════════════════════════════════════════════════════ story.append(h1_table("II. CLASSIFICATION OF RECEPTORS")) story.append(Spacer(1, 4)) story.append(Paragraph( "Receptors are classified into <b>four major families</b> based on their structure, location, and " "mechanism of signal transduction (Lippincott, Chapter 2; Katzung, Chapter 2).", body_style)) # ── TYPE I ────────────────────────────────────────────────────── story.append(Paragraph("Type I: Ligand-Gated Ion Channels (Ionotropic Receptors)", h2_style)) type1 = [ ["Location:", "Cell membrane (transmembrane proteins)"], ["Structure:", "Oligomeric proteins forming a central pore; ligand-binding site on extracellular domain"], ["Mechanism:", "Agonist binding directly opens/closes the ion channel — no second messenger"], ["Speed:", "Milliseconds (fastest signaling system)"], ["Examples:", "nAChR (Na+/K+), GABA-A (Cl-), Glycine receptor, NMDA receptor, 5-HT3"], ["Anesthesia:", "BZD & volatile agents modulate GABA-A; succinylcholine/vecuronium act on nAChR at NMJ; ketamine blocks NMDA"], ] t1 = Table([[Paragraph(k, label_style), Paragraph(v, body_style)] for k,v in type1], colWidths=[3.2*cm, W-3.2*cm]) t1.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LGRAY), ("BACKGROUND", (0,0), (0,-1), LBLUE), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(t1) story.append(Spacer(1, 6)) # ── TYPE II ───────────────────────────────────────────────────── story.append(Paragraph("Type II: G Protein-Coupled Receptors (GPCRs / 7-TM Receptors)", h2_style)) story.append(Paragraph( "The largest receptor superfamily. Single polypeptide with <b>7 transmembrane alpha-helical domains</b>; " "N-terminus extracellular, C-terminus intracellular; coupled to heterotrimeric G protein (Gα, Gβ, Gγ).", body_style)) story.append(Paragraph("<b>Mechanism:</b>", label_style)) mech2 = ["Agonist binds → receptor conformational change", "Gα subunit exchanges GDP for GTP → Gα-GTP dissociates from Gβγ", "Gα-GTP activates downstream effectors (enzymes or ion channels)", "Second messengers generated (cAMP, IP3/DAG, Ca2+) → cellular response (seconds to minutes)"] for i, m in enumerate(mech2, 1): story.append(Paragraph(f"<bullet>{i}.</bullet> {m}", bullet_style)) gpcr_data = [ [Paragraph("<b>G protein</b>", label_style), Paragraph("<b>Effector</b>", label_style), Paragraph("<b>2nd Messenger</b>", label_style), Paragraph("<b>Examples</b>", label_style)], [Paragraph("Gs", body_style), Paragraph("↑ Adenylyl cyclase", body_style), Paragraph("↑ cAMP", body_style), Paragraph("β1, β2 adrenoceptors, D1/D5", body_style)], [Paragraph("Gi", body_style), Paragraph("↓ Adenylyl cyclase", body_style), Paragraph("↓ cAMP", body_style), Paragraph("α2-AR, μ/κ/δ opioid, M2, D2", body_style)], [Paragraph("Gq", body_style), Paragraph("↑ Phospholipase C", body_style), Paragraph("↑ IP3/DAG/Ca2+", body_style), Paragraph("α1-AR, M1/M3, 5-HT2", body_style)], ] tg = Table(gpcr_data, colWidths=[2.2*cm, 4*cm, 3.2*cm, W-9.4*cm]) tg.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("BACKGROUND", (0,1), (-1,-1), LGRAY), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(tg) story.append(Paragraph( "<b>Anesthesia relevance:</b> Opioids (μ-opioid Gi-coupled); dexmedetomidine (α2, Gi); atropine blocks M2-GPCR.", note_style)) story.append(Spacer(1, 6)) # ── TYPE III ──────────────────────────────────────────────────── story.append(Paragraph("Type III: Enzyme-Linked Receptors (Receptor Tyrosine Kinases)", h2_style)) type3 = [ ["Location:", "Cell membrane; single transmembrane domain"], ["Structure:", "Extracellular ligand-binding domain + intracellular catalytic (kinase) domain"], ["Mechanism:", "Ligand binding → receptor dimerization → autophosphorylation of tyrosine residues → downstream signaling (MAPK, PI3K/Akt) → altered gene expression"], ["Speed:", "Minutes to hours"], ["Examples:", "Insulin receptor, Growth hormone receptor, EGF receptor, PDGF receptor, ANP/BNP receptor (guanylyl cyclase → ↑cGMP)"], ["Anesthesia:", "Perioperative glucocorticoid signaling; insulin regulation during surgery"], ] t3 = Table([[Paragraph(k, label_style), Paragraph(v, body_style)] for k,v in type3], colWidths=[3.2*cm, W-3.2*cm]) t3.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LGRAY), ("BACKGROUND", (0,0), (0,-1), LTEAL), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(t3) story.append(Spacer(1, 6)) # ── TYPE IV ───────────────────────────────────────────────────── story.append(Paragraph("Type IV: Intracellular Receptors (Nuclear / Cytosolic Receptors)", h2_style)) type4 = [ ["Location:", "Cytoplasm or nucleus (hydrophobic ligands enter cell freely)"], ["Mechanism:", "Ligand crosses lipid bilayer → binds cytosolic/nuclear receptor → ligand-receptor complex acts as transcription factor → binds DNA hormone response elements → altered protein synthesis"], ["Speed:", "Hours to days (slowest)"], ["Examples:", "Glucocorticoid receptor (cortisol, dexamethasone), Thyroid hormone receptor, Estrogen/Progesterone/Androgen receptors, Vitamin D receptor, Retinoic acid receptor"], ["Anesthesia:", "Dexamethasone used perioperatively for PONV & anti-inflammation acts via intracellular glucocorticoid receptors"], ] t4 = Table([[Paragraph(k, label_style), Paragraph(v, body_style)] for k,v in type4], colWidths=[3.2*cm, W-3.2*cm]) t4.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LGRAY), ("BACKGROUND", (0,0), (0,-1), LAMBER), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(t4) story.append(Spacer(1, 8)) # ── SUMMARY TABLE ─────────────────────────────────────────────── story.append(Paragraph("Summary Comparison of Receptor Families", h3_style)) sum_hdr = ["Feature", "Type I\n(Ion Channel)", "Type II\n(GPCR)", "Type III\n(Enzyme-linked)", "Type IV\n(Intracellular)"] sum_rows = [ ["Location", "Membrane", "Membrane", "Membrane", "Cytoplasm/Nucleus"], ["Structure", "Oligomeric pore","7-TM + G-protein","1-TM + kinase", "Soluble protein"], ["Mechanism", "Direct ion flux","2nd messenger","Phosphorylation", "Gene transcription"], ["Speed", "ms", "Sec-min", "Min-hrs", "Hrs-days"], ["Example", "nAChR, GABA-A","β-AR, Opioid", "Insulin R", "Steroid R"], ["Anesthesia\nexample","Suxameth.\nBZD, Ketamine","Fentanyl\nDexmede.","–","Dexamethasone"], ] sum_data = [[Paragraph(f"<b>{c}</b>", S("sh", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE, alignment=TA_CENTER)) for c in sum_hdr]] for row in sum_rows: sum_data.append([Paragraph(row[0], S("sk", fontName="Helvetica-Bold", fontSize=8.5, textColor=NAVY)) ] + [Paragraph(c, S("sc", fontName="Helvetica", fontSize=8.5, textColor=DGRAY, alignment=TA_CENTER)) for c in row[1:]]) cws = [3.2*cm, (W-3.2*cm)/4, (W-3.2*cm)/4, (W-3.2*cm)/4, (W-3.2*cm)/4] st = Table(sum_data, colWidths=cws) st.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#94a3b8")), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "MIDDLE"), ])) story.append(st) story.append(PageBreak()) # ═══════════════════════════════════════════════════════════════ # SECTION III – RECEPTOR THEORY # ═══════════════════════════════════════════════════════════════ story.append(h1_table("III. RECEPTOR THEORY")) story.append(Spacer(1, 4)) story.append(Paragraph( "Receptor theory explains the quantitative relationship between drug concentration and pharmacological " "response. Several theories have evolved historically:", body_style)) story.append(Spacer(1, 4)) # ── 1. Occupancy Theory ───────────────────────────────────────── story.append(Paragraph("1. Occupancy Theory (Clark, 1926; modified by Ariëns, 1954)", h2_style)) story.append(Paragraph( "<b>Clark (1926)</b> proposed that the pharmacological effect of a drug is directly proportional to the " "fraction of receptors occupied by the drug — analogous to enzyme-substrate kinetics.", body_style)) story.append(eq_box("E = Emax × [D] / (KD + [D])")) story.append(Paragraph( "Where <b>Emax</b> = maximum possible effect; <b>[D]</b> = drug concentration; " "<b>KD</b> = dissociation constant (concentration at 50% receptor occupancy).", body_style)) story.append(Paragraph("<b>Ariëns' modification (1954) — Intrinsic Activity (α):</b>", label_style)) ariens = [ ("α = 1", "Full agonist", "Maximum response at receptor saturation"), ("0 < α < 1", "Partial agonist","Submaximal response even at 100% receptor occupancy"), ("α = 0", "Antagonist", "No response; only blocks receptor access"), ("α = −ve", "Inverse agonist","Response below baseline constitutive activity"), ] ad = [[Paragraph(f"<b>{a}</b>", body_style), Paragraph(b, body_style), Paragraph(c, body_style)] for a,b,c in ariens] at = Table(ad, colWidths=[2.5*cm, 3.5*cm, W-6*cm]) at.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,-1), LGRAY), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 6), ])) story.append(at) story.append(Paragraph( "<b>Limitations:</b> Does not explain spare receptors; cannot account for constitutive receptor activity; " "does not explain partial agonism at molecular level.", note_style)) story.append(Spacer(1, 6)) # ── 2. Rate Theory ────────────────────────────────────────────── story.append(Paragraph("2. Rate Theory (Paton, 1961)", h2_style)) story.append(Paragraph( "Proposed by <b>W.D.M. Paton</b>. Drug effect is proportional to the <b>rate of drug-receptor " "association</b> (number of collisions per unit time), not the total number of occupied receptors.", body_style)) for b in ["Drugs that associate and dissociate rapidly = <b>agonists</b> (frequent stimulation)", "Drugs that bind and remain = <b>antagonists</b> (occupy but do not stimulate repeatedly)", "Later largely displaced by refined occupancy/two-state models"]: story.append(Paragraph(f"<bullet>•</bullet> {b}", bullet_style)) story.append(Spacer(1, 6)) # ── 3. Two-State Theory ───────────────────────────────────────── story.append(Paragraph("3. Two-State (Conformational Selection) Theory (del Castillo & Katz, 1957)", h2_style)) story.append(info_box( "This is the <b>currently accepted modern theory</b>. Receptors exist in two interconvertible " "conformational states in dynamic equilibrium:", bg=LTEAL, border=TEAL)) story.append(Paragraph( "The receptor exists in two states: <b>R (inactive/Ri)</b> — predominates at baseline, and " "<b>R* (active/Ra)</b> — produces biologic effect. Even without any drug, a small fraction " "spontaneously resides in R* → generating <b>constitutive (basal) activity</b>.", body_style)) story.append(info_box( "<i>\"In the absence of drugs, the two isoforms are in equilibrium, and the Rq form is favored. " "Conventional full agonist drugs have a much higher affinity for the Rg conformation, and mass action " "thus favors the formation of the Rg-D complex with a much larger observed effect.\"</i><br/>" "— <b>Katzung's Basic & Clinical Pharmacology, 16th Ed., Chapter 1</b>" )) ts_data = [ [Paragraph("<b>Drug Type</b>", label_style), Paragraph("<b>Affinity for R* vs R</b>", label_style), Paragraph("<b>Effect</b>", label_style)], [Paragraph("Full agonist", body_style), Paragraph("Much higher for R*", body_style), Paragraph("Shifts maximum receptors to R* → maximal effect", body_style)], [Paragraph("Partial agonist", body_style), Paragraph("Intermediate for R*", body_style), Paragraph("Partial shift → submaximal effect; can also antagonize full agonist", body_style)], [Paragraph("Neutral antagonist", body_style), Paragraph("Equal for R and R*", body_style), Paragraph("Maintains baseline constitutive activity; blocks agonist binding", body_style)], [Paragraph("Inverse agonist", body_style), Paragraph("Higher for R (inactive)", body_style), Paragraph("Shifts receptors away from R* → effect BELOW baseline", body_style)], ] tt = Table(ts_data, colWidths=[3.5*cm, 4.5*cm, W-8*cm]) tt.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), TEAL), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LTEAL, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#99f6e4")), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(ts_data[0]) # skip header from above; use table directly story.pop() # remove mistakenly appended list story.append(tt) story.append(Spacer(1, 6)) # ── 4. Spare Receptor Theory ──────────────────────────────────── story.append(Paragraph("4. Spare Receptor Theory (Stephenson, 1956)", h2_style)) story.append(Paragraph( "Proposed by <b>R.P. Stephenson</b>. Maximum pharmacological response can be achieved when " "<b>less than 100% of receptors are occupied</b>. Unoccupied receptors at maximum response = " "<b>spare receptors (receptor reserve)</b>.", body_style)) spare_pts = [ "Spare receptors shift the dose-response curve to the <b>LEFT</b> → increases apparent potency", "EC50 (concentration for 50% effect) is <b>LESS than KD</b> (concentration for 50% receptor occupancy)", "Spare receptor number varies by tissue — explains why same drug can be full agonist in one tissue but partial agonist in another", "Example: On cardiac muscle, occupation of only a small fraction of β1-adrenoceptors produces maximum chronotropic effect", "<b>Anesthesia relevance:</b> Irreversible NMBDs can be antagonized — by inhibiting acetylcholinesterase, ACh concentration rises and displaces the blocker from non-spare receptors at NMJ" ] for p in spare_pts: story.append(Paragraph(f"<bullet>•</bullet> {p}", bullet_style)) story.append(Spacer(1, 6)) # ── 5. Induced-Fit Theory ─────────────────────────────────────── story.append(Paragraph("5. Induced-Fit Theory", h2_style)) story.append(Paragraph( "Unlike the rigid 'lock-and-key' model, this theory proposes that the receptor changes its " "three-dimensional conformation upon ligand binding — both the drug and the receptor adapt " "to each other. This theory supports the concept of <b>allosteric modulation</b>, where drugs " "binding at a non-active site alter receptor conformation and modify agonist response.", body_style)) story.append(Spacer(1, 6)) # ═══════════════════════════════════════════════════════════════ # SECTION IV – AGONISTS & ANTAGONISTS # ═══════════════════════════════════════════════════════════════ story.append(h1_table("IV. AGONISTS, ANTAGONISTS & RECEPTOR CONCEPTS")) story.append(Spacer(1, 4)) story.append(Paragraph("<b>Types of Agonists:</b>", h3_style)) ag_data = [ [Paragraph("<b>Type</b>", label_style), Paragraph("<b>Intrinsic Activity</b>", label_style), Paragraph("<b>Effect / Example</b>", label_style)], [Paragraph("Full agonist", body_style), Paragraph("α = 1", body_style), Paragraph("Max response; e.g., morphine at μ-opioid receptor", body_style)], [Paragraph("Partial agonist", body_style), Paragraph("0 < α < 1", body_style), Paragraph("Submaximal response; acts as agonist alone, antagonist with full agonist; e.g., buprenorphine, pindolol", body_style)], [Paragraph("Inverse agonist", body_style), Paragraph("α < 0 (negative)", body_style), Paragraph("Reduces constitutive activity below baseline; e.g., some antihistamines at H1", body_style)], ] agt = Table(ag_data, colWidths=[3.8*cm, 3.5*cm, W-7.3*cm]) agt.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(agt) story.append(Spacer(1, 6)) story.append(Paragraph("<b>Types of Antagonism:</b>", h3_style)) ant_data = [ [Paragraph("<b>Type</b>", label_style), Paragraph("<b>Mechanism</b>", label_style), Paragraph("<b>Overcome by ↑ agonist?</b>", label_style)], [Paragraph("Competitive (reversible)", body_style), Paragraph("Competes for same receptor site; parallel right shift of dose-response curve; Emax unchanged", body_style), Paragraph("YES", S("y", fontName="Helvetica-Bold", fontSize=9.5, textColor=GREEN))], [Paragraph("Non-competitive (irreversible)", body_style), Paragraph("Binds same site irreversibly OR allosteric site; reduces Emax", body_style), Paragraph("NO", S("n", fontName="Helvetica-Bold", fontSize=9.5, textColor=RED))], [Paragraph("Physiological", body_style), Paragraph("Two drugs act at DIFFERENT receptors with opposing effects (e.g., adrenaline vs histamine)", body_style), Paragraph("N/A", body_style)], [Paragraph("Chemical", body_style), Paragraph("Drug chemically inactivates agonist (e.g., chelation, neutralization)", body_style), Paragraph("N/A", body_style)], ] antt = Table(ant_data, colWidths=[3.8*cm, W-6.5*cm, 2.7*cm]) antt.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("TEXTCOLOR", (0,0), (-1,0), WHITE), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 5), ("BOTTOMPADDING", (0,0), (-1,-1), 5), ("LEFTPADDING", (0,0), (-1,-1), 6), ("VALIGN", (0,0), (-1,-1), "TOP"), ("ALIGN", (2,1), (2,-1), "CENTER"), ])) story.append(antt) story.append(Spacer(1, 6)) # ── Receptor Regulation ───────────────────────────────────────── story.append(Paragraph("<b>Receptor Regulation:</b>", h3_style)) reg = [ ("<b>Desensitization (Tachyphylaxis):</b>", "Decreased receptor response with repeated/continuous exposure; occurs within minutes. " "Mechanism: phosphorylation by GRKs, uncoupling from G protein, receptor internalization"), ("<b>Down-regulation:</b>", "Prolonged agonist exposure → decreased total receptor number (internalization + degradation). " "Example: morphine tolerance via μ-opioid receptor downregulation (Lippincott, Ch 2)"), ("<b>Up-regulation:</b>", "Prolonged antagonist exposure → increased receptor number and sensitivity. " "Example: beta-blocker withdrawal → rebound tachycardia; stopping clonidine → rebound hypertension"), ] for k, v in reg: story.append(Paragraph(f"<bullet>•</bullet> {k} {v}", bullet_style)) story.append(Spacer(1, 6)) # ═══════════════════════════════════════════════════════════════ # SECTION V – ANESTHESIA RELEVANCE # ═══════════════════════════════════════════════════════════════ story.append(h1_table("V. ANESTHESIA-SPECIFIC RECEPTOR RELEVANCE")) story.append(Spacer(1, 4)) anes_data = [ [Paragraph("<b>Drug</b>", label_style), Paragraph("<b>Receptor</b>", label_style), Paragraph("<b>Type</b>", label_style), Paragraph("<b>Clinical Effect</b>", label_style)], ["Propofol / Thiopental", "GABA-A", "Ligand-gated Cl- channel", "Anesthesia induction/maintenance"], ["Succinylcholine", "nAChR at NMJ", "Ligand-gated Na+/K+ channel","Depolarizing NMB; fasciculations"], ["Vecuronium / Atracurium","nAChR at NMJ", "Ligand-gated channel", "Non-depolarizing NMB"], ["Fentanyl / Morphine", "μ-opioid receptor", "GPCR (Gi)", "Analgesia, sedation, resp. depression"], ["Dexmedetomidine", "α2-adrenoceptor", "GPCR (Gi)", "Sedation, analgesia, sympatholysis"], ["Ketamine", "NMDA receptor", "Ligand-gated ion channel","Dissociative anesthesia"], ["Atropine", "Muscarinic M2", "GPCR (Gi-block)", "Tachycardia, blocks vagal bradycardia"], ["Neostigmine", "Acetylcholinesterase","Enzyme (not receptor)", "Reverses NMB; ↑ACh at NMJ"], ["Dexamethasone", "Glucocorticoid R", "Intracellular (Type IV)", "Anti-inflammatory; PONV prophylaxis"], ["Buprenorphine", "μ-opioid", "GPCR – partial agonist", "Moderate analgesia; ceiling effect"], ] ar = [[Paragraph(str(c), S("ac", fontName="Helvetica", fontSize=8.5, textColor=DGRAY)) if isinstance(c, str) else c for c in row] for row in anes_data] # Fix header row ar[0] = [Paragraph("<b>Drug</b>", S("ah", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)), Paragraph("<b>Receptor</b>", S("ah", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)), Paragraph("<b>Type</b>", S("ah", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE)), Paragraph("<b>Clinical Effect</b>", S("ah", fontName="Helvetica-Bold", fontSize=8.5, textColor=WHITE))] art = Table(ar, colWidths=[3.5*cm, 3.5*cm, 4*cm, W-11*cm]) art.setStyle(TableStyle([ ("BACKGROUND", (0,0), (-1,0), NAVY), ("ROWBACKGROUNDS",(0,1), (-1,-1), [LGRAY, WHITE]), ("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#cbd5e1")), ("TOPPADDING", (0,0), (-1,-1), 4), ("BOTTOMPADDING", (0,0), (-1,-1), 4), ("LEFTPADDING", (0,0), (-1,-1), 5), ("VALIGN", (0,0), (-1,-1), "TOP"), ])) story.append(art) story.append(Spacer(1, 8)) # ═══════════════════════════════════════════════════════════════ # QUICK SUMMARY BOX # ═══════════════════════════════════════════════════════════════ story.append(h1_table("QUICK SUMMARY (10 Mark Answer Framework)")) story.append(Spacer(1, 4)) summary_pts = [ "<b>Definition:</b> Receptor = specialized macromolecule that binds drug/ligand → measurable response via signal transduction", "<b>Classification (4 families):</b> Type I: Ligand-gated ion channels (ms) | Type II: GPCRs/7-TM (sec-min) | Type III: Enzyme-linked (min-hrs) | Type IV: Intracellular nuclear (hrs-days)", "<b>Receptor Theory:</b> (a) Occupancy Theory (Clark 1926) — Effect ∝ receptors occupied; (b) Rate Theory (Paton 1961) — Effect ∝ rate of association; (c) Two-State Theory (del Castillo & Katz 1957) — R ⇌ R*; explains full/partial/inverse agonists & constitutive activity; (d) Spare Receptor Theory (Stephenson 1956) — Maximum effect without occupying all receptors", "<b>Key pharmacodynamic terms:</b> Affinity (KD), Intrinsic efficacy (α), Potency (EC50), Efficacy (Emax), Agonist, Partial agonist, Inverse agonist, Competitive vs Non-competitive antagonism", "<b>Receptor regulation:</b> Desensitization (minutes), Down-regulation (prolonged agonist), Up-regulation (prolonged antagonist)", "<b>Anesthesia examples:</b> Propofol/GABA-A (Type I) | Fentanyl/μ-opioid GPCR (Type II) | Dexamethasone/Glucocorticoid R (Type IV)", ] for i, pt in enumerate(summary_pts, 1): story.append(Paragraph(f"<bullet><b>{i}.</b></bullet> {pt}", bullet_style)) story.append(Spacer(1, 8)) # ═══════════════════════════════════════════════════════════════ # REFERENCES # ═══════════════════════════════════════════════════════════════ story.append(HRFlowable(width=W, thickness=1.5, color=NAVY)) story.append(Spacer(1, 4)) story.append(Paragraph("<b>References</b>", h2_style)) refs = [ "Lippincott Illustrated Reviews: Pharmacology — Chapter 2: Drug-Receptor Interactions and Pharmacodynamics", "Katzung BG. Basic & Clinical Pharmacology, 16th Edition — Chapters 1 & 2 (Pharmacodynamics)", "Goodman & Gilman's The Pharmacological Basis of Therapeutics, 14th Edition", "Miller's Anesthesia, 10th Edition — Section on Pharmacodynamics", "Morgan & Mikhail's Clinical Anesthesiology, 7th Edition", "Guyton AC, Hall JE. Textbook of Medical Physiology — Membrane Receptors and Cell Signaling", "Ganong's Review of Medical Physiology, 26th Edition — Synaptic & junctional transmission", ] for i, r in enumerate(refs, 1): story.append(Paragraph(f"{i}. {r}", ref_style)) # ── Build ──────────────────────────────────────────────────────── doc.build(story) print(f"PDF generated: {OUTPUT}") PYEOF echo "Script written"
cd /tmp/workspace/receptor-assignment && python generate_pdf.py 2>&1
ls -lh /tmp/workspace/receptor-assignment/Receptor_Definition_Classification_Theory.pdf
Receptor Definition Classification Theory
PDF Document · PDF
| Section | Content |
|---|---|
| Cover Page | Navy-styled cover with title, "10 Marks", and all 7 textbook references |
| Section I | Definition of receptor + 5 key properties |
| Section II | All 4 receptor types with color-coded detail tables (location, structure, mechanism, speed, examples, anesthesia relevance) + GPCR subtypes table (Gs/Gi/Gq) + full summary comparison table |
| Section III | All 5 receptor theories - Occupancy (Clark/Ariëns), Rate (Paton), Two-State (del Castillo & Katz), Spare Receptor (Stephenson), Induced-Fit |
| Section IV | Agonists/antagonists table, antagonism types table, receptor regulation (desensitization, down-regulation, up-regulation) |
| Section V | Anesthesia drug-receptor table (10 drugs) |
| Summary Box | 6-point framework for writing the 10-mark answer |
| References | All 7 standard textbooks cited properly |