samtools
samtoolsは、sam(Sequence Alignment/Map)ファイルとbam(Binary Alignment/Map)ファイルの変換など、samとbamを操作するためのプログラムである。samもbamも、FASTQファイルをリファレンスゲノムにマッピングした際に生成されるファイルであるが、前者はテキスト形式で、後者はバイナリ形式である。
samからbamへの変換
% samtools view -@ 8 -Sb file.sam > file.bam
- -@ 使用するスレッド数
- -S 入力がsamファイル
- -b 出力がbamファイル
- -bSも-Sbもどちらも同じ意味
bamからsamへの変換
% samtools view -@ 8 -h file.bam > file.sam
並べ替え
デフォルトはマップされた位置で並べ替える。
% samtools sort -@ 8 file.bam > file_sorted.bam
変換と並べ替えを同時に行う場合
|(パイプ)でコマンドをつなぐと、出力ファイルを次の入力ファイルとして扱って、タンデムにコマンドを実行する。この場合、samからbamへの変換と並べ替えを同時に行っているため、途中のbamファイルを作成していない。
% samtools view -@ 8 -bS file.sam |samtools sort > file_sorted.bam
インデックス化
samまたはbamファイルのインデックス化を行う。
% samtools index file_sorted.bam
関連項目 bwa polish