ログイン 概要 よくある質問

これから次世代シーケンサを用いて得られたデータの解析をどんどん進めて行こうと思っています。そこで、マッピングソフトやピーク検出ソフトを使用する以外にそのデータを用いてゲノムワイドな解析ができたらとスクリプト言語の習得を考えております。今まで主にPerlを利用してそれっぽいことを試していました。同じような解析をしている方々が利用しているのをみてPythonやRubyも簡単な本で勉強をしてみたのですがやはり最終的には一つの言語を深く使えることが重要であると考え、質問させていただきたいと思います。どの言語が一番バイオインフォマティクス、特に次世代シーケンサのデータを用いた解析に適しているのでしょうか?どれでも一緒と言われてしまうのを承知ですがぜひお聞きしたいと思いました。もし複数の言語を理解した方がよいという意見やJAVAやC++くらいはやっとけとか意外な意見もお聞きしたいです。よろしくお願いいたします。

質問日 Apr 24 '11 at 00:13

gatapishi's gravatar image

gatapishi
714711

edited May 18 '11 at 22:21

mn3's gravatar image

mn3 ♦♦
5154922


どれでも一緒という最終結論をご自分で感じておられるので、
元SEの立場からそれぞれの言語に感じた印象を書きます。

まず、日本国内で習得が容易なのはrubyかと思います。
これでもかというくらい、日本語ドキュメントがあります。
ただ、実行速度が遅いので、最終的にはperlやc++で書きなおすことも多々あります。
pythonは、これで書かれているバイオインフォマティクスツールも多く価値があるかと思います。
例えばある時期の、ERANGEはこれが理解出来ていないと、
オリジナルソースのsqlite3の使い方の悪さから生じる
もっさり動作を修正できなかったりします。
とは言っても、深く使えなくても修正は十分できますので、
本気で習得しなくてもいいのかも知れません。
perlは、高速ですし、これで書かれたツールも多く、習得して損はない言語だと思います。
ただ、よく言われる可読性の低さもありますので、両天秤で判断されればいいかと思います。
JAVAは候補の中に入っていないようですが、
バイオインフォマティクスで使う場合は概して実行速度はC++と変わりません。
クラスやらオブジェクトの概念を必死に覚えさせようというテキストが多いので
必要以上に遠回りをすることになるかも知れませんが……。

>最終的には一つの言語を深く使えること
これ自体、どのような経緯で至られたのかは分かりませんし、
参考程度に下記の意見は捉えていただければと思いますが……。
バイオインフォマティクスの世界では、
ツールの開発自体に踏み込むのでなければ、
perlにしろ、pythonにしろ、rubyにしろ、
ひと通り使えるレベルの先に、
それほど意味があるようには思えません。
既存のバイオツールのスクリプトを読んで、
動作を追いかけられるレベルに到達さえすれば、
そこから先は、「お好み」あるいは「用途に適した言語」でいいのではないでしょうか。
個人的にはc++とpythonとJAVAが使いこなせれば、
豊富なツールやライブラリを利用できるので、色々楽かと思います。
とっかかりやすい言語を深く学んで、
必要に応じて広く浅く学ぶのがいいかなと思います。

回答日 Apr 24 '11 at 02:25

kiake77's gravatar image

kiake77
126116

詳細なご回答ありがとうございます。 簡単なスクリプト言語としてPerl、普通にデータを扱う以上にちょっと凝ったことを考えるためにはJAVAがいいかなと思いました。とりあえずは、JAVAプログラミングをがんばってみようかと思います。

(Apr 24 '11 at 22:30) gatapishi gatapishi's gravatar image
あなたの回答
プレビューをトグルする

この質問をフォローする

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

回答

回答とコメント

タグ:

×47
×1

質問日: Apr 24 '11 at 00:13

閲覧数: 10,787 回

最終更新日: May 18 '11 at 22:21

powered by OSQA