Palmsonntagmorgen

NGSデータを使った解析と、その周辺。

Readをゲノムにマッピング (その1) (2017/12/19, 2018/11/19 追記あり)

NGS解析の最初のステップは、シーケンサから出力されたfastq形式のリード配列をゲノム配列にマップするマッピングです。 これにより、ゲノム上のどの領域から得られたリードなのかを知ることができます。

マッピングツール

ChIP-seq解析で主に用いられるマッピングツールは、bowtie, bowtie2, bwa の三種類です。 以下、それぞれの簡単な解説。

Bowtie

短いリード配列(〜50bp程度)を高速・高精度にマップします。 調べるのは配列ミスマッチのみで、挿入・欠失(indels)は考慮しませんが、 通常のマッピングには十分な精度を持ちます。 一方、長いリード配列(100bp以上など)にはあまり向いていません。
また、SOLiDシーケンサから出力されるcolorspace data のマッピングにこの中では唯一対応しています。 (バージョン1.2.0ではエラーが出たので、バグが修正されるまでは1.1.2を使うと良いでしょう)

(2017/12/19追記:bowtieのgithubにリクエストを送ったところ、version1.2.2で上記エラーは解消されました。)

(2018/11/19追記:csfastqでなく、csfasta + qual に分かれたファイルをマップする時はやはりversion1.2.2だとエラーになるようです。version1.1.2ではうまくいきました。)

colorspace dataは新たに生産されることはありませんが、過去のデータを再解析する際に必要になることがありますので、 その時はBowtieを使いましょう。
(というか、うちが以前メインで使っていただけなのですが。)

Bowtie2

bowtieの改良版で、挿入・欠失を考慮できるようになっている点が特徴です。 また、長いリード配列やペアエンド配列に対してbowtieよりも高精度です。
デフォルトでは リード配列全体をアラインメントするEnd-to-end alignment (グローバルアラインメント)を採用しますが、 --local オプションをつけると特に一致度の高い部分領域を探索するLocal alignmentに変わります。 localモードを試したことはないのですが、readとgenomeの配列一致度が低い場合には威力を発揮しそうです。
一方、colorspace read には対応していません。 また、unique read (ゲノムのただ一箇所のみにマップされるリード)と multiple read (ゲノムの複数箇所にマップされるリード)を分割することが難しいようです。(bowtieだと簡単)
Bowtie1と2のより詳細な違いが知りたい方は、Manualの"How is Bowtie 2 different from Bowtie 1?"を参照してください。

BWA

bowtie2と同じく挿入・欠失を考慮できます。 昔のバージョンではマッピングに aln -> samse/sampe と2段階踏む必要があり面倒だったのですが、 現在のバージョンではmemコマンドが実装され、より簡便になっています。
高精度ですが、こちらもunique read とmultiple read を区別することができず、常に両方出力されます。 また、マッピング後にスタッツを表示してくれない点が、Bowtieと比べるとやや不便です。
colorspace read に関しては、 csfastqを作成すればマッピング可能と書いてあったりするのですが、自分は成功したことがありません。 うまくいくやり方をご存知の方はご教示ください。。

どのツールを使えばいいか?

通常のChIP-seq解析においては、リード配列とゲノムの一致度が非常に高いので、 どのツールを使っても精度面ではほとんど差がありません。
ですので、やりたい作業(ユニークマッチだけ取りたい、挿入・欠失を考慮したいなど)によってツールを選ぶのがよいでしょう。
RNA-seqやPacBioなどのロングリードの場合はこの限りではありません。)
次回はマッピングのコマンドについて解説します。

続き:Readをゲノムにマッピング (その2) - Palmsonntagmorgen