created: 2022-10-23
SAM Sequence Alignment/Mapping
1つのheader sectionと1つのalignment sectionからなる。
HEADER
- 各header行は@で始まり、2文字のコードが続く。
- その後はタブ区切りのKEY:VALUE形式が並ぶ。
- @SQ
- 参照配列に関する情報を保存
- KEYにはSNとLNがある。
- SN 配列名
- LN 配列長
- @RG
- リードグループとサンプルメタ情報を保存
- KEYにはIDとSM,PLがある。
- ID 必須かつ一意的。実用上は特定のseq runに関する情報などを使用。
- SM 試料情報を保存(option)
- PL seq platform (ILLUMINAなど)を保存(option)
- @PG
- programに関するメタ情報を保存
- KEYにはID, VN, CLがある。
- ID プログラム固有のID値
- VN version番号
- CL 実行command line
ALIGNMENT
tab区切りの必須11列
$1: | QNAME | Query(リード)名 |
$2: | FLAG | bit表現フラグ(アライメント結果を整数値で記載) |
$3: | RNAME | リファレンス名 |
$4: | POS | リードのマッピング開始位置(1起算)/unmappedは0 |
$5: | MAPQ | マッピングクオリティスコア, Q=-10log10P |
$6: | CIGAR | CIGAR文字列(マッピング状況) |
$7: | RNEXT | PEの場合、相手方のリード名 *はRNEXTが存在しないことを意味 =はRNEXTがRNAMEと同じであることを意味 |
$8: | PNEXT | PEの場合、相手方のマッピング開始位置 RNEXTが存在しない場合、値は0 |
$9: | TLEN | PEの場合、templateの長さ |
$10: | SEQ | マップした配列の塩基配列データ |
$11: | QUAL | マップした配列のSequence Qualityデータ |
bit表現フラグ
値は1(True), 0(False)
Flag(hex) | |
0x1 | :PEである |
0x2 | :正しいペアとしてaligmentされている |
0x4 | :Mappingされていない |
0x8 | :メイトペアがMappingされていない |
0x10 | :配列は相補鎖にMappingされている |
0x20 | :メイトペアの配列が逆転している |
0x40 | :ペアの最初のリード |
0x80 | :ペアの2番めのリード |
0x100 | :secondary aligment |
0x200 | :QC失敗 |
0x400 | :PCRまたは光学複製 |
0x800 | :補助的アライメント |
example
$ samtools flags 147 # 147(10進数)は10010011(2進数) # 第1,2,5,8bitが1(True)であることを意味 0x93 147 PAIRED, PROPER, PAIR, REVERSE, READ2
CIGAR文字列
操作 | 値 | |
M | 0 | aligment match |
I | 1 | 挿入 |
D | 2 | 欠失 |
N | 3 | skip領域 |
S | 4 | ソフトクリッピング領域 |
H | 5 | ハードクリッピング領域 |
P | 6 | padding |
= | 7 | 配列マッチ |
X | 8 | 配列ミスマッチ |