Perl

2.10. Perl#

バイオインフォマティクスの研究において、この分野専用のプログラミング言語が存在するわけではありません。解析の目的や扱うデータの性質に応じて、適切な言語やツールが選ばれてきました。

Perl は、正規表現を中心とした非常に強力な文字列処理機能を備えており、バイオインフォマティクスの黎明期から長く使われてきた言語です。FASTA 形式や GFF 形式のようなテキストベースのデータを柔軟に扱うことができ、短いコードで複雑な処理を書ける点が高く評価されていました。実際、ゲノム解析や配列解析が急速に発展した 1990 年代から 2000 年代にかけては、多くの研究室で Perl による自作スクリプトが日常的に使われていました。また、Perl には BioPerl という有名なライブラリ群が存在し、配列データの読み書き、翻訳、アラインメント結果の処理など、バイオインフォマティクス特有の操作を簡単に行える環境も整備されていました。そのため、Perl は長い間「バイオインフォマティクスといえば Perl」と言われるほど、この分野を支えてきた言語のひとつでした。

しかし現在では、可読性や学習コスト、他分野との親和性の高さから Python や R が主流となり、Perl を新たに学ぶ若手研究者はほとんど見かけなくなりました。多くの解析プログラムも Perl から Python へと置き換えられています。

それでも、古い論文の付録に載っているスクリプトや、研究室の奥深くに眠る解析コードをひもとくと、今なお Perl が静かに現役で働いている場面に出会うことがあります。バイオインフォマティクスの歴史を語るうえで、Perl は欠かせない存在です。

もっとも、最近この言語を使う場面といえば、新しい解析を書くときではなく、「この Perl スクリプト、誰が書いたんだろう……」と首をかしげながら既存コードを読むときでしょう。そして数分後、その著作者が自分であることに気づき、研究室でひとり静かに過去と向き合うことになります。

かつては、複雑な正規表現を一行で書けることが知性の証であり、Perl を操れることが「分かっている研究者」の条件だと本気で信じていました。深夜の研究室で、誰にも読まれないことを前提にコードを書き、翌朝には自分ですら読めなくなっている。その無駄に高い自己満足度と再現性の低さも含めて、あれは紛れもなく青春だったのだと思います。現在では、その Perl スクリプトは誰にも手を付けられず、改変するのが怖いという理由だけで生かされ続けています。動いているから触らない、理由は分からないが結果は出る。気がつけば Perl は、筆者の青春と同じく、語られなくなり、しかし完全には消えない存在になっていました。