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

なぜ情報科学的な最速プログラムはゲノマーの心をつかまないのか? 速いだけじゃ、ダメなんだ!! http://togetter.com/li/554112の続き
12
保活の覇者再び @thaaxoy

「いいもの」を作ればいいって問題じゃないんだなぁ

2013-08-26 14:07:55
chunjp @chunjp

「問題そのものの定義が目まぐるしく変化する」世界、黎明期のwebを彷彿とさせるし、ViawebはDBなんて使わずunix fileとlockだけで処理していたという話を思い出す

2013-08-26 14:10:03
Taro L. Saito @taroleo

@Brahms10 いやいや。誰にとって「いいもの」を作るか、という話に落ち着くかと。

2013-08-26 14:11:18
保活の覇者再び @thaaxoy

@taroleo 速度とか並列度みたいな作り手が思いつきやすい利点に囚われると痛い目を見る、という意味で「いいもの」とかっこつきにしたんですよー

2013-08-26 14:12:28
chunjp @chunjp

MPI-BLASTの件はどちらかというと「速度が重要なんじゃなくて、速度がどのような(研究)生活の変化をもたらすかが重要」という、よく見るいつものパターンなんじゃないかなぁ。

2013-08-26 14:22:53
Masahiro Kasahara @mkasahara

@chunjp 出力が完全互換であり、バイナリ配布でコンパイル不要、drop-in replacement だったらシェア100%近かったと思いますよ。

2013-08-26 14:23:39
Masahiro Kasahara @mkasahara

もうちょっと高速化の話をしよう。癌のなりやすさの話がプロシンで出ていたらしいので、癌の話をする。癌ゲノムの解析パイプラインとして例えば Cake (http://t.co/DBCRRKoKyJ) を考える。これは cancer genome でぐぐって適当に選んだ。

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

私はこのソフトのマニュアルは今初めて読むが、依存しているソフトウェアは非常にたくさんある。samtools, tabix, vcftools, varscan 2, bambino, cmake, somatic sniper, (続く

2013-08-26 14:25:00
Masahiro Kasahara @mkasahara

Perl モジュール(DBI, DBD::MySQL, YAML, File::Grep, Statistics::Descriptive, Text::NSP, BioPerl, Ensemble Core/Variation/Tools) だ。

2013-08-26 14:25:52
Masahiro Kasahara @mkasahara

tabix (これは比較的安定), cmake (これはゲノムじゃないし安定), BioPerl (これはゲノム系だが比較的枯れてる) を抜いたソフトウェアは継続的改善がなされているソフトウェアだ。しかも違うグループが開発している。

2013-08-26 14:27:41
Masahiro Kasahara @mkasahara

samtools, vcftools, varscan 2, banbino, somatic sniper あたりは次世代シークエンサーが流行ってから作られた解析ツールで未だにそこそこ変更されているのでバージョンを間違えたら動かない、なんて当たり前すぎる。

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

この、癌ゲノム解析アルゴリズムを開発して cake というソフトウェアをリリースしているチームは、例えば samtools の高速化版 fast-samtools があったとして使うだろうか?

2013-08-26 14:30:55
Masahiro Kasahara @mkasahara

fast-samtools のホームページに「オプション完全互換!出力完全互換!」って書いてあったらとりあえず入れ替えて試してみるだろう。パイプライン全体を走らせて同じ結果が出てきたらきっとそのまま使う。

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

でも怖いから、いざというときには samtools に戻せるオプションも私なら絶対に付けておく。大手の使っていないソフトウェア、みんなの使っていないソフトウェアは信用がないから。

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

じゃぁ、「fast-samtools は速いです!」とだけ書いてあって、更新履歴が1年前だったらどうするか?きっと使わない。互換性の問題が出たら多分自分で直さなきゃならないし、そのバグフィクスは自分の研究にはならない。そんなことだれもやりたくない。

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

情報の人は「そこをバイナリにすれば?」とか、「そこはカラムで持ったら圧縮できるよね?」とか言うけれど、何百万行もある他人のリリースした研究コードから、その変更のために必要な場所を抜き出して正しく書き直すなんてできっこない。

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

使うコードのうち90%とか95%とか下手すると99%は他人の書いたコードなんだよ。ロケットの燃料チューブに、「もっと安くて軽くて丈夫な素材あるよ?」って言われても怖くて簡単には取り替えられないんだよ。

2013-08-26 14:36:51
Masahiro Kasahara @mkasahara

スパコン「京」は速いです!とか言われても、ゲノム解析のソフトはそもそも動かないのばっかりだよ。エンディアン仮定してるコードとか全滅するし、そんな他人のコードを自分で書き直したいか?

2013-08-26 14:38:56
Masahiro Kasahara @mkasahara

いや、別に「京」が悪いと言っている訳じゃないんですけど、ゲノムインフォマティクス(敢えてバイオとは言いません。バイオと言うと本当に範囲が広いから当てはまらない例多数あるし。)では他人のソフトウェアをたくさん組み合わせる、というのが大事。

2013-08-26 14:40:42
Masahiro Kasahara @mkasahara

とりあえず言いたいことというのは、自明な最適化法はいっぱいあるんだけれども、もっともっと(プログラムがちゃんと書ける)コミュニティの人口が増えないと、その最適化に益がない、ということだ。情報系でも習うよね?「アルゴリズムを頑張れ。最適化は一番最後にやれ。というか最適化するな。」

2013-08-26 14:48:33
Masahiro Kasahara @mkasahara

ゲノム解析のあれやこれやを速くしてくれる人が参入してくれるのは勿論すっごくウェルカムなんだけど、自分のアイディアを「研究エコシステム」に取り込んで貰う、という視点を少しは持ちつつ研究して欲しいんだ。

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

あと、もう一つ付け加えるならば、生物実験には結構な時間が掛かることが多い。だから、実験時間よりオーダーで低い処理時間というのは実務的にはあんまり意味がない。1週間掛けて取る測定データを1分で処理しているところが1秒になっても基本的にそれほど嬉しくない。

2013-08-26 14:58:13