Bowtie2でmultiple hitの扱いがおかしい件(Tophat,Cufflinksとの関連で)

gaou_akさんのツイートで知りました.

ATTENTION: bowtie2 and multiple hits - SEQanswers


「Bowtie2のマニュアルでは,best hitが複数あるとランダムに選ぶ」と書いてあるにも関わらず,デフォルトのパラメタでは全てのリードが同じ位置にマップされるそうです(これはリアルに困る…).
対策としては,すべてのmultiple hitを出力させるオプション(-k か -a)を使うということのようです.

multi-hit readsを除くべきか否か

上の掲示板にあったコメントで,「全て除く」「全て残す」「残して重み付け」の3つの方法が紹介されていました,

In my opinion, you can do 3 different things for downstream analysis:

1. Discard all reads with multiple hits
For a DE analysis it should be ok, since you delete them for all runs. But you will underestimate, or even completely miss the expression of all genes with multiple copies.

2. Take all hits
For a DE analysis it should be ok, since you do the same for all runs and you won't miss genes with multiple copies. But you will overestimate the expression of all genes with multiple copies.

3.Take all hits, but divide the "expression impact" of the read by the number of its mapping loci
I think this is the prefered way, since you do not know where the read actually comes from. You have all mappings, but by dividing the impact, you will "punish" the hit and equally distribute its impact in expression (it's somehow the same result as the random generator, but in my opinion much cleaner). That is actually, how we handle this issue by default. This way, you minimize the error and don't loose any region, where the read might come from. Another benefit of this approach is the possibility that you can always access the mapping loci at a later time and filter out multiple hits, or change the way of how you want to normalize them. Of course, most of the downstream tools are not able to handle this normalization, but we use our own tools for that.

ATTENTION: bowtie2 and multiple hits - SEQanswers


Cufflinksのマニュアルによると,Cufflinksは上記の3. の方針のようです.

  • デフォルトだと,アラインメントの数で割った寄与に重み付けされる(上記の3.)
  • さらに -u/--multi-read-correct を使うと,発現量推定の結果に合わせて重み付けが更新される

関連

Bowtie1/2は他のアラインメントツール(Tophatなど)にも使われているため,そのようなツールへの影響も心配です.自分の使っているツールがどういう設定でBowtieを動かしているかを確認した方がいいと思います.
Bowtieを使っているツール一覧 Bowtie 2: fast and sensitive read alignment

Tophat2のデフォルトではどうなっているか

Tophat2 2.0.6 でのログ(logs/run.log)を確認した所,デフォルトで動かした場合,bowtie2を「-k 」オプションで動かすようです.
また,tophat2のマニュアルによると,デフォルトでは「-g/--max-multihits」が20で,「--report-secondary-alignments」がOFFになっているため,20箇所まではbest alignment scoreをもったアラインメントが出力されます.
SAMのFLAGでは,best alignment scoreを持つアラインメントのうち,1つ以外は 0x100(secondary alignment)が立つそうですが,alignment scoreとしてはprimaryなものと同一だと考えられます.