Calculating allele scores using dosage data

692 views
Skip to first unread message

TiitHelimut

unread,
Oct 8, 2015, 8:05:25 AM10/8/15
to plink2-users
Hi there,

I am attempting to use plink2 (PLINK v1.90b3q 64-bit) to generate allele scores from dosage data.

My dosage file is format=1 (i.e. dosage of allele A1) and I have a "score" file with a list of scores in the format:

rs1 A 0.78
rs2 T 0.40
rs3 G 0.22

Plink succeeds in calculating the scores (no errors are given) and returns a .profile file. However, I have found (by calculating a score using a single SNP) that plink is assigning half the weight to each allele than it should be. For instance, calculating a score for rs1, individuals with AA (dose of 2) will have a score of 0.78, those with AG (dose of 1) will have a score of 0.39 and those with GG (dose of 0) will have a score of 0.

Is this intentional behaviour? There is no indication on the website (allelic scoring page) that the weight you should use is anything other than the per-allele effect size, unless I have misunderstood. Using the "sum" or "no-sum" flags doesn't change anything.

Have I got it wrong or is this a bug?

Thanks!

Christopher Chang

unread,
Oct 8, 2015, 9:03:56 PM10/8/15
to plink2-users
PLINK 1.07 and 1.90 scale dosage values to 0-1.  I will add a comment about this in the documentation.

TiitHelimut

unread,
Oct 12, 2015, 4:25:41 AM10/12/15
to plink2-users
Thanks for the reply.

In the documentation, the plink 2 documentation on the dosage command states that:

'format=1' normally indicates a single 0..2 A1 expected count; 'dose1' modifies this to a 0..1 frequency

So surely, plink should not rescale these values unless you add the "dose1" flag?

Additionally, if it intentionally rescales to 0-1 rather than 0-2 for format=1 dosages, then shouldn't the --score function take this into account and be modified so that it adjusts the variant weights accordingly (i.e. if it rescales dosages to 0-2, it should double all weights when calculating the score)? I know that it's not a huge problem for a straight forward score, but I'm combining plink's score with a haplotype score that I've calculated manually (which hasn't been "rescaled") and so am getting the wrong score unless I put in doubled weights.

Thanks!

Christopher Chang

unread,
Oct 12, 2015, 6:04:59 AM10/12/15
to plink2-users
PLINK 1.07 always treats dosages as 0..1 frequencies internally.  "format=1" just tells it to divide the input values by two to determine those frequencies.  I can't afford to break compatibility with this yet.

Therefore, I have added a 'double-dosage' modifier to --score in the Oct 12 development build to support your use case; let me know if you run into any problems.

TiitHelimut

unread,
Oct 12, 2015, 7:22:35 AM10/12/15
to plink2-users
Thanks again for the response - I appreciate how much work this is for you and the fact that you are able to provide support for such widely used software! I'll have a test of the new flag when I get the chance.

Keep up the brilliant work :)

Best wishes,

Sam.
Reply all
Reply to author
Forward
0 new messages