BWA

BWA はマッピングプログラムの一つである。BWA-backtrack、BWA-SW、BWA-MEM の 3 つのアルゴリズムが実装されているが、BWA-MEM が推奨されている。

BWA-backtrack 100 bp までの短いリードをマッピングするのに用いる。
BWA-SW 70 から 1000 bp 前後までの長いリードをサポートしている。
BWA-MEM 70 から 1000 bp 前後までの長いリードをサポートしている。BWA-SW に比べ精度が高く、実行速度が速いといわれている。

インデックスの作成

BWA を利用したマッピングでは、リファレンスゲノムのインデックスを必要とする。そのため、マッピングに先立ち、リファレンスゲノムのインデックスを作成しなければならない。

リファレンスゲノムは Ensembl などのサイトからダウンロードすることができる。例えば、ダウンロードしたヒトゲノムのファイル名が Homo_sapiens.GRCh37.71.dna.toplevel.fa の場合、以下のようにインデックスを作成する。-p のあとに、インデックスの名前を付ける。このインデックスの名前はマッピングのときに利用することになる。

bwa index -p human_index Homo_sapiens.GRCh37.71.dna.toplevel.fa

プログラムの実行が終了すると、ディレクトリ内には、human_index.amb、human_index.ann、human_index.pac などのファイルが生成される。これらのファイル合わせてインデックスの機能を果たす。

マッピング

BWA には 3 つのマッピングアルゴリズムが用意されている。作者らは BWA-MEM を推奨している。それぞれ以下のように実行する。

BWA-MEM

ヒトゲノムのインデックスの名前が human_index のとき、SRR1163656.fastq をマッピングする場合は以下のように実行する。

bwa mem human_index SRR1163656.fastq > SRR1163656.sam

マッピング結果が SRR1163656.sam に保存される。

BWA-SW

ヒトゲノムのインデックスの名前が human_index のとき、SRR1163656.fastq をマッピングする場合は以下のように実行する。

bwa bwasw human_index SRR1163656.fastq > SRR1163656.sam

BWA-backtrack

ヒトゲノムのインデックスの名前が human_index のとき、SRR1163656.fastq をマッピングする場合は以下のように実行する。この方法は上述の BWA-MEM と BWA-SW とは異なり、2 つのコマンドで完結する。

bwa aln human_index SRR1163656.fastq > SRR1163656.sai
bwa samse SRR1163656.sai SRR1163656.fastq > SRR1163656.sam

BWA のインストール

BWA のソースコードは SourceForge からダウンロードできる。

# 解凍
bzip2 -dc bwa-0.7.10.tar.bz2 | tar xvf -

# ソースコードのディレクトリに移動
cd bwa-0.7.10

# コンパイル
make

コンパイル後、ディレクトリには実行ファイルである bwa が生成される。これがマッピングプログラムの本体である。必要ならば、パスを通す。

References

  1. Li H, Durbin R. Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics. 2009, 25(14):1754-60. PubMed Abstract
  2. Li H, Durbin R. Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics. 2010, 26(5):589-95. PubMed Abstract