| ファイル名拡張子 |
.サム |
|---|---|
| 開発者 |
|
| フォーマットの種類 | バイオインフォマティクス |
| 延長 | タブ区切りの値 |
| Webサイト | samtools.github.io/hts-specs/ |
SAM (Sequence Alignment Map) は、もともとHeng Liと Bob Handsakerらによって開発された、参照配列にアラインされた生物学的配列を格納するためのテキストベースの形式です。[1]これは、1000 Genomes Project がMAQ マッパー形式から脱却し、新しい形式を設計することを決定したときに開発されました。形式全体の TAB 区切りの特徴は、BLATの PSL に触発された以前の形式に由来しています。SAM という名前は、ユタ大学の Gabor Marth に由来しています。彼はもともと同じ名前で、 BLAST出力に似た異なる構文の形式を持っていました。[2]これは、次世代シーケンシング技術によって生成されたヌクレオチド配列などのデータを格納するために広く使用されており、標準はマッピングされていない配列も含むように拡張されています。このフォーマットは、さまざまなシーケンシングプラットフォームによって生成された短い読み取りと長い読み取り(最大128 Mbp [3])をサポートし、ゲノム解析ツールキット(GATK)内、ブロード研究所、ウェルカムサンガー研究所、1000ゲノムプロジェクト全体でマッピングされたデータを保持するために使用されます。
形式
SAM 形式は、ヘッダーとアライメント セクションで構成されています。[1] SAM ファイルのバイナリ版は、バイナリ アライメント マップ(BAM) ファイルで、同じデータを圧縮バイナリ表現で格納します。[4] SAM ファイルは、ソフトウェアSAMtoolsを使用して分析および編集できます。[1]ヘッダー セクションは、存在する場合はアライメント セクションの前に配置する必要があります。見出しは '@' 記号で始まり、アライメント セクションと区別されます。アライメント セクションには、11 個の必須フィールドと、可変数のオプション フィールドがあります。[1]
説明
仕様書より: [4]
- QNAME: クエリ テンプレート名。同一の QNAME を持つ読み取り/セグメントは、同じテンプレートからのものとみなされます。QNAME '*' は、情報が利用できないことを示します。SAM ファイルでは、アラインメントがキメラである場合、または複数のマッピングが指定されている場合、読み取りは複数のアラインメント ラインを占有することがあります。
- FLAG: ビット単位のFLAGの組み合わせ[5]
- RNAME: アラインメントの参照シーケンス名。@SQ ヘッダー行が存在する場合、RNAME ('*' でない場合) は SQ-SN タグの 1 つに存在する必要があります。座標のないマップされていないセグメントには、このフィールドに '*' があります。ただし、マップされていないセグメントには、ソート後に任意の位置に配置できるように、通常の座標がある場合もあります。RNAME が '*' の場合、POS と CIGAR について想定することはできません。
- POS: 最初に一致する塩基の 1 から始まる左端のマッピング位置。参照シーケンスの最初の塩基の座標は 1 です。座標のないマッピングされていない読み取りの場合、POS は 0 に設定されます。POS が 0 の場合、RNAME と CIGAR について何も想定できません。
- MAPQ: マッピング品質。これは、最も近い整数に丸められた -10 log10 Pr{マッピング位置が間違っている} に等しくなります。値 255 は、マッピング品質が利用できないことを示します。
- CIGAR: 簡潔な特異ギャップアライメントレポート (CIGAR) 文字列。
- RNEXT: テンプレート内の次の読み取りのプライマリ アラインメントの参照シーケンス名。最後の読み取りの場合、次の読み取りはテンプレートの最初の読み取りです。@SQ ヘッダー行が存在する場合、RNEXT ('*' または '=' でない場合) は SQ-SN タグの 1 つに存在する必要があります。このフィールドは、情報が利用できない場合は '*' に設定され、RNEXT が RNAME と同一である場合は '=' に設定されます。'=' でなく、テンプレート内の次の読み取りにプライマリ マッピングが 1 つある場合 (FLAG のビット 0x100 も参照)、このフィールドは次の読み取りのプライマリ行の RNAME と同一です。RNEXT が '*' の場合、PNEXT とビット 0x20 について何も想定できません。
- PNEXT: テンプレート内の NEXT 読み取りのプライマリ アライメントの位置。情報が利用できない場合は 0 に設定されます。このフィールドは、次の読み取りのプライマリ ラインの POS と同じです。PNEXT が 0 の場合、RNEXT とビット 0x20 について何も想定できません。
- TLEN: 符号付き観測テンプレート長。すべてのセグメントが同じ参照にマップされている場合、符号なし観測テンプレート長は、マップされた左端の塩基からマップされた右端の塩基までの塩基数に等しくなります。左端のセグメントにはプラス記号が付き、右端のセグメントにはマイナス記号が付きます。中央のセグメントの符号は未定義です。単一セグメント テンプレートの場合、または情報が利用できない場合は 0 に設定されます。
- SEQ: セグメント シーケンス。シーケンスが格納されていない場合、このフィールドは '*' になります。'*' でない場合、シーケンスの長さは CIGAR の M/I/S/=/X 演算の長さの合計と等しくなければなりません。'=' は、ベースが参照ベースと同一であることを示します。大文字と小文字については想定できません。
- QUAL: ベース QUALity に 33 を加えた ASCII です (Sanger FASTQ 形式の品質文字列と同じ)。ベース品質は、phred スケールのベースエラー確率で、-10 log10 Pr{ベースが間違っている} に等しくなります。品質が保存されていない場合、このフィールドは '*' になります。'*' でない場合、SEQ は '*' であってはならず、品質文字列の長さは SEQ の長さと同じである必要があります。
ビットフラグ
FLAGフィールドは単一の整数として表示されますが、読み取りアライメントの複数の属性を示すビット単位のフラグの合計です。[4] 各属性は、整数のバイナリ表現で1ビットを表します。
FLAG 属性を合計して最終値を取得します。たとえば、FLAG 値 2145 を持つ Illumina ペアエンド FASTQ レコードから生成される SAM 行は、次のようになります。
オプションフィールド
配列アライメント/マップオプションフィールド仕様(SAMtags)の仕様から:[6]
型は、 A (文字)、C (整数 0 ~ 255)、f (実数)、H (16 進配列)、i (整数)、Z (文字列)のいずれかです。単一の値またはB (一般配列) にすることができます。
参照
- ゲノム配列を表すために使用されるFASTA形式
- FASTQ形式は、DNAシーケンサーの読み取りと品質スコアを表すために使用されます。
- GVF形式(ゲノム変異形式)は、 GFF3形式に基づく拡張です。
参考文献
- ^ abcde Li, H.; Handsaker, B.; Wysoker, A.; Fennell, T.; Ruan, J.; Homer, N.; Marth, G.; Abecasis, G.; Durbin, R. (2009). 「シーケンスアライメント/マップ形式とSAMtools」(PDF) .バイオインフォマティクス. 25 (16): 2078–2079. doi :10.1093/bioinformatics/btp352. ISSN 1367-4803. PMC 2723002 . PMID 19505943.
- ^ Edmunds, Scott (2021-02-17). 「もう一度プレイしましょう、SAMtools。バイオインフォマティクスの「接着剤」を提供してきた12年間についてのSAMtoolsチームとのQ&A」GigaScience 。 2021年3月20日閲覧。
- ^ Dörpinghaus, J.; Weil, V.; Schaaf, S.; Apke, A. (2023). 計算生命科学: 生命科学のためのデータエンジニアリングとデータマイニング。ビッグデータの研究。Springer International Publishing。p. 447。ISBN 978-3-031-08411-9. 2023年7月19日閲覧。
- ^ abc 「SAM/BAM フォーマット仕様」(PDF) . samtools.github.io .
- ^ 「SAMフラグの説明」broadinstitute.github.io . 2023年11月4日閲覧。
