samtools: インストール、使い方、オプションなど

UB3/informatics/bioinformatics/samtools

このページの最終更新日: 2020/06/17

  1. 概要: samtools とは
  2. Mac への samtools のインストール
  3. samtools の使い方: 各種オプション

広告

概要: samtools とは

samtools とは、マッピングの結果として得られる sam ファイルや bam ファイルをさらに解析するためのソフトである。ターミナル上で動くので、このページに書いてあることがわかりにくい場合は、まず以下のリンク先を読むことをお勧めする。

  1. ターミナルの使い方
  2. シェルスクリプト
  3. 次世代シークエンス

Mac OSX High Sierra, 2018 年 2 月に以下の一連の操作を実行した。一部はブログへ移動。

さらに 2019 年 11 月に別の Mac でセットアップ。bowtie2, samtools ともに homebrew を使ってインストール可能だった。OS は Mojave。

2020 年 1 月に Catalina にアップデート。X-code を再インストールし、さらに homebrew による samtools の再インストールが必要だったが、ちゃんと動いている。


Mac への samtools のインストール

Mac へのインストールは簡単である。まず homebrew のページを参考にして homebrew をインストールし、brew install samtools で OK。X code のコマンドラインアプリケーションが必要。Mac に入っていない場合は、実行するコマンドを示したエラーメッセージが出るので、それに従う。


広告

samtools の使い方

要は、このページの下方に示したオプションをどう使いこなすかである。

sam と bam の変換

sam file から bam file への変換も samtools で行うことができる。コマンドは samtools view、-S は input の sam file を指定するオプション、-b は output に bam 形式を指定するオプションで、-S -b と書いても良いが、まとめて -bS とも書ける。書き出しには > が必要 (1)。

samtools view -bS Mapped.sam > Mapped.bam



マップされた/されないリードのみを書き出す

bam file からマップされたリードのみ、またはマップされなかったリードのみを抽出するには、以下のようにする。-F4 がマップされた配列、-f4 がマップされなかった配列 (2)。

単にこれをやると、bam file のヘッダーが失われてしまい、その後の解析で missing SAM header などのエラーが出て困ることが多い。これを防ぐために、ヘッダーを維持する -h オプション を入れておくとよい。

samtools view -h -F4 sample.bam > sample.mapped.sam
samtools view -h -f4 sample.bam > sample.unmapped.sam


実はこれは sam file からの抽出も可能で、-S オプションと組み合わせれば良い。

samtools view -S -F4 sample.sam > sample.mapped.sam
samtools view -S -f4 sample.sam > sample.unmapped.sam


各種オプション

-h

ヘッダーを維持。

-F, -f

-F でマップされた配列のみを、-f でマップされていない配列のみを扱う。view とともに書き出しで使うことが多いだろう。

-c

bam または sam ファイルのリード数をカウント。

  • samtools view -c sample.bam なら全てのリード
  • samtools view -F 0x04 -c sample.bam ならマップされたリードのみ

view

bam または sam ファイルを見るオプションであるが、実際は上記のように書き出しに使われることが多い。マップされたリードのみ、マップされていないリードのみを検出する -F、-f オプションは頻繁に使われる。

sort

bam または sam ファイルをソートする。samtools sort a.bam -o a_sorted.bam のようになり、-o オプションでアウトプットファイルを指定する。これが動かない場合、 > a_sorted.bam を試してみると良いかも。

index

samtools index a.bam のようにして bam ファイルにインデックスをつける。igv ブラウザによる視覚化の前に必要である。成功すると .bam.bai という拡張子のファイルができる。


結果のチェック: igv ブラウザ

マッピングの結果を視覚化するには、igv ブラウザを使うのが便利である。このページ にわかりやすく書かれている。ただし、sort ではアウトプットファイル名の指定に -o オプションが必要と思われる。


広告

References

  1. Converting SAM to BAM with samtools “view”. Link: Last access 2019/11/11.
  2. Separating mapped and unmapped reads from libraries. Link: Last access 2019/11/11.
  3. Decoding sam flags. Link: Last access 2019/11/20.
  4. SAM file format. Link: Last access 2019/11/20. SAM file の見方が載っている便利なページ。
  5. SAMtools ワンライナー覚書. Palmsonntagmorgen. Link: Last access 2020/02/02.

コメント欄

各ページのコメント欄を復活させました。スパム対策のため、以下の禁止ワードが含まれるコメントは表示されないように設定しています。レイアウトなどは引き続き改善していきます。「管理人への質問」「フォーラム」へのバナーも引き続きご利用下さい。

禁止ワード: http, the, м (ロシア語のフォントです)


このページにコメント

Name:


Comment:



これまでに投稿されたコメント

Date Name Comment