How to Get a Polygenic Risk Score From Your Own Genome
You can buy a polygenic test from a handful of vendors (Allelica, Veritas, Nucleus, and a few clinical labs) for roughly a few hundred to about a thousand dollars, or you can compute the same scores yourself from genotype data you already have. Computing them yourself costs nothing but an afternoon, because the weights are public: the PGS Catalog hosts thousands of published scoring files, and the reference implementation for applying them is open source. The hard part was never the arithmetic. The hard part is getting the input genotypes right, and putting the resulting number on a scale that means anything.
What a polygenic score is, mechanically
A polygenic score is a weighted sum. For each of N variants, you take your dosage of the effect allele and multiply by a weight. The dosage is 0, 1, or 2, or a fractional imputed dosage. The weight is usually a log odds ratio or a beta from a GWAS. Then you add them all up. N ranges from a few dozen (Mavaddat-style breast cancer scores) to 1.1 million (LDpred-derived cardiovascular scores) to 2.1 million for the childhood-to-adult BMI score Khera and colleagues built, where adults in the top decile were about 13 kg heavier than those in the bottom decile and had roughly 25-fold higher odds of severe obesity.1
The raw sum is meaningless on its own. It depends on how many variants were present in your file, which build you aligned to, and the allele frequency spectrum of your ancestry. Everything interpretable comes from comparing your sum against a reference distribution. That covers percentiles and hazard per standard deviation.
Which genotype input you need
Any of these work, in ascending order of how much you can do with them:
- A DTC array export (23andMe, AncestryDNA): ~600k–700k genotyped sites in a tab-separated file on hg19. Usable, but you must impute to get the millions of sites most modern scores require. The impute.me project showed this pipeline end to end on consumer data and published its imputation and scoring code.2
- Imputed array data (TOPMed Imputation Server output): per-chromosome VCFs with a
DSdosage field and anR2info score. This is what most PRS papers used. - Low-coverage WGS plus imputation: at around 0.5x, common-variant genotypes and genome-wide polygenic scores come out essentially equivalent to array-based genotyping.3
- 30x WGS: direct calls for common variants, with no imputation needed for the score itself. You also get everything else that a PRS cannot tell you (rare variants, ACMG secondary findings and CNVs).
Our preference is 30x WGS with a joint-genotyped or reference-blocked output, for one reason explained in the next section.
The failure mode that silently corrupts most self-computed scores
A single-sample VCF only lists sites that differ from the reference. Sites where you are homozygous reference are simply absent. A scoring tool reading that VCF cannot distinguish “homozygous reference, dosage 0” from “not called, missing”. If it treats absent sites as missing, it drops a large fraction of the score’s variants. If it treats them as 0, it silently assigns dosage 0 to sites that were never sequenced.
Both produce a number. Neither produces the right number, and nothing in the output warns you.
Fixes, in order of preference:
- Use a gVCF or a VCF with reference blocks (
ENDrecords) and expand them, or intersect the score’s variant list with a callable-regions BED frommosdepth/GATK CallableLociso you can classify each missing site correctly. - Impute. Imputation returns a dense, fully specified dosage matrix with no ambiguity, and it fills in variants your sequencing missed. Use the
DSfield, not hard calls: hard-calling at 0.5 throws away the uncertainty that the score’s calibration assumed. - At minimum, report the match rate. If a 1.1M-variant score matched 780k variants in your file, say so, and treat the percentile as approximate.
plink2 --score has a second trap. By default it mean-imputes missing genotypes using allele frequencies computed from your cohort. With n = 1 there is no cohort, so you must supply frequencies explicitly with --read-freq from a reference panel, or pass no-mean-imputation and accept a downward-biased sum. Always ask for the denominators:
plink2 \
--pfile target_grch38 \
--read-freq 1kg_af.afreq \
--score weights.txt 1 4 6 header cols=+scoresums,+denom,+nallele \
--out prs_out
Columns 1, 4, 6 here are variant ID, effect allele, and weight in a harmonized PGS Catalog file. Check SCORE1_AVG, DENOM, and NALLELE before you look at anything else.
The pipeline we’d run
Use pgsc_calc, the PGS Catalog’s Nextflow pipeline. It handles build liftover, strand and allele harmonization, ambiguous-palindromic-SNP exclusion, and ancestry adjustment, which are the four things people get wrong by hand.
nextflow run pgscatalog/pgsc_calc -r v2.0.0 -profile docker \
--input samplesheet.csv \
--target_build GRCh38 \
--trait_efo EFO_0001645 \
--run_ancestry pgsc_HGDP+1kGP_v1.tar.zst \
--min_overlap 0.75 \
--outdir results/
--trait_efo EFO_0001645 pulls every published coronary artery disease score in the catalog, so you get a dozen scores for one trait and can see how much they disagree. They will disagree. That spread is information about how much to trust any single one.
--run_ancestry is the part that matters most. It projects your sample onto principal components from the HGDP+1kGP reference and finds your k nearest neighbors in PC space. It then reports your score as a percentile within that ancestry-matched distribution, with mean and variance both adjusted. Without it, a score trained in European-ancestry cohorts and applied to a non-European genome yields a percentile that is off by an amount you cannot estimate from the output. The unadjusted percentile is the single largest source of error in commercial polygenic reports, and it is why we’d rather see the PC projection plot than the score.
Harmonized scoring files are gzipped TSVs with hm_chr, hm_pos, hm_inferOtherAllele, and effect_weight. Read one before you run anything. Check is_flipped and note how many rows have no harmonized position.
How accurate are polygenic scores
For most common diseases, a well-built PRS gives an AUC in the 0.6–0.65 range on its own, rising to around 0.7–0.8 when combined with age, sex, and standard clinical covariates. That is useful for stratification and close to useless for individual prediction. A score can tell you that people in your top-decile stratum have roughly two to three times the population incidence. It cannot tell you whether you personally will develop the disease.
Three things move the needle on whether a specific score is worth your attention:
- Effect size at the tails. The BMI score above is unusual in how much phenotypic separation it produces between deciles.1 Most scores are flatter.
- Interaction with monogenic findings. For hypertrophic cardiomyopathy, a polygenic score both stratifies risk in the general population and modifies penetrance among carriers of pathogenic sarcomeric variants, which makes it clinically meaningful in a way a standalone population score is not.4
- Whether the biology is pathway-resolved. Pathway-specific polygenic scores combined with transcriptomic network analysis in Parkinson disease point at particular functional pathways rather than a single global risk number, which is more actionable for research than a percentile.5
Reporting matters as much as computation. The problem of summarizing many polygenic risks inside one clinical whole-genome report was worked through over a decade ago, and the conclusions still hold. That work meant deciding which traits to include, how to express uncertainty and how to avoid implying diagnosis.6 If a vendor hands you a list of diseases with percentiles and no confidence intervals, variant match rates, or ancestry adjustment, they skipped that work.
A polygenic score is not a diagnosis and does not indicate any treatment. If a score puts you in a tail that concerns you, the next step is a conversation with a physician or genetic counselor about whether established screening applies to you. The next step is not a change in anything you take.
Questions people also ask
Where can I buy a polygenic risk score test, and what does it cost? Allelica, Veritas (myHealthScore), Nucleus, and several clinical labs sell panels, typically a few hundred dollars to about a thousand. If you already have imputed genotypes, you can compute the identical scores from the PGS Catalog for the cost of compute. If you have nothing, sequencing is the real expense, and it buys you far more than polygenic scores.
What are examples of polygenic diseases? Coronary artery disease, type 2 diabetes, obesity, most autoimmune conditions (curated GWAS and PGS resources exist for these across UK Biobank and related cohorts7), schizophrenia, breast and prostate cancer, and hypertrophic cardiomyopathy, where polygenic background layers on top of rare sarcomeric variants.4
Is ADHD polygenic? Is autism? Both are highly polygenic and substantially heritable, but current scores explain only a few percent of variance, far too little for individual prediction or screening. Treat published ADHD and autism PRS as research instruments.
Can a polygenic score predict treatment response? Sometimes, and it is an active research area rather than a clinical tool. Polygenic overlap between schizophrenia risk and antipsychotic response has been characterized directly.8 Similar work exists for surgical outcomes, including a WGS-derived score for weight loss after vertical sleeve gastrectomy in All of Us.9 Neither supports a treatment decision made from a consumer report.
Do I need whole-genome sequencing to get a polygenic score? No. Imputed array data reproduces most published scores well, and low-coverage WGS around 0.5x plus imputation matches array-based scores closely.3 WGS gives you rare-variant and structural information that no polygenic score contains, which is why whole-genome studies pick up polygenic signal in conditions where array panels would not, as in cryptogenic new-onset refractory status epilepticus.10
Footnotes
-
Amit V. Khera, Mark Chaffin, Kaitlin H. Wade, et al. Polygenic Prediction of Weight and Obesity Trajectories from Birth to Adulthood. Cell, 2019. https://doi.org/10.1016/j.cell.2019.03.028 ↩ ↩2
-
Lasse Folkersen, Oliver Pain, Andrés Ingason, et al. Impute.me: An Open-Source, Non-profit Tool for Using Data From Direct-to-Consumer Genetic Testing to Calculate and Interpret Polygenic Risk Scores. Frontiers in Genetics, 2020. https://doi.org/10.3389/fgene.2020.00578 ↩
-
Julian R. Homburger, Cynthia L. Neben, Gilad Mishne, et al. Low coverage whole genome sequencing enables accurate assessment of common variants and calculation of genome-wide polygenic scores. Genome Medicine, 2019. https://doi.org/10.1186/s13073-019-0682-2 ↩ ↩2
-
Sean L. Zheng, Sean J. Jurgens, Kathryn A. McGurk, et al. Evaluation of polygenic scores for hypertrophic cardiomyopathy in the general population and across clinical settings. Nature Genetics, 2025. https://doi.org/10.1038/s41588-025-02094-5 ↩ ↩2
-
Sara Bandrés‐Ciga, Sara Sáez-Atiénzar, Jeff Kim, et al. Large-scale pathway specific polygenic risk and transcriptomic community network analysis identifies novel functional pathways in Parkinson disease. Acta Neuropathologica, 2020. https://doi.org/10.1007/s00401-020-02181-3 ↩
-
Sek Won Kong, In-Hee Lee, Ignaty Leshchiner, et al. Summarizing polygenic risks for complex diseases in a clinical whole-genome report. Genetics in Medicine, 2014. https://doi.org/10.1038/gim.2014.143 ↩
-
Rochi Saurabh, Césaire J. K. Fouodo, Inke R. König, et al. A survey of genome-wide association studies, polygenic scores and UK Biobank highlights resources for autoimmune disease genetics. Frontiers in Immunology, 2022. https://doi.org/10.3389/fimmu.2022.972107 ↩
-
Douglas M. Ruderfer, Alexander W. Charney, Ben Readhead, et al. Polygenic overlap between schizophrenia risk and antipsychotic response: a genomic medicine approach. The Lancet Psychiatry, 2016. https://doi.org/10.1016/s2215-0366(15)00553-2 ↩
-
Yu Hou, Daniel B. Leslie, Jinhua Wang, et al. Predicting Weight Loss After Vertical Sleeve Gastrectomy Using a Whole-genome Sequencing–derived Polygenic Risk Score in the All of Us Cohort. Annals of Surgery, 2025. https://doi.org/10.1097/sla.0000000000006809 ↩
-
Yoonhyuk Jang, Sung Eun Hong, Soo Hyun Ahn, et al. Polygenic Landscape of Cryptogenic New‐Onset Refractory Status Epilepticus: A Comprehensive Whole‐Genome Sequencing Study. Annals of Neurology, 2024. https://doi.org/10.1002/ana.27100 ↩
Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, blood RNA sequencing, and plasma proteomics, delivered as a detailed report plus every data file. Build your profile.