VCF output from mpileup

Question: Understanding VCF output from mpileup



I asked this question at Seqanswers, but have not get any response yet.

I have a question upon calling a SNPs from RNA-seq data (Illumina signle-read, bacterial) with mpileup. I got my VCF file and I'm struggling a little bit to understand the output. If I have:

gi|xxx|emb|xxx|    143630    .    C    T    999    .    DP=490    VDB=0.0004    AF1=1    AC1=4    DP4=1,0,211,276    MQ=20    FQ=-286    PV4=0.43,1.5e-11,1,0.048        GT:PL:GQ    1/1:255,255,0:99    1/1:255,255,0:99

I'm pretty sure of the following:

  1. 143630 is the position of my SNPs

  2. C is the base in the reference genome and T the alternate variant (actual SNPs)

  3. 999 is the score. The higher it is, better the chances that the call is genuine

  4. DP is the actual coverage on that specific position

  5. DP4 are reads fwd and rev for reference and fwd and rev for alternate call

  6. MQ is the quality

Now, here are my questions:

  1. VDB is supposed to be Variant Distance Bias. What exaclt does it means and how I interpret it?

  2. AF1 is Allele Frequency. By 1 it means that all the reads are calling the SNPs? If I have AF1=0.5, it means that half of the reads are calling ref nucleotide while the
    other half is calling SNP?

  3. What the heck is AC1? Max likelihood okay, but how you interpret it?

  4. How do you interpret FQ (Phred probability), i.e. lower vs higher?

  5. PV4 is a total mess... Any insight would be greatly appreciated.

  6. GT:PL:GQ: same as above.

I know that this is probably very basic for most of you, but I'm just trying to make some sense out of it...

Thank you all in advance,



created 4 weeks agoby ThePresident 30•4

updated 4 weeks ago by ashutoshmits ♦

log in to comment • revisions • permalink •  similar posts • request help via email


There are callers where you can set the ploidy to match your organism. Typically this provides better performance, as the model's priors are based on the expectation of a given ploidy.

log in to reply • written 28 days ago by Erik Garrison  860•3•6

1 answer





Some links: ( Scroll down for Understanding the output: the VCF/BCF format)

Let me know if you still need help.

created 4 weeks agoby ashutoshmits ♦2,780•1•7

log in to comment • permalink •  similar posts


Thank you for your answer. I already read samtools mpileup manual and the 1000 genomes, but the 2nd link was very useful. However, I still got some stuff to clear-up:

First, since I'm working with a bacterial genome (so one single chromosome - one allele), I still don't catch what AC1=4 means? I would have four different variants - allele? However, I see only one "ALT" nucleotide in my list (ex. ref = A, alt = c).

Second, I'm still clueless about VDB (Variant Distance Bias) and the PV4 (p-values?)

I think it's not crucial to get all those points but important for my comprehension nevertheless. Thank you!

log in to reply • written 4 weeks ago by ThePresident  30•4


Check this page ( and there is a slide attached in it. Check carefully. It will help you with VDB.

This post can also help VDB field in samtools

PV4 stands for P-values for 1) strand bias (exact test); 2) baseQ bias (t-test); 3) mapQ bias (t); 4) tail distance bias (t)

See this post: Why are the samtools/bcftools PV4 t-tests one sided?

All these parameters are important and you should further filter down your variants based on them. Though it wont affect many variants but it may clean some false calls.

log in to reply • written 4 weeks ago by ashutoshmits ♦ 2,780•1•7


"VDB checks if variant bases occur at random positions in the aligned portion of the reads" - couldn't be more clear along with that slides. Thanks!

log in to reply • written 4 weeks ago by ThePresident  30•4


MQ is a measure of the confidence in the uniqueness of the alignment, not the quality of the reads themselves


©Bioinformatics|Powered by LOFTER