2010年12月7日火曜日

マッピング、マッピング、マッピング

しつこいけれどまたマッピングの話。

ショートリードをリファレンス配列に対して貼り付けることを、マッピングと呼ぼう。
単に言葉の違いだと思うが、これをアライメントと呼ぶこともある。
はたまた、アセンブルと呼んでいる文献もある。

えっ!? ショートリードを貼り付けることがアセンブルだって!?

と驚いた方もいるかと思うが、2つ以上の配列の一致する箇所を並べて長いコンセンサス配列を作ることがアセンブル。なら、ショートリードと、リファレンス配列をアラインさせることだって、広い意味でアセンブルだ。 というひともいるのだ。 

ま、それはさておいて、ここではマッピングと呼ぶ。 
正確には、「リファレンスへのショートリードのマッピング」

で、デノボアセンブルを除くと、マッピングが全ての出発点なのだが、このマッピングのアルゴリズム、一体どれだけ正確なのだろうか?
というか、ショートリードのマッピングって、どれだけ信頼できるのだろう。

Illumina社の付属ソフトCasavaで使われているELANDv2にしろ、CLC-BioやNextGENet等有償ソフトにしろ、良く使われているアルゴリズムは、クオリティの高い塩基を十分に含むリード i.e. ちゃんと読めているリード を、リファレンス配列とのギャップがいくつ以上、ミスマッチがいくつ以上あるものを除いて、残りをマッピングしているに過ぎない。
つまり、ギャップがいくつあったらいけないよ。ミスマッチがいくつあったら同じと認めないよ。という決め事を先に設定し、それに沿ってショートリードの塩基配列がどこにヒットするかを求めているのである。

実に単純なアルゴリズムである! 
というか、これくらい単純にしないと数千万、数億のリード配列を今のコンピュータでは手軽にマッピングできない。
宿命ではあるが、その単純さゆえに、ミスアラインもあるだろう。 
本来マッピングされるべきでない場所にマッピングされる現象は、起こりうる。
それを防ぐには、Paired Endで読むのが良いとか言われるが、これは実験レベルの解決法だ。

ちなみにロッシュ454のロングリードは、僕は経験がないが、聞いた話ではBLATでもマッピングできるそうだ。 BLASTは時間がかかるという。 これは想像がつく。

ショートリードに話を戻すと、ミスアラインの問題は、実はそれほど気にしていない。
ショートリードのマッピングなんてそんなものだ、と思っている。
実験には、そういう覚悟も必要である。
パラメータをいくらいじったところで、ミスアラインが全く無くなることはありえなく、現在のショートリードのマッピングアルゴリズムが単純である限り、その信頼性はBLASTのe-valueほどはっきりと提示してくれない。
ショートリードのマッピングなんてそんなものだ。その代わり、大量のデータをParied Endで出力することで、ミスアラインの可能性を低くする。
しかしデータが大量になればなるほど、マッピングアルゴリズムは単純である必要があるのだ。
堂々巡りになってしまった。

このあたり、ロングリードのロッシュの担当者、ショートリードのライフテクノロジーズ担当者、イルミナ担当者と話をすると、それぞれ全く異なる見解が聞けて面白いと思う。

0 件のコメント:

コメントを投稿