I used the --score flag to calculate a polygenic risk score from dosage data. The arguments "1 2 3" are the columns for SNP ID, risk allele, and the absolute value of beta for the risk allele, respectively. These are the only columns in the file snp_list. My script is:
plink2 \
--pfile mydata \
--score snp_list 1 2 3 header sum no-mean-imputation \
--memory 4000 \
--threads 5
This returns "Error: --score takes at most three numeric parameters." Any suggestions? Thanks.
2 answers
Sorry about the inappropriate error message; I'll fix that in the next build. The actual issue is that plink2 --score replaces the 'sum' modifier with direct control over the output columns. "plink2 --help score" has the following text toward the end:
The main report supports the following column sets:
maybefid: FID, if that column was in the input.
fid: Force FID column to be written even when absent in the input.
(IID are always present, and positioned here.)
maybesid: SID, if that column was in the input.
sid: Force SID column to be written even when absent in the input.
pheno1: First active phenotype.
phenos: All active phenotypes, if any.
nmissallele: Number of nonmissing alleles.
denom: Denominator of score average (equal to nmissallele value when
'no-mean-imputation' specified).
dosagesum: Sum of named allele dosages.
scoreavgs: Score averages.
scoresums: Score sums.
The default is maybefid,maybesid,phenos,nmissallele,dosagesum,scoreavgs.
Note the "scoresums" option at the bottom. This means that if you add "cols=+scoresums" to your --score invocation, that will add the sum column you're looking for.
The modifiers 'sum' and 'no-mean-imputation' are mutually exclusive according to the documentation.
Log in to answer this question.