SAMフォーマットの注意点
あんまり需要はない知識ですが、SAMファイルをSAMToolsなどを使わずに直接いじくったときに引っかかったことをメモ。
The SAM Format Specification (v1.4-r962)(pdf)
multiread(複数の箇所にマップされたリード)を除きたい場合
- あるリードが複数の箇所にマップされる時、その数だけSAMの行がつくられる。
- 複数の箇所にマップされている場合、第二カラム(FLAG) の自然数を16進数 0x100とビット演算すると、1になる(ただし、ある一つの行にはそれがない)。
- multireads を除きたい時には、後ろの方のカラムにある IHタグの値が2以上の行を除けばいい。
unmapped reads を除きたい場合
- 第二カラム(FLAG) の自然数を16進数 0x4とビット演算すると1になる行を除けばいい。
マップされたのがどちら側の鎖か(forward か reverse か)を知りたい場合
- 第二カラム(FLAG) の自然数を16進数 0x10とビット演算すると1になる行は、reverse strand にマップされている。
レファレンスとの編集距離(edit distance)を知りたい場合
- 後ろの方のカラムにある NMタグの値が編集距離。
SEQがreverse complimentとは
- reverse compliment というのは、reverse strand にマップされていたら、元の配列ではなくて相補鎖を表示するようという意味。