マッピングを利用したSNPsの検出: samtools, bcftools

UB3/informatics/bioinformatics/bowtie2_snp

このページの最終更新日: 2023/02/14

  1. 解析の準備
  2. bcftools のインストール
  3. SNPs の探索


広告

解析の準備

NCBI から 次世代シークエンス のデータをダウンロードし、SNP を探索するときの手順を示したページです。

Mac でバイオインフォマティクスを行う環境が整っていることが前提となります。具体的には、ターミナルを使うための知識があり、マッピングのソフト (ここでは bowtie2 を使います)、Homebrew および Samtools がインストールされている状態です。

準備が整っていない方は、以下のページを先に読むことをお勧めします。

  1. Mac: ターミナルの使い方
  2. シェルスクリプトと vi エディタ
  3. 次世代シークエンス
  4. bowtie2 のインストール

bcftools のインストール

マッピングが完了しており、.bam の拡張子をもつ結果ファイルがある状態からスタートする。

Samtools および bcftools というパッケージが必要である。Samtools は bowtie2 のインストール のページですでにインストールしてある。Homebrew がある状態で、


brew install samtools


でよい。

bcftools は、このページ1 に従いインストール。bcftools 1.7 をダウンロードし、そのフォルダで


./configure
make
make install


本来は ./configure でパス指定をしなければならないのだが、忘れてもフォルダがごちゃごちゃして汚くなるだけで、動かすことは可能。make install には sudo 権限が必要だった。

which bcftools で確認すると、/usr/local/bin/bcftools にインストールされたことがわかる。

SNPs の探索

sam から bam への変換

参考サイト (Ref. 2) ではマッピングに bwa を使っているが、たぶん .bam か .sam があれば何でも良い。

解析は基本的に .bam で行うので、.sam しかない場合は、まず samtools で変換する。

samtools view -Sb input.sam > output.bam


-S は、Samtools のヘルプに "Ignored for compatibility with previous samtools versions. Previously this option was required if input was in SAM format, but now the correct format is automatically detected by examining the first few characters of input." とあるので、もしかすると不要かもしれない。

-b は .bam をアウトプットにするためのオプションなので、これは必要。

このほか、-F オプションをつけてマップされた配列のみを選抜しても良いだろう。


bam ファイルの merge, sort

次に生成した .bam file をソートする。解析に含めたい .bam file が複数ある場合には、最初に merge する。merge のときは、output の名前が最初に来る。

sort には、アウトプットに -o オプションが必要かもしれない。

samtools merge out.bam in1.bam in2.bam ...

samtools sort in.bam out_sorted.bam



SNPs の抽出

とりあえず、以下のコマンドで動くには動く。それぞれのオプションについて勉強していきたい。

samtools mpileup -aa -uf gene.fasta out_sorted.bam | bcftools call -c


samtools のオプションは このページ。-aa で全ての塩基について出力、-f は fasta ファイルの使用、-u は bcttools にパイプするときにはほぼ必須の非圧縮オプションらしい (3)。

bcftools のオプションは ここ に。call が SNP をコールするコマンド。かつては view だった。-c は consensus caller で、もともとの calling method らしい。-m で multiallelic and rare-variant calling を選ぶことができ、こっちの方がいいかもしれない。無論、-c と -m は同時に指定できない。


広告

References

  1. Last access 2018/03/18.
  2. kuro の覚え書き. 次世代シークエンサーによるSNPの検出. Link: Last access 2018/03/18.
  3. kuro の覚え書き. 次世代シークエンサーによるSNPの検出. Link: Last access 2018/03/18.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。