-I/--max-intron-length <int> The maximum intron length. When searching
for junctions ab initio, TopHat will ignore donor/acceptor pairs farther than
this many bases apart, except when such a pair is supported by a split segment
alignment of a long read. The default is 500000.
TopHat :: Center for Bioinformatics and Computational Biology
下は酵母のRNA-SeqをIGVで可視化したもの。青い線は本来、Exon間にまたがってMapされたリード (Junction reads)のIntron部分を示しているはずなのだが、ここでは異様に長くなっている。
TopHatのデフォルトでは500,000 bpにわたる長さのIntronにも対応しているためこのようなことが起こる。酵母ではそんな長さのIntronは存在しない(たぶん遺伝子長が最大のMDN1でも、遺伝子全体の長さが15,000bpくらい)ので、上のオプションでmax-intron-lengthをもっと小さな値(せいぜい20,000 bpとか?)にしてあげたほうがいい。
(追記)Intronの長さを実際に調べてみた
酵母で最大の遺伝子長を調べてみたけれど、
よく考えたら同じ要領で直接イントロンの長さを調べられるのでやってみた。
(2013/01/15)
library(TxDb.Scerevisiae.UCSC.sacCer3.sgdGene)
sacCer3.intron.GRangesList <- intronsByTranscript(TxDb.Scerevisiae.UCSC.sacCer3.sgdGene)
sacCer3.intron <- as.data.frame(sacCer3.intron.GRangesList)
> head(sacCer3.intron)
element seqnames start end width strand
1 26 chrI 87388 87500 113 +
2 39 chrI 142254 142619 366 +
3 104 chrI 151007 151096 90 -
4 127 chrII 31228 31228 1 +
5 148 chrII 110880 110948 69 +
6 153 chrII 125155 125270 116 +
よって
maxRow <- which.max(sacCer3.intron$width)
sacCer3.intron[maxRow,]
> sacCer3.intron[maxRow,]
element seqnames start end width strand
330 6670 chrM 16471 18953 2483 +
一番長いイントロンのサイズは2483 bpなので、max-intron-lengthは2.5kbくらいにしてみるとよい?
(さらに追記)くらべてみた
--max-intron-lengthを、(1) 500,000 bp (2) 50,000 bp (3) 5,000 bp の 3通り設定してそれぞれ実行して、マッピング結果を上から並べてIGVでくらべてみた。
(なお、鋳型長300ntでpaired-endのリード長33&34なので --mate-inner-distを220にっ設定し、--segment-lengthを15に設定してある。)
左側に見えるのは正しいjunctionで、右側に見えるのは誤ってjunctionと認識されたもの。
ちょっと見にくいので右クリックから画像を拡大してみてくだされ。
(2), (3)で誤ったjunctionが除かれている。
だけど(2)でもまだやっぱり長すぎて、下の図のようなjunctionがうっすら生じてしまうことがあります。でも(3)の設定なら消えてました。
やっぱり見にくいのでこっちも右クリックから拡大してみてくだされ。それでは。