SAMtools

SAMtoolsは、DNAシークエンシングのショートリードシーケンスアラインメント後の処理に用いられるソフトウェアで、扱えるファイル形式はとBAMフォーマットである。によって開発された。SAM/BAM形式のファイルはBWA等のショートリードアライナーから出力される。主な機能としては、多型の検出やアライメントの表示、インデクシング、データ抽出、ファイル形式の変換などがある。一般的にSAM形式のファイルは非常に巨大（数十ギガバイト）になることが多いので、このソフトウェアを利用してBAM形式のファイルに変換してから解析に利用することになる。BAMファイルはSAMファイルの圧縮版と考えて良い。SAMtoolsはBAMファイルを圧縮したままの状態で直接扱うことができるので、毎回ファイルを展開する必要はない。また、SAM/BAM形式のファイルは複雑な構造をしておりファイル内には塩基配列やそのクオリティ情報、リファレンスゲノムの情報、アライメント、ユーザー定義情報などが含まれているが、SAMtoolsを使えばこれらの形式に関する詳細な知識がなくても簡単な操作で扱うことができる。
使用方法.
一般的なUNIXのコマンドと同様にSAMtoolsはストリームの入出力に対応しているので、コマンドからコマンドにパイプを利用してデータを渡して処理させることができる。この性質を利用するとデータ処理をパイプライン状につなげることができる。最終的に出力されるファイルは複雑な構造のものにはなるが、SAMtoolsでは何個かの簡単なコマンドの組み合わせ方を覚えるだけでよい。入力ファイル、出力ファイルが指定されなかった場合は、SAMtoolsは標準ストリーム（stdin、stdout、stderr）が既定で使用される。stdout(標準出力)に出力されたデータは画面に出力されるので、ファイルに保存したい場合はUNIXのリダイレクト(>)の仕組みを利用してファイルに保存したり、別のコマンドに出力を渡す場合にはパイプ(|)を利用する。
SAMtoolsのコマンド形式.
SAMtoolsのコマンドは基本的にはcodice_1の形式で使用される。