マッピング率を計算する時など、BAMファイルから、マッピングされたリード数を取得したい場合があると思います。
samtools idxstatsでもマッピング結果の統計を出すことができるのですが、マルチマッピングのBAMの場合は重複してカウントされてしまうようで、正確なリード数が得られません。
samtools viewに-Fオプションをつけて実行すると各リードが1回だけ登場するBAMを作成することができます。
【実行例】
samtools view -bh -F 256 -o hoge_uniq.bam hoge.bam
【解説】
・BAMの2列目は「フラグ」列です。
同じリードが2回目以降マッピングされた場合、フラグに0x100(=256)が立ちます。
・samtools viewの-Fオプションは、「そのフラグを持つデータを除く」の意味なので、-F 256とすると「1回目のマッピング箇所のみ残す」ことができます。
このBAMに対してsamtools idxstatsをかけると、正確なマッピング数やアンマッピング数を得られます。