This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Fake indels and artificially low coverage in bcftools mpileup when using close references

Hi,

I am working on targetted ONT long reads, mapping them with minimap2 using the following options

~/apps/minimap2/minimap2 -ax map-ont --secondary=no

And then doing SNP calling using

bcftools mpileup -q 10 -d 75000 -f

I am mapping on 3 distinct references to know which are present, but know that 2 or them are really close (less than 5 SNPs out of 2kb). Using the same bam file, I get drastically different results when using samtools coverage or samtools depth versus bcftools mpileup. Using samtools coverage I get the following:

#rname  startpos    endpos  numreads    covbases    coverage    meandepth   meanbaseq   meanmapq
ref1    1   3537    7764    3527    99.7173 6959.96 23.5    4.23
ref2    1   3537    1524    3430    96.9748 1298.73 22.5    3.58
ref3    1   3537    1005    3423    96.7769 850.552 22.8    1.36

Using samtools depth I get similar depths. While when I use bcftools mpileup, I get really low coverage (90 to 300 depending on the refs) and a lot of indels, which I know to be fake from looking at the sequences. If I use mapping + SNP calling using mpileup on each reference separately, indels disappear, and I get the right coverages.

I haven't found anything online, but has anyone encountered the same issue? Does anyone have an explanation or knows how to solve that (appart from mapping on each reference individually, which I would rather avoid)?

Thanks a lot!

snp samtools bcftools mpileup

0 answers

No answers yet.

Log in to answer this question.