ゲノマーと情報科学について(続き)

なぜ情報科学的な最速プログラムはゲノマーの心をつかまないのか? 速いだけじゃ、ダメなんだ!! http://togetter.com/li/554112の続き
12
前へ 1 2 ・・ 5 次へ
Masahiro Kasahara @mkasahara

そのDB専用のUDFをごにょごにょ作ってる間に、シェルスクリプトで書いて実行しちゃったほうがトータルで速いよね。

2013-08-26 13:42:24
chunjp @chunjp

ゲノムの文化をCS/ISに伝えるのが難しいの、技術営業の人が貴重資源になるのと同じスメルを感じる

2013-08-26 13:42:47
Masahiro Kasahara @mkasahara

あー、今やっと気がついた気がする。

2013-08-26 13:44:26
Masahiro Kasahara @mkasahara

「科学的発見が済んだらその計算はもう要らない」「ほとんどの計算は実は1回走らせて終わり」って話をよくしていたんだけど、それだけだと彼らが正しい理解をするにはちょっと足りなかったんだ。

2013-08-26 13:46:12
Masahiro Kasahara @mkasahara

「でも、その中でもよく使われる演算とか繰り返し使われる演算ってあるんでしょ?」って言われたときにちゃんと返事できていなかった。アラインメントや多型コール、アセンブリなど、繰り返し使われる演算についても抜け落ちている観点があった。

2013-08-26 13:47:40
Masahiro Kasahara @mkasahara

僕らが例えば「遺伝子の検索をします~」とか「断片配列をヒトゲノムに張り付けます」というときには例えば「8割ぐらいのデータはちゃんと処理できてー、1割ぐらいのデータはそもそもこの測定方法で出てきたデータだと処理できなくてー、残りの1割はアルゴリズムが悪いので処理失敗かなー」と(続

2013-08-26 13:49:11
Masahiro Kasahara @mkasahara

暗黙のウチに「正しく処理できない分」ってのが一定割合あることを当たり前として受け止めている。だから、アルゴリズム・ソフトウェアとも継続的に開発を進めて精度を徐々に高めて行くのが当たり前。いいソフトウェアでも、メンテされていないといつか追い抜かされて朽ち果てていく。

2013-08-26 13:50:34
Masahiro Kasahara @mkasahara

ゲノマーの文化をちゃんと理解してくれない人がこっちの問題に手を付けると、「継続的改良・メンテナンスを経て徐々に精度を高めていく」という視点を抜いて問題を解いてしまうことが多いからこっちはイライラしてしまうことが多いのだと思う。

2013-08-26 13:52:08
Masahiro Kasahara @mkasahara

「そーいう風に問題を定義しなおしたら確かに今のアルゴリズムと同じ精度は出せて1/10のメモリと半分の処理時間でできるんだけど、今後の改良不可能になっちゃいますよね・・・・?」ってのがすっごくおおい。

2013-08-26 13:53:32
Taro L. Saito @taroleo

iterative programming で改良を続けていくのがゲノムでは日常茶飯事なんだけど、他の分野の開発でもあたりまえだから、もう一歩説得力がある説明が欲しい。違うのは何か?ツールの寿命の長さ? データのエラーや不明な現象の多さ?

2013-08-26 14:03:54
Masahiro Kasahara @mkasahara

ガチ情報系の人がゲノム情報処理の高速化に取り組んで上手くいなかった(メインストリームで使われることは無かった)一つの失敗例をここで挙げておこう。ゲノム情報処理分野で知らぬモノは居ない BLAST というソフトがある。

2013-08-26 13:59:14
Masahiro Kasahara @mkasahara

BLASTを知らないゲノム情報処理分野の人が居たら絶対にもぐりである。論文被引用回数は35,000回以上(Web of Science調べ)であり、塩基配列・アミノ酸配列検索で用いられる超標準ツールだ。これを速くしたらみんな嬉しいに決まってる。

2013-08-26 14:01:09
Masahiro Kasahara @mkasahara

今この瞬間にもきっと世界中で数千の(下手すると数万の)BLASTインスタンスが配列を検索していることだろう。そんな BLAST はスケーラビリティがほとんどなかったので(まともにスケールするのは当時2スレッドぐらいまでだった)昔も今もプロセス並列メインで使われていた。

2013-08-26 14:02:49
Masahiro Kasahara @mkasahara

そこに、並列計算が得意な人達が MPI-BLAST (http://t.co/YtQcsbRWNj) という、MPIで実装した BLAST を作ったのだ。情報系の人の発想なら、「じゃぁ、みんな MPI-BLAST を使ってハッピーになったのね?」と聞きたいところだが、(続)

2013-08-26 14:04:21
Masahiro Kasahara @mkasahara

このツール、ついぞメインストリームになることは無かった(彼らの名誉のために言っておくと開発はまだ続いていて、今後逆転が無いとまでは言い切れないことを申し添えておく。)。一番の理由はなんだろうか?

2013-08-26 14:05:24
Masahiro Kasahara @mkasahara

理由はいろいろあるとは思うが、一番大きいのは「本家BLASTと同じ出力を返してくれない」ことが凄く大きいと思う。(次点で MPI アプリはそもそも使い勝手が悪い) 本家BLASTは配列端の e-value 補正とか、非連続シードBLASTとか、着実に進化していったが、(続

2013-08-26 14:07:11
Masahiro Kasahara @mkasahara

MPI-BLAST は本家 NCBI-BLAST から fork して以来、生物学的な意味での改良をきちんと follow してこなかったことと、並列化に伴って同順位のヒットが入れ替わるのを抑制したりしなかったことで、アーリーアダプタをちゃんと取り込めなかった。

2013-08-26 14:09:50
Masahiro Kasahara @mkasahara

アルゴリズムはとっても頭が良くてアイディアは良いのだけれども実装がクソでバグっていたり、導入が大変で使い物にならなかったりメンテされないソフトは皆使いたくないので、たいていの人は頭の良いアーリーアダプタが「これはいいよ!」って言うソフトを使う。

2013-08-26 14:11:45
Masahiro Kasahara @mkasahara

だから、アルゴリズムが多少良いからという理由ではユーザーは増えない。「あの Broad Institute が使ってるから(精度は世界最高じゃないかもしれないけどはずれを引かないだろう。)安心だ。」的なアーリーアダプタのお墨付きが出ないとマジョリティーの心には到達しない。

2013-08-26 14:14:01
Masahiro Kasahara @mkasahara

もちろん、アルゴリズムがぶっちぎりで素晴らしくて大差があればそうではないだろうが、「1年改良したら逆転するかな?」ぐらいの差だったら継続開発量・メンテ力のある大手グループの出したソフトウェアを使うのが当たり前になる。

2013-08-26 14:15:31
Masahiro Kasahara @mkasahara

そういう意味で、MPI-BLASTはアーリーアダプタに対して「検索速度は確かにいいけど、運用の面倒さと、(分散動作に関する)動作の不安定さ、メンテナンスの安心度と引き替えにするにはちょっとね。」と思わせてしまった時点でもうダメだったのだとおもう。

2013-08-26 14:17:12
Masahiro Kasahara @mkasahara

ちゃんと調べたわけではないので間違っているかもしれないが、私の知る範囲での MPI-BLAST の現在(全世界での実行回数)シェアは0.1%にも満たないだろう。

2013-08-26 14:18:44
前へ 1 2 ・・ 5 次へ