Types of alpha receptors there location and mechanism of action
| Tissue | Role |
|---|---|
| Vascular smooth muscle (arterioles, veins) | Vasoconstriction (dominant location) |
| Iris dilator muscle | Mydriasis |
| Urethral/bladder sphincter | Sphincter contraction |
| Prostate | Smooth muscle contraction |
| Hepatocytes | Glycogenolysis |
| Cardiac myocytes (minor) | Fine-tune Ca2+ transients, contractility modulation, cardiac remodeling |
| Salivary glands | Thick mucous secretion |
| Skin/pilomotor muscles | Piloerection |
As described in Braunwald's Heart Disease: "Those on the sarcolemma of vascular smooth muscle are vasoconstrictive alpha1 receptors... Both alpha1 and alpha2 receptors are also found in cardiac myocytes, where their activation can fine-tune Ca2+ transients, ionic currents, and myofilament properties acutely, but they are also known to be important modulators of cardiac remodeling."
| Tissue | Role |
|---|---|
| Presynaptic nerve terminals (primary location) | Autoreceptors - inhibit NE release (negative feedback) |
| CNS (brainstem, spinal cord) | Inhibit sympathetic outflow → sedation, analgesia, hypotension |
| Platelets | Promote platelet aggregation |
| Pancreatic β-cells | Inhibit insulin secretion |
| Vascular smooth muscle (postsynaptic, minor) | Vasoconstriction |
| Adipocytes | Inhibit lipolysis |
| GI tract | Reduce gut motility and secretion |
Braunwald's Heart Disease confirms: "The alpha2-adrenergic receptor inhibits norepinephrine release at cardiac presynaptic nerve endings through a negative feedback mechanism."
| Feature | α1 | α2 |
|---|---|---|
| G protein | Gq | Gi |
| Second messenger | ↑ IP3 + DAG (↑ Ca2+) | ↓ cAMP |
| Primary location | Postsynaptic - vascular smooth muscle | Presynaptic nerve terminals; CNS |
| Primary effect | Vasoconstriction | Inhibit NE release; CNS sedation |
| Prototype agonist | Phenylephrine | Clonidine |
| Prototype antagonist | Prazosin (α1-selective) | Yohimbine (α2-selective) |
| Agonist potency | NE > Epi >> Iso | NE > Epi >> Iso |
Search for clinical guidelines on alpha-blocker use in hypertension and BPH
"alpha-blockers"[MeSH Terms] AND "hypertension"[MeSH Terms]
"adrenergic alpha-antagonists"[MeSH Terms] AND "prostatic hyperplasia"[MeSH Terms]
alpha blocker hypertension BPH clinical guidelines 2023 2024 AHA AUA
PMID: 38750153
PMID: 36171560
"adrenergic alpha-antagonists"[MeSH Terms] AND "hypertension"[MeSH Terms] AND "treatment"
alpha blocker hypertension guidelines 2023 ESH ACC AHA position doxazosin terazosin
https://pmc.ncbi.nlm.nih.gov/articles/PMC12960196
PMID: 37796278
| Guideline | Year | Alpha-Blocker Role | Agent(s) | Key Notes |
|---|---|---|---|---|
| AHA/ACC (USA) | 2017 | Not first-line; second-line in men with BPH | Doxazosin, Prazosin, Terazosin | Risk of orthostatic hypotension; ALLHAT trial concern |
| ESH (Europe) | 2023 | Third-line / add-on agent in specific cases | Doxazosin | Appropriate for BPH comorbidity; ALLHAT safety concerns partially refuted by ASCOT |
| ESC (Europe) | 2024 | Fourth-line for resistant hypertension after spironolactone + beta-blocker failure | Doxazosin | Also indicated for pheochromocytoma |
| NICE (UK) | 2019 | Step 4 - resistant hypertension (when serum K+ >4.5 mmol/L) | Doxazosin | Alternative to spironolactone if contraindicated |
| JSH (Japan) | 2019 | BPH, pheochromocytoma, morning hypertension | Long-acting α1-blockers | Start at low dose; reflex tachycardia risk |
| China | 2018 | Elderly men with BPH | α1-β blockers | Class IIa; orthostatic hypotension risk |
Note: an erratum was published for this paper (PMID: 38839788) - check for corrections
| Drug | Receptor Selectivity | BP Effect | Best Use Case |
|---|---|---|---|
| Tamsulosin | α1A-selective (uroselective) | Minimal | BPH without hypertension |
| Silodosin | α1A-highly selective | Minimal | BPH; high ejaculatory dysfunction risk |
| Alfuzosin | α1A-selective | Minimal | BPH without hypertension |
| Doxazosin | Non-selective α1 (A+B) | Significant BP lowering | BPH with hypertension; resistant HTN |
| Terazosin | Non-selective α1 | Significant BP lowering | BPH with hypertension |
| Prazosin | Non-selective α1 | Significant BP lowering | Hypertension; pheochromocytoma (short-acting, less preferred) |
Create a quick reference PDF comparing alpha-blocker agents (dose, onset, side effects, cost)
ls /home/daytona/workspace/ 2>/dev/null && echo "---" && python3 -c "from report…
mkdir -p /home/daytona/workspace/alpha-blocker-ref
~/alpha-blocker-ref/generate_pdf.py
from reportlab.lib.pagesizes import A4, landscape
from reportlab.lib import colors
from reportlab.lib.units import cm, mm
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.platypus import (
SimpleDocTemplate, Table, TableStyle, Paragraph,
Spacer, HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT
from reportlab.platypus import BaseDocTemplate, PageTemplate, Frame
from reportlab.lib.colors import HexColor
import datetime
# ── Colour palette ──────────────────────────────────────────────
NAVY = HexColor('#1A3A5C')
TEAL = HexColor('#0D7377')
SKY = HexColor('#EAF4F8')
AMBER = HexColor('#FFF3CD')
GREEN = HexColor('#D4EDDA')
RED_SOFT = HexColor('#F8D7DA')
GREY_LT = HexColor('#F5F7FA')
GREY_MID = HexColor('#DEE2E6')
WHITE = colors.white
BLACK = colors.black
OUTPUT = '/home/daytona/workspace/alpha-blocker-ref/Alpha_Blocker_Quick_Reference.pdf'
# ── Page setup ──────────────────────────────────────────────────
PAGE = landscape(A4)
W, H = PAGE
doc = SimpleDocTemplate(
OUTPUT,
pagesize=PAGE,
leftMargin=1.2*cm, rightMargin=1.2*cm,
topMargin=2.8*cm, bottomMargin=1.8*cm,
title='Alpha-Blocker Quick Reference',
author='Orris Medical Reference'
)
styles = getSampleStyleSheet()
def S(name, **kw):
return ParagraphStyle(name, **kw)
hdr_style = S('Hdr', fontSize=7, fontName='Helvetica-Bold', textColor=WHITE, alignment=TA_CENTER, leading=9)
cell_style = S('Cell', fontSize=6.5,fontName='Helvetica', textColor=BLACK, alignment=TA_CENTER, leading=8.5)
cell_l = S('CellL', fontSize=6.5,fontName='Helvetica', textColor=BLACK, alignment=TA_LEFT, leading=8.5)
cell_b = S('CellB', fontSize=6.5,fontName='Helvetica-Bold', textColor=NAVY, alignment=TA_CENTER, leading=8.5)
cell_b_l = S('CellBL',fontSize=6.5,fontName='Helvetica-Bold', textColor=NAVY, alignment=TA_LEFT, leading=8.5)
small = S('Sm', fontSize=5.8,fontName='Helvetica', textColor=HexColor('#555555'), alignment=TA_LEFT, leading=7.5)
warn_style = S('Warn', fontSize=6.2,fontName='Helvetica-Bold', textColor=HexColor('#721c24'), alignment=TA_LEFT, leading=8)
note_style = S('Note', fontSize=6.2,fontName='Helvetica', textColor=HexColor('#333333'), alignment=TA_LEFT, leading=8)
def p(text, style=cell_style):
return Paragraph(text, style)
def pl(text, style=cell_l):
return Paragraph(text, style)
# ══════════════════════════════════════════════════════════════════
# HEADER / FOOTER callbacks
# ══════════════════════════════════════════════════════════════════
def draw_header(canvas, doc):
canvas.saveState()
# Navy banner
canvas.setFillColor(NAVY)
canvas.rect(0, H - 2.3*cm, W, 2.3*cm, fill=1, stroke=0)
# Title
canvas.setFillColor(WHITE)
canvas.setFont('Helvetica-Bold', 16)
canvas.drawString(1.2*cm, H - 1.45*cm, 'Alpha-Blocker Agents — Quick Reference Card')
canvas.setFont('Helvetica', 9)
canvas.drawString(1.2*cm, H - 2.0*cm, 'Dose • Onset • Selectivity • Side Effects • Indications • Cost • Special Populations')
# Date top-right
canvas.setFont('Helvetica', 7.5)
canvas.setFillColor(HexColor('#A0C4D8'))
canvas.drawRightString(W - 1.2*cm, H - 1.5*cm, f'Generated {datetime.date.today().strftime("%B %d, %Y")}')
canvas.restoreState()
def draw_footer(canvas, doc):
canvas.saveState()
canvas.setFillColor(NAVY)
canvas.rect(0, 0, W, 1.3*cm, fill=1, stroke=0)
canvas.setFillColor(HexColor('#A0C4D8'))
canvas.setFont('Helvetica', 6.5)
canvas.drawString(1.2*cm, 0.55*cm,
'For educational use only. Always verify doses with current prescribing information. '
'Cost estimates are approximate retail (USA) and may vary by region/formulary.')
canvas.drawRightString(W - 1.2*cm, 0.55*cm, f'Page {doc.page}')
canvas.restoreState()
# ══════════════════════════════════════════════════════════════════
# DATA
# ══════════════════════════════════════════════════════════════════
# Column widths (landscape A4 usable ≈ 26.6 cm)
COL_W = [2.8, 2.1, 2.6, 2.1, 1.8, 3.8, 3.5, 3.2, 2.5, 2.2] # 26.6 total
# Drug | Class | Dosing | Dose Range | Onset | Side Effects | Indications | Cautions | Cost | Pregnancy
HEADERS = [
p('Drug\n(Generic)', hdr_style),
p('Receptor\nSelectivity', hdr_style),
p('Dosing\n(Oral)', hdr_style),
p('Dose Range', hdr_style),
p('Onset of\nAction', hdr_style),
p('Common Side Effects', hdr_style),
p('Indications', hdr_style),
p('Key Cautions /\nContraindications', hdr_style),
p('Approx. Cost\n(30-day supply)', hdr_style),
p('Pregnancy\nCategory', hdr_style),
]
# ── colour coding legend:
# NON-SELECTIVE = light amber
# UROSELECTIVE = light green
# NON-SELECTIVE2 = light red (older, less used)
DRUGS = [
# ── NON-SELECTIVE ─────────────────────────────────────────────────────────────────────────────────────────────────────
{
'row': [
pl('<b>Doxazosin</b>\n(Cardura)', cell_b_l),
p('Non-selective\nα1 (A+B+D)', cell_b),
pl('HTN: 1 mg QD → titrate\nBPH: 1 mg QD → max 8 mg', cell_l),
p('1–16 mg/day', cell_b),
p('1–2 hrs\n(peak 2–6 h)', cell_style),
pl('Orthostatic hypotension,\ndizziness, headache,\noedema, fatigue', cell_l),
pl('<b>HTN</b> (2nd/3rd-line)\n<b>BPH</b> (1st-line)\nResistant HTN', cell_l),
pl('Heart failure risk (ALLHAT)\nUse modified-release (GITS)\nfor HTN; avoid 1st-line\nin elderly for HTN', cell_l),
p('$4–$15\n(generic)', cell_style),
p('C', cell_b),
],
'bg': AMBER
},
{
'row': [
pl('<b>Terazosin</b>\n(Hytrin)', cell_b_l),
p('Non-selective\nα1 (A+B)', cell_b),
pl('HTN: 1 mg QHS → max 20 mg\nBPH: 1 mg QHS → max 10 mg', cell_l),
p('1–20 mg/day', cell_b),
p('1–2 hrs\n(peak 2–3 h)', cell_style),
pl('First-dose hypotension,\ndizziness, asthenia,\nnasal congestion', cell_l),
pl('<b>HTN</b> (add-on)\n<b>BPH</b> (1st-line)', cell_l),
pl('Give 1st dose at bedtime\nto reduce hypotension;\ncaution with PDE-5\ninhibitors', cell_l),
p('$8–$20\n(generic)', cell_style),
p('C', cell_b),
],
'bg': AMBER
},
{
'row': [
pl('<b>Prazosin</b>\n(Minipress)', cell_b_l),
p('Non-selective\nα1 (A+B)', cell_b),
pl('Start 1 mg BID–TID\nMax: 20 mg/day', cell_l),
p('1–20 mg/day\n(divided)', cell_b),
p('0.5–1.5 hrs\n(short-acting)', cell_style),
pl('First-dose syncope,\northostatic hypotension,\npalpitations, dizziness', cell_l),
pl('HTN (less favoured)\nPTSD nightmares\nPheochromocytoma (pre-op)', cell_l),
pl('High first-dose syncope\nrisk; requires BID–TID\ndosing; largely superseded\nby newer agents', cell_l),
p('$15–$40\n(generic)', cell_style),
p('C', cell_b),
],
'bg': AMBER
},
# ── UROSELECTIVE ──────────────────────────────────────────────────────────────────────────────────────────────────────
{
'row': [
pl('<b>Tamsulosin</b>\n(Flomax)', cell_b_l),
p('Uroselective\nα1A >> α1B', cell_b),
pl('0.4 mg QD (30 min\nafter same meal)\n→ 0.8 mg if needed', cell_l),
p('0.4–0.8 mg/day', cell_b),
p('4–8 hrs\n(peak 4–7 h)', cell_style),
pl('Retrograde ejaculation\n(~18%), dizziness,\nrhinitis, intraoperative\nfloppy iris syndrome (IFIS)', cell_l),
pl('<b>BPH / LUTS</b> (1st-line)\nAcute urinary retention\n(pre-voiding trial)', cell_l),
pl('<b>IFIS risk</b>: inform\nophthalmologist before\ncataract surgery;\ncaution with CYP3A4\ninhibitors', cell_l),
p('$8–$20\n(generic)\n$60–$90\n(brand)', cell_style),
p('B', cell_b),
],
'bg': GREEN
},
{
'row': [
pl('<b>Silodosin</b>\n(Rapaflo)', cell_b_l),
p('Highly\nUroselective\nα1A >>> α1B', cell_b),
pl('8 mg QD with a meal\n(4 mg if renal\nimpairment)', cell_l),
p('4–8 mg/day', cell_b),
p('2–6 hrs\n(peak 2.6 h)', cell_style),
pl('<b>Retrograde ejaculation</b>\n(~28%, highest of class),\ndizziness, diarrhoea,\northostatic hypotension\n(rare)', cell_l),
pl('<b>BPH / LUTS</b> (1st-line)\nGood option if\nBP-lowering undesired', cell_l),
pl('Avoid in severe renal\n(CrCl <30) or hepatic\nimpairment; P-gp &\nCYP3A4 substrate;\nmost ejaculatory SE', cell_l),
p('$160–$220\n(brand only\nin many markets)', cell_style),
p('B', cell_b),
],
'bg': GREEN
},
{
'row': [
pl('<b>Alfuzosin</b>\n(Uroxatral)', cell_b_l),
p('Uroselective\nα1A = α1D', cell_b),
pl('10 mg QD (XR)\nafter same meal daily', cell_l),
p('10 mg/day\n(XR only)', cell_b),
p('8 hrs\n(extended\nrelease)', cell_style),
pl('Dizziness, headache,\northostatic hypotension\n(mild), asthenia;\nlow ejaculatory SE', cell_l),
pl('<b>BPH / LUTS</b> (1st-line)\nFavourable for patients\nconcerned about sexual SE', cell_l),
pl('CYP3A4 inhibitors\nincrease levels;\nQT prolongation potential;\navoid in severe hepatic\nimpairment', cell_l),
p('$30–$60\n(generic)\n$100–$150\n(brand)', cell_style),
p('B', cell_b),
],
'bg': GREEN
},
# ── NON-SELECTIVE (CENTRAL/SPECIAL USE) ───────────────────────────────────────────────────────────────────────────────
{
'row': [
pl('<b>Phenoxybenzamine</b>\n(Dibenzyline)', cell_b_l),
p('Non-selective\nα1 + α2\n(irreversible)', cell_b),
pl('Start 10 mg BID\nMax: 40–80 mg/day\n(divided doses)', cell_l),
p('10–40 mg/day\n(divided)', cell_b),
p('Several hrs\n(irreversible\nbinding)', cell_style),
pl('Severe orthostatic\nhypotension, reflex\ntachycardia, nasal\ncongestion, miosis,\nfatigue', cell_l),
pl('Pheochromocytoma\n(pre-operative\npreparation)\nCarcinoid syndrome', cell_l),
pl('NOT for routine HTN;\nirreversible block;\ncardiac arrhythmias;\ncaution with anaesthesia;\npotential carcinogen\n(animal data)', cell_l),
p('$900–$1,400\n(specialty drug)', cell_style),
p('C', cell_b),
],
'bg': RED_SOFT
},
{
'row': [
pl('<b>Phentolamine</b>\n(Regitine)', cell_b_l),
p('Non-selective\nα1 + α2\n(reversible)', cell_b),
pl('5 mg IV/IM\n(peri-operative)\n2.5–5 mg boluses', cell_l),
p('5–15 mg IV\n(as needed)', cell_b),
p('<2 min (IV)\nShort duration\n(15–30 min)', cell_style),
pl('Tachycardia, arrhythmia,\nhypotension, flushing,\nnausea, angina', cell_l),
pl('Pheo crisis (IV)\nClonidine withdrawal\nHypertensive emergencies\nDiagnosis of pheo (historical)', cell_l),
pl('IV use only in acute\nsettings; marked reflex\ntachycardia; not for\nchronic management;\nangina risk', cell_l),
p('$200–$500\n(IV vials;\nhospital use)', cell_style),
p('C', cell_b),
],
'bg': RED_SOFT
},
]
# ── Build table rows ──────────────────────────────────────────────
table_data = [HEADERS]
row_colors = [] # (row_index, bg_color)
for i, drug in enumerate(DRUGS):
table_data.append(drug['row'])
row_colors.append((i + 1, drug['bg'])) # +1 for header row
# ── Table style ───────────────────────────────────────────────────
ts = TableStyle([
# Header
('BACKGROUND', (0,0), (-1,0), NAVY),
('TEXTCOLOR', (0,0), (-1,0), WHITE),
('FONTNAME', (0,0), (-1,0), 'Helvetica-Bold'),
('FONTSIZE', (0,0), (-1,0), 7),
('ALIGN', (0,0), (-1,0), 'CENTER'),
('VALIGN', (0,0), (-1,-1),'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING',(0,0), (-1,-1), 4),
('LEFTPADDING', (0,0), (-1,-1), 4),
('RIGHTPADDING', (0,0), (-1,-1), 4),
# Grid
('GRID', (0,0), (-1,-1), 0.4, GREY_MID),
('LINEBELOW', (0,0), (-1,0), 1.0, TEAL),
# Alternating row bg handled below
])
# Apply per-row background colors
for row_idx, bg in row_colors:
ts.add('BACKGROUND', (0, row_idx), (-1, row_idx), bg)
tbl = Table(table_data, colWidths=[w*cm for w in COL_W], repeatRows=1)
tbl.setStyle(ts)
# ══════════════════════════════════════════════════════════════════
# LEGEND / FOOTNOTES section
# ══════════════════════════════════════════════════════════════════
legend_data = [
[
p('COLOR KEY', hdr_style),
p('AMBER = Non-selective α1 blocker (BP lowering + BPH)', ParagraphStyle('L', fontSize=6.5, fontName='Helvetica', textColor=BLACK, alignment=TA_LEFT)),
p('GREEN = Uroselective α1A blocker (BPH-preferred, minimal BP effect)', ParagraphStyle('L2', fontSize=6.5, fontName='Helvetica', textColor=BLACK, alignment=TA_LEFT)),
p('RED = Pheo / specialty use only (not for routine hypertension)', ParagraphStyle('L3', fontSize=6.5, fontName='Helvetica', textColor=BLACK, alignment=TA_LEFT)),
]
]
legend_tbl = Table(legend_data, colWidths=[2.5*cm, 8*cm, 8.5*cm, 7.6*cm])
legend_tbl.setStyle(TableStyle([
('BACKGROUND', (0,0), (0,0), NAVY),
('BACKGROUND', (1,0), (1,0), AMBER),
('BACKGROUND', (2,0), (2,0), GREEN),
('BACKGROUND', (3,0), (3,0), RED_SOFT),
('GRID', (0,0), (-1,-1), 0.4, GREY_MID),
('VALIGN', (0,0), (-1,-1), 'MIDDLE'),
('TOPPADDING', (0,0), (-1,-1), 4),
('BOTTOMPADDING',(0,0),(-1,-1),4),
('LEFTPADDING',(0,0),(-1,-1),4),
]))
# ── Key clinical notes ────────────────────────────────────────────
notes = [
('⚠ ALLHAT Trial',
'Doxazosin arm stopped early — 2× risk of heart failure vs. chlorthalidone. '
'Alpha-blockers are NOT first-line monotherapy for uncomplicated hypertension.'),
('✔ AUA 2023 (BPH)',
'Recommends alfuzosin, doxazosin, silodosin, tamsulosin, or terazosin as first-line for moderate–severe LUTS/BPH (IPSS ≥8). '
'Choice based on patient age, comorbidities, and side-effect profile.'),
('✔ ESH 2023 (HTN)',
'Alpha-1 blockers (doxazosin) positioned as third-line agents; may be added earlier in men with concomitant BPH.'),
('⚠ IFIS Risk',
'Tamsulosin (and other α1A-blockers) cause Intraoperative Floppy Iris Syndrome. Always inform surgeon/ophthalmologist before cataract surgery.'),
('✔ BPH + HTN',
'Use non-selective agent (doxazosin or terazosin) — single drug manages both conditions. '
'Preferred over uroselective agents when BP control is also needed.'),
('⚠ Elderly Patients',
'All alpha-blockers increase orthostatic hypotension and fall risk in older adults. Start at lowest dose, titrate slowly, review regularly.'),
]
note_rows = [[
Paragraph(f'<b>{title}</b>', ParagraphStyle('NT', fontSize=6, fontName='Helvetica-Bold',
textColor=NAVY if title.startswith('✔') else HexColor('#8B0000'),
leading=7.5)),
Paragraph(body, note_style)
] for title, body in notes]
note_tbl_w = [3.0*cm, 23.6*cm]
note_tbl = Table(note_rows, colWidths=note_tbl_w)
note_tbl.setStyle(TableStyle([
('GRID', (0,0), (-1,-1), 0.3, GREY_MID),
('BACKGROUND', (0,0), (-1,-1), GREY_LT),
('VALIGN', (0,0), (-1,-1), 'TOP'),
('TOPPADDING', (0,0), (-1,-1), 3),
('BOTTOMPADDING',(0,0), (-1,-1), 3),
('LEFTPADDING', (0,0), (-1,-1), 4),
]))
# ══════════════════════════════════════════════════════════════════
# ASSEMBLE STORY
# ══════════════════════════════════════════════════════════════════
story = [
tbl,
Spacer(1, 0.35*cm),
legend_tbl,
Spacer(1, 0.25*cm),
Paragraph('Clinical Notes & Guideline Highlights', ParagraphStyle(
'SH', fontSize=7.5, fontName='Helvetica-Bold', textColor=NAVY, leading=10)),
Spacer(1, 0.15*cm),
note_tbl,
]
# ── Build with header/footer ──────────────────────────────────────
frame = Frame(
doc.leftMargin, doc.bottomMargin,
W - doc.leftMargin - doc.rightMargin,
H - doc.topMargin - doc.bottomMargin,
id='main'
)
template = PageTemplate(id='main', frames=[frame],
onPage=draw_header, onPageEnd=draw_footer)
doc.addPageTemplates([template])
doc.build(story)
print(f'PDF saved to: {OUTPUT}')
python3 /home/daytona/workspace/alpha-blocker-ref/generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/alpha-blocker-ref/Alpha_Blocker_Quick_Reference.p…
Alpha Blocker Quick Reference
PDF Document · PDF