samtools / bcftools

This is the official development repository for BCFtools. See installation instructions and other documentation here http://samtools.github.io/bcftools/howtos/install.html
http://samtools.github.io/bcftools/
Other
681 stars 240 forks source link

Make the mpileup BAM_CREF_SKIP filter optional. #2282

Open jkbonfield opened 2 months ago

jkbonfield commented 2 months ago

Mpileup removes alignments using the cigar ref skip operator ("N"). This was originally added in 2011 in samtools/samtools#d1643d6 with the commit message of "fixed a bug in indel calling related to unmapped and refskip reads".

Unfortunately I don't know what that bug was, but removing the code shows it still works (at least for some data!). We need better understanding of what's going on and why it was added, but this PR makes it optional, keeping the default as before. Note there appears to be no filtering of BAM_CREF_SKIP in indels-2.0 so the option would be a nop there.

This is an alternative PR to #2281. I've leave it to the project maintainer as to what is preferable: removing the (no longer needed?) filtering, or keeping the default behaviour identical and adding a new option instead (which is safer, but possibly leads to accidental bad calls due to not noticing a new option has appeared).

Fixes #2277