I have a vcf info formatted in GT:PL.

chr22 49994037 . G A 345.64 PASS AC=1;AF=0.500;AN=2;BaseQRankSum=-3.605;DP=35;ExcessHet=3.0103;FS=1.377;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=10.17;ReadPosRankSum=-0.035;SOR=0.392 GT:AD:DP:GQ:PL 0/1:20,14:34:99:353,0,588

I want to convert it into GT:GP. But I have to write a script for that. Is there any way to do it fast and simple?



PL: Phred-scaled Genotype Likelihoods

GP: Genotype Probabilities

check the link below for all the info tags


  • $\begingroup$ Seems like you may be confusing genotype probability and genotype likelihood? That's how you convert GL to PL, not GP to PL. $\endgroup$
    – user438383
    Commented Sep 22, 2022 at 14:18
  • $\begingroup$ I think I am right. GP limits to 0 to 1 probability. GL is genotype likelihoods comprised of comma-separated floating point log10-scaled likelihoods and PL is a Phred-scaled likelihood. So, the conversion formulae should be like this. Can u clarify what I have done wrong? $\endgroup$ Commented Sep 22, 2022 at 16:08
  • $\begingroup$ It says PL : the phred-scaled genotype likelihoods, not genotype probabilities. You said you want genotype probabilities, not genotype likelihoods. Why are you trying to convert PL to GP anyway? Genotype probabilities are usually posterior probabilities from imputation and genotype/phred-scaled likelihoods are what you get from variant callers. $\endgroup$
    – user438383
    Commented Sep 22, 2022 at 16:11
  • $\begingroup$ to compare my imputation accuracy with true genotype. $\endgroup$ Commented Sep 22, 2022 at 16:11
  • $\begingroup$ So the line you shared is presumably the true genotype, since it doesn't look like it's been imputed? Either way, you want to use dosages for that, not genotype probabilities. Why do you want genotype probabilities? $\endgroup$
    – user438383
    Commented Sep 22, 2022 at 16:14

1 Answer 1


Currently you have phred-scaled genotype likelihoods or PL values. Genotype likelihoods give the likelihood of observing the read data (i.e. the number of reads which map to either the ref or alt allele), given a particular underlying genotype (0/0, 0/1, 1/1 at a bi-allelic locus); $GL = p(G|D)$. Phred scaling simply scales it like $PL = -10 * log(GL)$. These are usually given by a genotype caller.

Genotype probabilities are slightly different in that they are posterior probabilities that the genotype is correct, given either other genotypes from a population or trio and a prior distribution for the allele frequencies. Therefore, you can't trivially go from likelihoods to probabilities without accounting for this external information and the prior. As suggested by JRodrigoF, you should use something like CalculateGenotypePosteriors to do this, maybe including 1000 genomes allele counts.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.