Bolt Predict

Here we explain how to construct a prediction model using a generalised version of Bolt-LMM. These instructions assume you are analysing individual-level data (if instead you are analysing summary statistics, you should use MegaPRS). Note that the original version of Bolt Predict required you to have already estimated Per-Predictor Heritabilities (but this is no longer necessary, nor recommended).

Always read the screen output, which suggests arguments and estimates memory usage.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

The main argument is --bolt <outfile>.

This requires three options

--bfile/--speed <datastem> or --bgen <datafile> - to specify the genetic data files (see File Formats). If your genetic data are in a different format, you should first Make Data.

--pheno <phenofile> - to specify phenotypes (in PLINK format). Samples without a phenotype will be excluded. If <phenofile> contains more than one phenotype, specify which should be used with --mpheno <integer> or --pheno-name <string> (the latter requires that <phenofile> has a header row), or use --mpheno ALL to analyse all phenotypes.

--LOCO NO - to tell LDAK to focus on creating the genome-wide prediction model (instead of creating leave-one-chromosome-out models for use with LDAK-KVIK).

By default, LDAK will estimate the heritability and the power parameter alpha; to instead specify their values use --her <float> and --power <float> (note that if you use --her, you must also use --power).

If you have computed Per-Predictor Heritabilities, you can provide these using --ind-hers <indhersfile> (note that when using --ind-hers, you can not use --her or --power).

By default, LDAK will use 90%/10% cross-validation to determine suitable prior distribution parameters . You can change the fraction of test samples uing --cv-proportion <float>,  specify the test samples using --cv-samples <cvsampsfile>, or turn off cross-validation, using --skip-cv YES (LDAK will then output multiple models, each trained using 100% of samples).

You can use --keep <keepfile> and/or --remove <removefile> to restrict to a subset of samples, and --extract <extractfile> and/or --exclude <excludefile> to restrict to a subset of predictors (for more details, see Data Filtering).

You can use --covar <covarfile> or --factors <factorfile> to provide quantitative or categorical covariates (in PLINK format) that will be regressed out of the phenotype prior to estimating effect sizes (if <covarfile> contains multiple covariates, you can specify a subset using either --covar-names <string> or --covar-numbers <string>).

The estimated prediction model is saved in <outfile>.effects. Usually, this file has five columns, providing the predictor name, its A1 and A2 alleles, the average number of A1 alleles, then its estimated effect (relative to the A1 allele). If you used --skip-cv YES, there will be effect sizes for each of the different prior parameters. This file is ready to be used for Calculating Scores (i.e., to predict the phenotypes of new samples).
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Example:

Here we use the binary PLINK files human.bed, human.bim and human.fam, and the phenotype quant.pheno from the Test Datasets.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

We construct an Bolt prediction model by running the command

./ldak.out --bolt bolt --bfile human --pheno quant.pheno --LOCO NO

The estimated effect sizes are saved in bolt.effects.