End-to-end polygenic risk score analysis
From GWAS retrieval to cohort association in a single reproducible R workflow.
Holstege Lab · Amsterdam UMC
One workflow, end to end
Specify what you want — let the framework handle how.
generateBuild PRS models from GWAS sources
computeScore cohort genotypes via PLINK
evaluateDiscrimination, calibration, incremental R²
associateRegression, survival, mediation, MR
visualizePublication-ready figures
Two questions, one framework
Once you have models — generated from GWAS, loaded from disk, or downloaded from the PGS Catalog — the next step is always the same: apply them to cohort data.
compute$scores(data, models)→scores applied to your cohortHow well does this PRS predict the outcome?
Assess discrimination (AUC, C-statistic), calibration, risk stratification, and incremental R² over clinical variables. Compare model candidates systematically.
evaluate$performanceevaluate$calibrationevaluate$stratificationevaluate$incrementalWhat does this PRS associate with?
Run inferential models — linear/logistic regression, Cox survival, Fine-Gray competing risks, mediation analysis, Mendelian randomization, and cross-cohort meta-analysis.
associate$regressionassociate$survivalassociate$mediationassociate$mrUp and running in minutes
A full PRS-to-association workflow in three calls.
models <- generate$models(
source = generate$sources$opengwas("ieu-b-5067"),
algorithm = generate$algorithms$ldpred2()
)data <- compute$scores(
data = PolyGeniusData(geno, pheno),
models = models
)assoc <- associate$regression(
data = data,
outcome = outcome("AD", type = "binary")
)
eval <- evaluate$performance(data, outcome = "AD")