This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Why does samtools mpileup skip positions?

So I ran Mpileup on a Bam file i generated, I run the command:

samtools mpileup -f hg19.fa file1.bam -o file1_pileup.txt

But when I look at this pileup file, it looks like samtools skips certain positions:

chr19   1080247 N   2   cc  EE
chr19   1080257 N   2   cc  AA 
chr19   1080258 N   2   c$c AA
chr19   1080259 N   1   a$  A
chr19   1185895 N   1   ^]C A
chr19   1185896 N   1   G   A

and when I load the original file1.bam in IGV browser I can clearly see there are reads in the are between 1080259 and 1185895. Using Mpileup without refrence file doesn't change anything...

Does anybody have an idea how this happends or how I can fix this??

samtools mpileup

1 answer

the default invocation of the pileup command skips certain alignments that it deems unreliable. Alas, what gets skipped is not all that well documented. You need to figure out what filters are applied from the available flags:

 -A, --count-orphans     do not discard anomalous read pairs
 -q, --min-MQ INT        skip alignments with mapQ smaller than INT [0]
 -Q, --min-BQ INT        skip bases with baseQ/BAQ smaller than INT [13]

If your alignments are paired then the first likely candidate is perhaps that the alignment is not marked as a proper pair.

Thanks for the quick response! my reads are indeed paired, when you say that the alignment is not marked as proper pair you mean this is not properly marked in the bam file, right?

correct, add the

-A

flag and see if that fixes it, the next best quess is the BAQ cutoff.

Alternatively, filter your BAM file for the location in question and look at the alignment properties over that location.

Log in to answer this question.