BWA を利用した DNA-Seq ロングリードのマッピング

BWA

BWA は RNA-Seq リード、DNA-Seq リードあるいはもっと長い contig や BAC sequences などをマッピングするのプログラムである。BWA では、リファレンス配列を Burrows-Wheeler 変換を行ってインデックス化し、文字列検索の高速化を図った。また、この Burrows-Wheeler 変換を利用したことで、メモリ消費を抑えることもでき、数 GB で、1 MB 前後のロングリードをヒトゲノムへマッピングすることを可能にした。

BWA には 3 つのアルゴリズムが実装されている。ショートリードをマッピングするとき BWA-backtrack (Li et al, 2009)を使い、ロングリードをマッピングするときは BWA-SW を使う(Li et al, 2010)。BWA のマッピングでは塩基の挿入やギャップを許容できる。ロングリードのマッピングで、ギャップが多いと予想される場合は、BWA-MEM を利用することが推奨されている(BWA FAQ)。しかし、イントロンのような長い塩基挿入がある場合に、BWA はマッピングに失敗する。そのため、BWA は真核生物の RNA-Seq リードのマッピングにほとんど使われていない。BWA がよく使われるケースとして、DNA-Seq リードのマッピングなどである。

BWA マッピング例

References

  1. Li H, Durbin R. Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics. 2009, 25(14):1754-60. DOI: 10.1093/bioinformatics/btp324
  2. Li H, Durbin R. Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics. 2010, 26(5):589-95. DOI: 10.1093/bioinformatics/btp698
  3. BWA FAQ Website

BWA の使い方

BWA を利用したマッピングでは、まずリファレンス配列に対してインデックスを作成し、次にリードをインデックスを介してマッピングしていく。

インデックスの作成

インデックスは、BWA の index オプションを利用して作成する。インデックスの名前は任意につけることができる。例えば seq.fa のファイル中に保存された配列に対してインデックスを作成し、インデックスの名前を index_name としたい場合は、次のようにする。

bwa index -p index_name seq.fa

インデックスを作成し終えると、index_name.amb、index_name.ann、index_name.pac などのファイルが作成される。これらのファイルが BWA が使用するインデックスとなる。

マッピング

マッピングアルゴリズムは aln(BWA-backtrack)、bwaswmem の 3 種類のなかから一つを指定できる。single-end リードをマッピングする場合は次のようにする。

bwa aln index_name SRR1163656.fastq > SRR1163656.sam
bwa bwasw index_name SRR1163656.fastq > SRR1163656.sam
bwa mem index_name SRR1163656.fastq > SRR1163656.sam

paired-end の場合は次のようにする。

bwa aln index_name SRR1163656_1.fastq SRR1163656_2.fastq > SRR1163656.sam
bwa bwasw index_name SRR1163656_1.fastq SRR1163656_2.fastq > SRR1163656.sam
bwa memn index_name SRR1163656_1.fastq SRR1163656_2.fastq > SRR1163656.sam