データ
BAMとは
BAM(Binary Alignment/Map)は、SAMv1仕様で定義されるSAMアラインメント情報のバイナリ表現です。通常はBGZFブロック圧縮され、個々のブロックを解凍できる構造により索引を使った領域アクセスを支援します。BAMには参照ヘッダー、リード名、FLAG、CIGAR、位置、配列品質、タグ等を保存でき、未マッピングリードも含められます。座標ソートしたBAMにはBAIやCSIなどの索引を組み合わせられます。BAMは機械処理に適しますが人が直接読む形式ではなく、対象参照の識別・取得や索引の整合性にも注意が必要です。
この形式を選ぶ場面
- SAMに対応するヘッダー・レコード・タグを圧縮して保持する
- BGZFとBAI/CSI等の索引を使う対応ツールで読み取る
避けた方がよい場面
- テキストエディターで直接読みやすい記録を優先する
- 参照や座標系を確認せずに異なるアセンブリ間で比較する
主な用途
- 大規模なシーケンスリードと参照アラインメントをバイナリで保管・交換する
- 座標順データを索引化して領域単位で解析する
特徴
- SAMのフィールド構造をバイナリで表す
- 通常BGZFでブロック圧縮し、圧縮ブロック単位のランダムアクセスを支援する
- ヘッダー、アラインメント、FLAG、CIGAR、品質、任意タグを保持する
- 座標順ファイルはBAIまたはCSIなどの索引と組み合わせて領域照会できる
メリットとデメリット
メリット
- 同じレコードのSAMテキストよりコンパクトで解析パイプラインに適する
- BGZFと索引による領域アクセスを支援する
- SAMv1仕様と多くのゲノム解析ツールで扱われる
デメリット
- 通常のテキストエディターでは読めず、専用ツールが必要
- 索引の作成にはソート順や座標フィールドなどの前提がある
- 大規模な参照・タグ・品質情報の意味を理解せずに簡略化すると情報を失う
開く・変換する
開く方法
SAM/BAM対応ツールで開きます。ヘッダーの`@SQ`参照名・長さ・M5等、ソート順、リード件数と未マッピング件数、FLAG/CIGAR、品質や任意タグを確認します。領域照会にはファイルのソート状態に合うBAI/CSI等の索引を用意し、BAM本体と同じ版のまま管理してください。
変換方法
BAMからSAMへ変換すると読めるテキストになりますが、容量が大きくなることがあります。SAMからBAMへ戻す場合はヘッダー、フィールド、タグと並び順を検査します。CRAMへ変換する場合は参照配列への依存や品質保持設定を確認し、復号に必要な参照を管理してください。
注意点
- BAMが参照ヘッダーに示すアセンブリと実際の参照FASTAを照合します。同名の参照でも配列版が異なる可能性があります。
- 座標順でないBAMに座標索引を使うことはできません。索引が対象ファイルから生成され、古いファイルや別アセンブリのものではないことを確認してください。
- BAMに試料名・遺伝情報・リード配列・任意タグが含まれる場合があります。アクセス制御、共有条件、参照FASTAの公開可否を確認してください。
- BAMは通常BGZF圧縮ですが、gzipで包む通常の外部圧縮とは異なります。対応ソフトで読み、単純なgzip処理でブロック索引性を壊さないでください。
FAQ
BAMとSAMはどう違いますか?
SAMはタブ区切りテキスト、BAMはその仕様に対応するバイナリ表現です。BAMはBGZF圧縮と索引アクセスに適しますが、専用ツールで読む必要があります。
BAMには参照配列も含まれますか?
通常は参照名や長さなどのヘッダー情報を含みますが、参照FASTA全体を必ず格納するわけではありません。CRAMでは参照配列が復号に必要となる場合があります。
BAMの索引は必須ですか?
ファイルを順次読むだけなら不要な場合がありますが、座標領域を素早く照会するには適切にソートされたBAMと対応するBAI/CSI索引が必要です。
関連する用途・確認手順
参考資料・仕様
- Global Alliance for Genomics and Health / Large Scale Genomics Work Stream — Sequence Alignment/Map Format Specification (SAMv1)
- Global Alliance for Genomics and Health / Large Scale Genomics Work Stream — HTS format specifications
- National Center for Biotechnology Information — NCBI SRA BAM and SAM File Format Guide