🧬 Polygenic Risk Score Disease Prediction
Calculation of polygenic risk scores for multifactorial diseases.
Genome-Wide Association Studies — Mining Millions of SNPs for Disease Signal
A polygenic risk score begins with a genome-wide association study (GWAS): millions of common single-nucleotide polymorphisms (SNPs) are individually tested for statistical association with a disease phenotype across a large case-control or population cohort. Each SNP yields a marginal effect size and a p-value, ignoring all other variants — the raw ingredient list from which a predictive score will later be assembled.
- ~9.6M: SNPs tested (typical array/imputed) (imputed to 1000G/TOPMet reference)
- ~500k: Discovery cohort size (e.g. UK Biobank scale)
- p<5×10⁻⁸: Genome-wide significance (Bonferroni for ~1M independent tests)
- OR 1.02–1.15: Typical per-SNP effect (common variants, small individual effect)
The additive model behind every GWAS association test
For each SNP, a logistic (case/control) or linear (quantitative trait) regression is fit:
logit(P(disease)) = β₀ + β₁·dosage + covariates(age, sex, PC1..PC10)
• dosage: 0, 1, or 2 copies of the risk allele (or imputed fractional dosage 0–2) • β₁: the log-odds ratio per risk allele — the number a PRS will later reuse as a weight • Principal components (PC1–PC10) of genome-wide genotype correlation correct for population stratification — without this, ancestry differences masquerade as disease association
Multiple testing burden: testing ~1 million independent LD blocks demands p<5×10⁻⁸ for genome-wide significance, a threshold set in the early 2000s and still standard today. Even so, most true associations fall below this threshold — polygenic disease architecture means thousands of variants each nudge risk by 1–5%, individually undetectable in cohorts smaller than several hundred thousand.
Meta-analysis: modern GWAS (e.g. for coronary artery disease, type 2 diabetes) pool dozens of cohorts — UK Biobank, FinnGen, deCODE, BioBank Japan — via fixed-effects meta-analysis of summary statistics alone, without ever sharing individual-level genotypes. This is what makes summary-statistics files (SNP, chromosome, position, effect allele, β, SE, p-value) the portable currency of the entire PRS pipeline.
The largest published GWAS for coronary artery disease (CARDIoGRAMplusC4D + UK Biobank meta-analysis) combined over 1.1 million individuals and identified more than 240 independent genome-wide significant loci — yet these loci together explain only a fraction of the estimated 40–50% heritability of the disease. The rest is distributed across hundreds of thousands of sub-threshold variants, which is precisely why PRS methods use genome-wide, not just significant, SNPs.
Linkage Disequilibrium Clumping — Removing Redundant Correlated Signal
Because nearby SNPs are inherited together in blocks (linkage disequilibrium, LD), a single causal or tagging variant can produce dozens of "significant" neighboring hits that are not independent evidence — they are echoes of the same underlying signal. Clumping collapses each LD block down to one representative SNP using a reference haplotype panel, producing a quasi-independent variant set suitable for simple summation.
- 2,504: 1000 Genomes Phase 3 panel (reference genomes, 26 populations)
- 250 kb – 1 Mb: Typical clumping window (around each index SNP)
- 0.1 – 0.5: r² threshold (classic C+T) (pairwise LD cutoff for pruning)
- ~50k–200k: SNPs surviving clumping (from ~9.6M imputed variants)
Clumping algorithm and the LD-reference-panel dependency
Standard clumping+thresholding (C+T) procedure:
1. Sort all SNPs by GWAS p-value, most significant first 2. Take the top (index) SNP; scan a window (e.g. ±250kb) around it 3. Any SNP in that window with pairwise LD r² above threshold (e.g. 0.1) to the index SNP is removed ("clumped") — regardless of its own p-value 4. Move to the next most-significant surviving SNP; repeat until no SNPs remain
The LD itself is not observed directly from the small discovery sample — it is estimated from an external reference panel (1000 Genomes, HapMap3, or a UK Biobank-derived panel) matched as closely as possible in ancestry to the discovery cohort. This is the single most consequential dependency in PRS portability: LD structure differs substantially between ancestries because of different population histories, recombination hotspots, and allele frequencies, so a European-derived reference panel clumps SNPs differently — and often incorrectly — for African or East Asian genomes.
Modern alternative — Bayesian shrinkage instead of hard pruning: Methods like LDpred2 and PRS-CS avoid discarding correlated SNPs altogether. Instead they model the full LD covariance structure and shrink correlated effect estimates jointly, retaining nearly all genome-wide SNPs (~1M+) with continuously shrunk weights rather than a hard in/out decision. This generally outperforms C+T by 10–20% in predictive AUC because it recovers signal that clumping would have thrown away.
Building the Score — From Clumped Betas to a Weighted Genome-Wide Sum
The polygenic risk score itself is almost embarrassingly simple arithmetic once the SNP set and weights are fixed: for each person, multiply their allele dosage at every included SNP by that SNP's effect weight, and sum across the genome. The sophistication lives entirely upstream, in how the SNP set and weights were chosen — clumping+thresholding, LDpred2, PRS-CS, and SBayesR all produce the same final linear form but disagree substantially on the weights.
- Σ βᵢ·dosageᵢ: PRS formula (linear, additive across SNPs)
- ~1.1M: LDpred2 SNPs used (HapMap3+ variant set, genome-wide)
- continuous: PRS-CS shrinkage prior (global-local Bayesian shrinkage)
- ~2–6 hrs: Compute time (LDpred2) (single chromosome, standard cluster node)
Comparing construction methods: clumping+thresholding, LDpred2, PRS-CS
PRS = Σᵢ βᵢ · gᵢ where gᵢ ∈ {0,1,2} is risk-allele dosage at SNP i, βᵢ is the model weight
Clumping + Thresholding (C+T): • Weight = raw GWAS β for surviving (post-clump) SNPs; all others get weight 0 • Multiple p-value thresholds tested (5×10⁻⁸, 1×10⁻⁵, 0.01, 0.05, 0.5, 1) and the one maximizing target-cohort AUC is chosen — a form of overfitting to target data that must be cross-validated carefully • Simple, interpretable, but discards LD information
LDpred2 (Privé et al. 2020): • Bayesian model: true effect sizes drawn from a spike-and-slab prior (mixture of a point mass at zero and a Gaussian for causal SNPs) • Uses genome-wide LD matrix (banded, per-chromosome) to jointly infer posterior mean effect for every SNP simultaneously via Gibbs sampling • "Auto" variant estimates the polygenicity parameter p (fraction of causal SNPs) directly from data — no external tuning cohort needed
PRS-CS (Ge et al. 2019): • Continuous shrinkage prior (Bayesian) instead of discrete spike-and-slab • High-dimensional Bayesian regression with global and per-SNP local shrinkage parameters, solved via Gibbs sampling on the full summary-statistics LD structure • Comparable or superior accuracy to LDpred2 in most benchmarks, especially for polygenic traits with large numbers of small-effect SNPs
All three collapse to the same dot-product scoring formula at inference time — the entire methodological argument is about how to estimate βᵢ, not about how the score is finally computed.
Validating in an Independent Target Cohort — AUC, Odds Ratios, and Percentile Stratification
A PRS is only as credible as its out-of-sample performance. The model — SNP set and weights fixed from the discovery GWAS — is applied to genotypes in a completely independent target cohort, and the resulting scores are compared against observed disease status using standard discrimination and calibration metrics: AUC, odds ratio per standard deviation, and relative risk across percentile bins.
- 0.60–0.70: Typical PRS AUC (CAD, T2D) (discrimination alone, no clinical covariates)
- ~1.4–1.6: OR per SD of score (log-linear dose-response, most diseases)
- ~3–4×: Top 1% vs. median relative risk (CAD; up to 8× reported in some cohorts)
- 0.72–0.78: Combined AUC (PRS + clinical) (PRS adds ~0.02–0.05 AUC on top of Framingham-style scores)
Reading PRS performance metrics correctly
AUC (area under ROC curve): probability that a randomly chosen case has a higher score than a randomly chosen control. AUC 0.5 = no better than chance; 1.0 = perfect separation. Most disease PRS land at 0.60–0.70 — modest discrimination at the population level, but this number is often misunderstood: a "low" AUC can still carry large clinical value at the tails of the distribution.
Odds ratio per SD: because PRS is approximately normally distributed, its association with disease is usually summarized as an OR per 1-SD increase in score (e.g. OR=1.5 per SD). This compresses the whole dose-response curve into a single log-linear slope; check for non-linearity (steeper risk increase in top few percent) before over-interpreting.
Percentile stratification: individuals are binned by score percentile (e.g. deciles or the extreme top/bottom 1-5%) and disease prevalence or hazard ratio is compared to the middle quintile. This is the metric that translates most directly to clinical intuition: "top 5% of PRS have 3× the lifetime risk of the population average" is far more actionable than an AUC number.
Calibration vs. discrimination: a well-discriminating score can still be miscalibrated (e.g. systematically underestimating absolute risk in older individuals) — calibration curves (observed vs. predicted risk by decile) must be checked separately, particularly before any clinical deployment.
AUC alone dramatically understates PRS clinical utility. For coronary artery disease, individuals in the top percentile of a modern genome-wide PRS have risk comparable to carriers of monogenic familial hypercholesterolemia mutations (LDLR, APOB, PCSK9) — roughly a 3-fold elevated lifetime risk — despite the aggregate AUC sitting at a seemingly modest 0.64-0.68. Percentile-based risk stratification, not AUC, is the relevant lens for individual clinical decisions.
From Percentile to Prescription — Integration, Actionability, and the Portability Problem
Translating a PRS percentile into clinical action for a multifactorial disease like coronary artery disease or type 2 diabetes means combining it with established risk factors, deciding at what percentile intervention changes (earlier statin initiation, more frequent screening, lifestyle counseling), and confronting the score's single largest limitation: virtually all large PRS models are trained predominantly on European-ancestry cohorts and lose substantial accuracy when applied to other ancestries.
- ~86%: GWAS participants of European ancestry (of all published GWAS as of recent surveys)
- −0.10 to −0.15: AUC drop, African-ancestry target (vs. European target, same PRS model)
- ~2–3× lower: Relative risk reduction, African-ancestry PRS (accuracy vs. European-ancestry PRS)
- handful: FDA-cleared clinical PRS products (mostly research-use-only as of 2020s)
Clinical integration pathways and the equity/portability debate
Integration with traditional risk models: • PRS is added as an independent covariate to established scores — Pooled Cohort Equations / QRISK3 for cardiovascular disease, or FINDRISC-style scores for type 2 diabetes • Because PRS is largely uncorrelated with age, blood pressure, and lipid levels (it reflects lifetime genetic liability, not current physiology), it adds incremental — not redundant — information • Typical incremental AUC gain: +0.02 to +0.05 over clinical-factors-only models; modest in aggregate, but can reclassify individuals near a treatment threshold (e.g. borderline 10-year CVD risk 5–10%) into higher or lower risk categories that change statin eligibility
Actionability debate: • Proponents: early identification of high-PRS individuals decades before symptom onset enables earlier lifestyle intervention and statin/screening initiation — genetic risk is present from birth, unlike a cholesterol panel that only becomes informative with age • Skeptics: for many individuals, PRS percentile changes clinical management very little beyond what family history and standard risk factors already capture; overinterpretation of a probabilistic score risks unnecessary anxiety or over-medicalization • Current consensus (major cardiology/genetics societies as of the 2020s): PRS may refine risk at the margins for intermediate-risk individuals but is not yet recommended as a stand-alone screening tool
The portability problem — the central unsolved equity issue: • LD patterns, allele frequencies, and even causal variant identity can differ across ancestries; a PRS trained purely on European GWAS effect sizes systematically underperforms when applied to individuals of African, South Asian, or Indigenous American ancestry • Multi-ancestry GWAS meta-analysis and trans-ethnic PRS methods (e.g. PRS-CSx) partially close this gap by borrowing information across ancestry-specific summary statistics, but full parity has not been achieved • Deploying PRS clinically in genetically diverse populations without correcting for this risks widening, not narrowing, existing healthcare disparities
Because roughly 86% of GWAS discovery participants are of European ancestry, a PRS built for coronary artery disease can show an AUC of 0.68 in a European validation cohort but drop to roughly 0.55–0.58 when applied to individuals of African ancestry — barely above chance for clinical purposes. Multiple genetics societies have explicitly flagged this portability gap as a barrier to equitable clinical deployment, and trans-ancestry methods remain an active, only partially solved, area of research.
Calculation of polygenic risk scores for multifactorial diseases.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install