読者です 読者をやめる 読者になる 読者になる

ちゃーりーの「どっからでもかかってきなさい」

ジャイアンだとしても、映画版です

インフォマティクスは難しい?

研究

僕はインフォマティクスのエキスパートではまったくないけれど、インフォマティクス師匠のおかげで、ある程度のことを自分ですることができる。インフォマティクス的な手法を学ぶことは、いろいろな意味で大変だった。それにはいくつかの理由がある。長くなってしまったのでズバリ書くと、インフォマティクスもウェットの実験と変わらない(と僕が思った)、ということだ。

 

(1) そもそも基本的な言語を知らない

まず、ターミナルの画面を開いてgrepとかうっているひとを見ると、天才なんちゃうか、と思っていた。多くのひとにとっては、この(1)が、インフォマティクスを学ぶ障壁になっているように思う。最近は、CSHLのGalaxyなんかみたいに、コマンドラインを使わずしてインフォマティクス的解析ができるインターフェースがあったりするし、マッピング系の実験も何より雄弁なのはゲノムブラウザで可視化することだったりする場合があるので、実はそれほど問題ではないのかもしれないのだが、このことは、多くのひとに、「げっ、インフォマティクスか。。。」と思わせるのにじゅうぶんなようだ(っていうか僕がそうだった)。PCR知らないひとに、dNTP入れろよ、って言ったら、「うっ」ってなるだろう。それと同じ。

 

(2) こうしろっていうのがない

ちょっとやって分かったのだけれど、実はインフォマティクスは自由度が高い実験系だと思う。こうしろっていうのがない。同じゴールにたどり着くために使用可能なものの組み合わせが非常に多い。なので、インフォマティクスハードコアなひとたちのやり方も十人十色だ。ハードコアなひとたちは自分で試行錯誤しながらエキスパートとしての道を開いているような気がするので、その道筋を体験しないでいきなりこうしろってなっても、理解さえできないケースが多い。ある抗体をつかったIPで、こうこうこういう条件がベスト、っていうのを決めたひとに、いきなりこうしとけば良いから、って言われても、その知識はそのケースでしか役に立たないので、結局、理解していないのと同じになって、ちょっと何か変わると何もできなくなってしまう。(1)を知らない場合はなおさらだ。こういう場合って、優等生的には勉強しにくいよね(誰に言ってるんだ)。

 

(3) 自分に合ったテキストみたいなものがない場合が多い

(2)に関連して、そんなわけで、良いテキスト、みたいなものがあまりない。というか、(1)を知らない状態でテキストを見ても、アブラカタブラ、意味さえ分からないケースが多い。また、数多ある手法をすべて覚えたとしても、それを実際使わない限りは感覚が分からない。ノザンはこうやるんですよ、サザンはこうですよ、qPCRはこうです、ChIPはこうです、ってテキストを読んで勉強しても、実際はずいぶん違う、っていうのは実験をしたことがあるひとなら分かるはずだ。それと全く同じ。

 

(4) 自分だけに責任がかかる場合が少ないので誰かが助けてくれてしまうループ

これは非常に間接的な理由だけれど、インフォマティクスアレルギーがあると、誰かプロフェッショナルを見つけて頼んでしまいたくなる。そして、なかみはブラックボックスで、はいよってデータを渡される。よっしゃ、後で勉強すんべ、と思うけれども、再び勉強することはないのであった、となってしまう。できるひとのほうが圧倒的に少ない(いまのところ)ゆえに、できない、ということが問題ではないと感じてしまう。先生、ミニプレできません、といったら大変なことになるだろうが、すいません、ターミナル知らないんです、といっても、そーかそーか、僕もだよ、となるケースが殆どだろう。そうなると、自分でできるようになるための機会そのものがなくなる。

 

****

僕は結果として、ある程度のことはできるようになったわけだが、今にして思えば、上記(1)-(4)をうまい具合に解決したからだと思う。重要だと思ったポイントは以下。でも十人十色だから、参考程度に。

 

(a) インフォマティクス的に解決したい問題を自分のプロジェクトのなかからつくる

これがいちばん大事だと思う。ただ漠然とインフォマティクスを学びたい、のではなくて、それを使わないと理解できない問題を設定する。使えないと問題を解決できないので、モチベーションができる。モチベーションなしに免疫染色学びたいっすって言っても、殆ど右から左だろう。観たいものがあるから勉強する気になるのだ。

 

(b) テキストじゃなくてひとを見つける

良い師匠を見つけることが大事だ。僕は最初のころ、師匠の後ろにはりついてコードを書くのを観察して、何でそこをそうするんですか、とか、そのコマンドは何ですか、とかいちいちきいていて、相当煙たがられた。僕の場合は、最初は師匠に解析を頼んだのだが、(a)のモチベーションがあったことと、師匠が、「次は自分でやれよコラ」というひとだったことが幸いして(これが大きかった→(4)を解決)、必死に、ひとからものを吸収しようとした。実際の新しい問題を前にして、どうやってストラテジーをたてて、どうやって間違いに気がつき、どうやって修正し、どうやって答え合わせをするか、というところを学ぶことが何よりも大事だった。実験も、なんだかんだ、出来るひとの実際、を観察して体得していく、というケースが多いのではないかと思う。ちなみに、実験とちょっと違うのは、間違いに気がつくのが結構難しい、ということ。ミスを見つける作業がいちばん苦痛だなあ、僕は。

 

(c) ネットは偉大な先生

インフォマティクスをやっているようなひとは結構ホームページをもっていて、随時情報を更新している(テキスト情報が古くなりやすい理由のひとつ)。例えば、(b)で僕が実際に学んだのは、師匠が上手にネットの情報を使っていた、ということだった。例えば普通に、2列あるテキストファイルの2列目でとある条件を満たした行を抽出したい、とか思ったときに、「特定の行を抽出 unix」とか検索すると普通にいろいろ出てくるのだ。なので、基本言語を最初から覚える必要はあまりない。どうやって調べればいいかを知っておけば良いのだ。これも、実験に非常に似ているのではないだろうか。僕はそんな感じでawkの大ファンになったが、あんまり使っているひとを見ない(笑)。基本的な言語を知っていてアレルギーのないひとだったら、(b)なしの(c)だけでどうにかなると思う。

 

(d) とりあえずやってみることが大事

イヤでもちょろっとターミナルをひらいて、コマンドで遊んでみたりすることも大事だった。自分が何か命令をしたときのインプットとアウトプットを比べて、命令が忠実に実行されているかをみる、ということは、(b)に書いた「間違いに気がつく」能力を培うのにすごい大事だ。全くもって科学的ではないけれど、実験も繰り返していると精度があがったりする。それと同じ。(a)があるとこれもやりやすくなる。経験上、「インフォ教えてちょ」とだけ言ってきたひとよりも、「こんなことがしたくて、やってみたけど、うまくいかねんだけど」と言ってきたひとのほうが、習熟する割合が高い。まあこれは当たり前か。

 

(e) エクセルはかなり強い

インフォマティクス=ターミナルみたいなイメ―ジがあるけれど、実は違う。データをある程度トリミングしたら、いちばん便利なのはエクセルだったりする。これも一度体験すると、アレルギーがとれることがある。また、エクセルは、答え合わせにも便利だ。

 

****

そんなわけで、再度強調したいのは、インフォマティクスも実験も同じだ、ということ。また、どっちも知っていたほうが楽しい、っていうことだ。実験と同じで、インフォマティクスも、やってみるといろいろある。ボタン押せば何か出てくる、っていうものでは決してない。僕はまだどちらの手技も駆け出しもいいところだが、どちらも貪欲に学んで、引き出しをたくさん持つようにしたい、とあらためて思った次第。

 

ちなみに僕がお世話になったのは東大のアグリバイオインフォマティクス養成ユニットの先生で、このユニットは基本言語を学ぶための実習講義とかをかなりやっていて、とても良いと思う。少なくともインフォマティクスが「分かる」ということが要求される時代はもう来ていると思うので、学ぶ機会がある場合はぜひとも学ぶと、もっと研究が楽しくなると思います(何の宣伝だ)。