This is a test version of Biostars. For the public version, visit https://www.biostars.org.
in bcftools mpileup output, the DP number is not equal to depth in I16 tag

I tried to understand the output of bcftools mpileup, especially the I16 tag.
In this case, I16=0,9878,0,28,..., the total reads are 9878+28=9906, that not equal to the DP=9953

According to the description in header of vcf file for I16 tag, the first four numbers are:

// depth fwd   .. ref (0) and non-ref (2)    
// depth rev   .. ref (1) and non-ref (3)    

The sum of the four number supposed (I think!?) to equal to DP (raw read depth) number, but it is not.

So, I have two questions:

  1. Is there any default filtering that will change the first four numbers in I16? what is it?
  2. How can I tell the exact the depth for each of the ALT bases? (C, G, A in this case).

The following are the command and one line of the results:

$ bcftools mpileup -d 10000 -f ref.fa align.bam > mpileup.vcf

$ grep -P "\t311\t" mpileup.vcf
ref     311     .       T       C,G,A   0       .       DP=9953;I16=0,9878,0,28,397088,1.60422e+07,588,12502,592680,3.55608e+07,1680,100800,19953,41405,56,112;QS=0.998521,0.00121707,0.00019111,7.04091e-05;VDB=1.30483e-15;SGB=-0.693054;RPB=0.998703;MQB=1;BQB=1.00562e-18;MQ0F=0      PL      0,255,255,255,255,255,255,255,255,255

## bcftools  v1.9
bcftools mpileup i16

1 answer

(note: relying on memory)

  1. I believe I16 values comprises only high-quality (>Q13) bases, while the DP value is for all bases.
  2. 'mpileup' calculates genotype likelihoods based on the frequency of REF vs ALT bases. To determine the actual variant (including the number of reads used to call that variant), try the 'call' command.

Log in to answer this question.