2021 8/24 誤字修正
SAMファイルのFLAGフィールドは、10進数で0から65535 (2^16-1) の間の値を取る。bitwise FLAG になっていて、2の累乗(2^n)でアラインメントの状態(プロパティ、属性)が定義できる。複数の属性を定義できるようになっている。各桁のビットが立つことでその属性がセットされる(参考ページ)。
SAM formatの2021年ドキュメント(http://samtools.github.io/hts-specs/SAMv1.pdf)で、FLAGについて説明したページ。
SAMファイルのFLAG値を利用すれば色々なアラインメント状態のリードを取り出せる。例えば、ペアエンドの片方しかマッピングされていないリードを取り出したり、異なる染色体間にマップされたペアエンド、異常なアラインメントなどを取り出せる。FLAGを利用したショートリードからの構造多型検出のツールも様々報告されている。
実際にFLAG値を指定してsam/bamからリードを抽出するにはsamtools viewコマンドを使う。アンマップのリードだけ厳密に取り出すならFLAG値が4(0000000000000100)だけになるので、samtools view -f 4とする。とにかくマップされたリードを全て取り出すなら、”-f”の代わりに”-F”を使ってsamtools view -F 4とする。
#アンマップのリードだけbamとして返す。
samtools view -@ 4 -bh -f 4 input.bam > unmappe.bam
#マッピングされたリードだけbamとして返す。
samtools view -@ 4 -bh -F 4 input.bam > mapped.bam
- -f <INT> only include reads with all of the FLAGs in INT present [0]
- -F <INT> only include reads with none of the FLAGS in INT present [0]
- -G <INT> only EXCLUDE reads with all of the FLAGs in INT present [0]
- -b output BAM
- -C output CRAM (requires -T)
- -h include header in SAM output
samtools flagstatコマンドは、このFLAGの属性を見ている。
samtools flagstat出力例
Picard Toolsのマニュアルの中には、この属性をFLAG値から確認できるページ;”Explain Base Qualities”が用意されている。
Picard Tools
https://broadinstitute.github.io/picard/explain-flags.html
10進数でFLAG値を入力すれば、どのプロパティのビットが立っているか素早く確認できる。
0と打った。
シングルエンドのリードで、リファレンス配列にユニークにセンス方向にアラインされている時のFLAG値は0。全ての属性のビットが立っていない事になる。
16と打った。
シングルエンドのリードで、リファレンス配列にユニークにリバース方向にアラインされている時のFLAG値は16。
99
99(0000000001100011)は、ペアエンド、 適切なペアエンドの配置と向き、相方もマップされている、ペアの最初のリード、を意味する。
147
147(0000000010010011)は、ペアエンド、 適切なペアエンドの配置と向き、リバースにマップされている、ペアの2つ目(相方)のリード、を意味する。
逆にチェックボックスにチェックをつけて、チェックの組み合わせからFLAG値を確認するともできます。
同様のHPは他にもいくつか公開されています。
SAM flag translator
http://www.cbs.dtu.dk/~dhany/flag_converter.html
SAM Format
https://www.samformat.info/sam-format-flag
引用
The Sequence Alignment/Map format and SAMtools
Heng Li, Bob Handsaker, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, Richard Durbin
Bioinformatics, Volume 25, Issue 16, 15 August 2009, Pages 2078–2079
関連