我正在处理一个双端全基因组测序的 bamfile,并且想要过滤掉来自特定基因组区域的未映射到正确配对中的读数(这些有时表示结构变异)。我正在使用 samtools,并尝试使用“标志”选项过滤读取,以选择未映射成正确对的读取。如果我是正确的,这些读数的标志值不应该有 2。(https://broadinstitute.github.io/picard/explain-flags.html)
但是,根据 samtools,我的所有读取都没有映射成正确的对。当我计算(-c)我指定的区域中的所有读取时,没有过滤器,它给我的总数为 179:
samtools view input.bam "8:113483114-113483213" -c
179
当我过滤正确配对的读取时,即标志包含“2”(-f 2),计数为零:
samtools view input.bam "8:113483114-113483213" -f 2 -c
0
我检查了读取是否被识别为配对(-f 1),以及配对是否被映射(-F 8),它们都是:
samtools view input.bam "8:113483114-113483213" -f 1 -F 8 -c
179
我还尝试了基因组中的其他区域,并且到处遇到同样的问题。我使用相同的 BAM 文件检查了 IGV 中的区域,IGV 告诉我大多数读取都正确配对,只有少数不是。有谁知道这里发生了什么?BAM 文件是否以不考虑正确配对映射的方式标记?
欢迎任何帮助!非常感谢。