Wednesday, February 4, 2015

生物系の研究者が、なぜMATLABを覚える必要があるのか

生物系の研究でも大量のデータを取得し解析する必要がありますが、その多くは市販のソフトウエアを使って行われていることと思います。Excel、Metamorph、Graphpad、Genetyx、等々、優秀なソフトが揃っていますので、普段問題になることは少ないかもしれません。

たとえば顕微鏡で画像を取得し解析する場合には、Metamorphという(高価で)優秀なソフトがあります。さらに画像から抽出した各種パラメータをExcelで統計解析し、Graphpadなどでプロットを作成するといったことが一般的な生物系研究の流れでしょうか。

データがたくさんある場合には、これらのソフトのマクロなどを使い、作業の一部を自動化することもできます。ただ、一般的な生物系のラボでは、こうしたマクロを駆使している人はあまり見かけません。ソフトごとに違うマクロの書き方をそれぞれ覚えないといけないので、作業全体の効率アップをするためには相当な労力が要ります。また複雑な工程をマクロだけで自動化するのもかなり大変です。ソフト間のデータのやり取りも手間がかかります。

細胞の経時観察では、細胞が動いたり形を変えたりすることがよくあります。動く標的に対して機械的にROIを指定するのは、経験がある方も多いと思いますが、かなり難しいです。画像解析に特化したソフトもありますが、うまくいかず、いきおい手作業でROIを囲っている人も少なくないでしょう。

C言語やJavaなど、プログラミング経験のある人なら、こうした作業の自動化も可能でしょう。しかし多くの生物系研究者は、実験が忙しくてプログラミングどころではないとおっしゃるかもしれません。まったく経験のない人が、上記のような工程をプログラムできるようになるためには、かなりの時間と労力を要します。

実はこうした問題は生物系に限らず他の研究分野でも共通するものです。物理や工学分野でも、昔はFortranやC言語を使って解析を行っていました(今でも状況によっては使われます)。こうした中、研究用プログラムをもっと効率よく作成するためのツールとしてMATLABが生まれました(当初は行列計算を行うツールとして、Matrix Labの略)。多くの理系分野で事実上の標準となっているほどポピュラーなツールですが、神経とインフォマティクスを除く生物系では殆ど使われていません。

これは実にもったいない話です。MATLABではツールボックスと呼ばれる各種機能拡張が提供されていますが、生物系の解析に必要な機能はほぼ全て網羅されています。また、画像や統計解析など、数物系で長年に渡って蓄積された膨大なライブラリがありますので、関数を組み合わせるだけで、一通りのことはできてしまいます。

作業の自動化や効率化はもちろんメリットなのですが、生物系研究者がMATLABを学習する最大のメリットは、これまでに存在することすら知らなかった研究分野やその手法を、自分の研究に用いることができるようになるということです。これは、Pythonなど、他のスクリプト言語では得にくいメリットかもしれません(2015年現在の話。Pythonは数物系で勢力を伸ばしつつあるので将来性は高い)。