バイオインフォマティクスをこれから始める人にどの言語を使用したら良いかと質問されることがよくある。周りのバイオインフォマティシャンに質問してみると、たぶん返ってくる答えはPython, Perl, Rubyのいずれかだと思う。結論からいうと、2018年現在でバイオインフォマティクスをこれから始める人にふさわしい言語はPython一択であると考えられる。
Pythonはユーザー数が多い
それぞれの言語のユーザー数がどれくらいいるか正確に把握することは難しいが、参考までにGoogleトレンドの結果を示す。
全世界:
日本:
世界的には2011年後頃からPerlを逆転してPythonがトップになっている。日本でも2014年頃にはPythonがPerlを抜いている。
なぜユーザー数が多い言語を選ぶべきか
Pythonのユーザー数が多いことは理解いただけたかと思うが、なぜユーザー数が多い言語を選ぶべきかを説明する。
理由1. ドキュメントが豊富
ドキュメントが豊富である一例として、プログラミングに関するQ&Aサイトである「Stack Overflow」の検索結果を示す。
Python | 1,059,777 件 |
Perl | 60,952件 |
Ruby | 199,959 件 |
圧倒的にPythonの件数が多くなっている。WEB上に情報が多ければ、問題が起きた時にググるだけで解決する可能性が高い。
理由2. ライブラリーが充実
ライブラリーが充実してる一例として、バイオインフォマティクス向けのライブラリーであるBioPython, BioPerl, BioRubyを比較してみる。まずはそのライブラリーの開発に貢献した人数である「Contributer」の数を見てみる。
BioPython | 208人 |
BioPerl | 62人 |
BioRuby | 30人 |
BioPythonが最も多くの人が関わっている。次に、直近1年の更新頻度を見てみる。
BioPython:
BioPerl:
BioRuby:
縦軸に注意してもらいたい。圧倒的にBioPythonの更新頻度が多くなっている。
ユーザー数の多い言語のライブラリーほど、多くの人が関わり、更新頻度が高くなるので、機能が充実している&バグが少ない可能性が高い。
まとめ
以上のように、バイオインフォマティクスをこれから始める人にふさわしい言語はユーザー数の多いPythonであると考えられる。過去に開発されたプログラムはPerlだからPerlを使うべきという人がいるが、進歩の早いこの分野においては、10年前のプログラムは使い物にならないことが多い。また、Rubyを勧める人の言い分で「Rubyは日本語ドキュメントが充実している」という人がいるが、主にWEB開発に関するドキュメントであり、バイオインフォマティクスにはほとんど役に立たない。今後他の言語が主流になる可能性は否定しないが、現状としてはPythonをお勧めする。