ゲノマーと情報科学について(続き)
「問題そのものの定義が目まぐるしく変化する」世界、黎明期のwebを彷彿とさせるし、ViawebはDBなんて使わずunix fileとlockだけで処理していたという話を思い出す
2013-08-26 14:10:03@taroleo 速度とか並列度みたいな作り手が思いつきやすい利点に囚われると痛い目を見る、という意味で「いいもの」とかっこつきにしたんですよー
2013-08-26 14:12:28MPI-BLASTの件はどちらかというと「速度が重要なんじゃなくて、速度がどのような(研究)生活の変化をもたらすかが重要」という、よく見るいつものパターンなんじゃないかなぁ。
2013-08-26 14:22:53@chunjp 出力が完全互換であり、バイナリ配布でコンパイル不要、drop-in replacement だったらシェア100%近かったと思いますよ。
2013-08-26 14:23:39もうちょっと高速化の話をしよう。癌のなりやすさの話がプロシンで出ていたらしいので、癌の話をする。癌ゲノムの解析パイプラインとして例えば Cake (http://t.co/DBCRRKoKyJ) を考える。これは cancer genome でぐぐって適当に選んだ。
2013-08-26 14:21:52私はこのソフトのマニュアルは今初めて読むが、依存しているソフトウェアは非常にたくさんある。samtools, tabix, vcftools, varscan 2, bambino, cmake, somatic sniper, (続く
2013-08-26 14:25:00Perl モジュール(DBI, DBD::MySQL, YAML, File::Grep, Statistics::Descriptive, Text::NSP, BioPerl, Ensemble Core/Variation/Tools) だ。
2013-08-26 14:25:52tabix (これは比較的安定), cmake (これはゲノムじゃないし安定), BioPerl (これはゲノム系だが比較的枯れてる) を抜いたソフトウェアは継続的改善がなされているソフトウェアだ。しかも違うグループが開発している。
2013-08-26 14:27:41samtools, vcftools, varscan 2, banbino, somatic sniper あたりは次世代シークエンサーが流行ってから作られた解析ツールで未だにそこそこ変更されているのでバージョンを間違えたら動かない、なんて当たり前すぎる。
2013-08-26 14:29:17この、癌ゲノム解析アルゴリズムを開発して cake というソフトウェアをリリースしているチームは、例えば samtools の高速化版 fast-samtools があったとして使うだろうか?
2013-08-26 14:30:55fast-samtools のホームページに「オプション完全互換!出力完全互換!」って書いてあったらとりあえず入れ替えて試してみるだろう。パイプライン全体を走らせて同じ結果が出てきたらきっとそのまま使う。
2013-08-26 14:31:36でも怖いから、いざというときには samtools に戻せるオプションも私なら絶対に付けておく。大手の使っていないソフトウェア、みんなの使っていないソフトウェアは信用がないから。
2013-08-26 14:32:14じゃぁ、「fast-samtools は速いです!」とだけ書いてあって、更新履歴が1年前だったらどうするか?きっと使わない。互換性の問題が出たら多分自分で直さなきゃならないし、そのバグフィクスは自分の研究にはならない。そんなことだれもやりたくない。
2013-08-26 14:33:31情報の人は「そこをバイナリにすれば?」とか、「そこはカラムで持ったら圧縮できるよね?」とか言うけれど、何百万行もある他人のリリースした研究コードから、その変更のために必要な場所を抜き出して正しく書き直すなんてできっこない。
2013-08-26 14:35:09使うコードのうち90%とか95%とか下手すると99%は他人の書いたコードなんだよ。ロケットの燃料チューブに、「もっと安くて軽くて丈夫な素材あるよ?」って言われても怖くて簡単には取り替えられないんだよ。
2013-08-26 14:36:51スパコン「京」は速いです!とか言われても、ゲノム解析のソフトはそもそも動かないのばっかりだよ。エンディアン仮定してるコードとか全滅するし、そんな他人のコードを自分で書き直したいか?
2013-08-26 14:38:56いや、別に「京」が悪いと言っている訳じゃないんですけど、ゲノムインフォマティクス(敢えてバイオとは言いません。バイオと言うと本当に範囲が広いから当てはまらない例多数あるし。)では他人のソフトウェアをたくさん組み合わせる、というのが大事。
2013-08-26 14:40:42とりあえず言いたいことというのは、自明な最適化法はいっぱいあるんだけれども、もっともっと(プログラムがちゃんと書ける)コミュニティの人口が増えないと、その最適化に益がない、ということだ。情報系でも習うよね?「アルゴリズムを頑張れ。最適化は一番最後にやれ。というか最適化するな。」
2013-08-26 14:48:33ゲノム解析のあれやこれやを速くしてくれる人が参入してくれるのは勿論すっごくウェルカムなんだけど、自分のアイディアを「研究エコシステム」に取り込んで貰う、という視点を少しは持ちつつ研究して欲しいんだ。
2013-08-26 14:53:17あと、もう一つ付け加えるならば、生物実験には結構な時間が掛かることが多い。だから、実験時間よりオーダーで低い処理時間というのは実務的にはあんまり意味がない。1週間掛けて取る測定データを1分で処理しているところが1秒になっても基本的にそれほど嬉しくない。
2013-08-26 14:58:13