バイオインフォにおける環境構築についての雑感


はじめに

バイオインフォにおける環境設定は面倒だなあ、と思っている僕が、遺伝研の環境に出会って感銘を受けるまでを書いたミニストーリーです。
Galaxyの目指したあるべき姿として、「いろんなツールが楽に入れられる」だと思うんです。
結局、まあまあGalaxyでも面倒だったりするわけなんですが。。。

きっかけ

某研究室にバイオインフォの講義をするお仕事のサポートとして、
研究室のサーバに基本的なツールを20個くらいインストールしました。
バイオインフォ系のツール、インストールのやり方もバラバラで困りますよね。
(同僚がインストールスクリプト作ってくれたので、いちいちコマンドは打ちませんが)

例として、FASTQCとMACS2の例を挙げておきます。
インストールとしては簡単な方ですけど、JavaとかPythonが絡むので、サーバ全体を気にしつつインストールすることになりますね。

FASTQCのインストール手順

  • (前提)aptでcurlのインストール
  • aptでdefault-jreのインストール
  • fatsqcのダウンロード(zipファイル)
  • zipを解凍して、適切な場所に配置し、実行用のファイルにパスを通す
    • (全員が使えるようにするなら/etc/profileなどに書いておく)

MACS2のインストール手順

  • (前提)python, python-dev, libpython-dev, python-pip
  • pip install でnumpy, MACS2を入れる
    • Python2がデフォルトの環境なら「pip3」

遺伝研にて

別の業務で、遺伝研のスパコンに社内で作ったシェルスクリプト(複数のツールを順次動かすパイプライン)を動かすことになりました。
同じように環境設定しようと思いましたが、あれ?何もすることなくね?
(気づくまでしばらく時間かかりましたが。。。)

遺伝研の環境の特徴

  • Singularityが入っている。
  • /usr/local/biotools/ 以下に基本的なSingularityイメージが複数のバージョンで置いてある
  • 自身でイメージを作って持ってくることも可能なので、好き放題どんなコマンドでも動かせる。

FASTQの実行ファイル

下記のような「fastqc」ファイルを作って、実行権限をつける。qloginして実行すればOK

#!/bin/sh
module load singularity
singularity exec /usr/local/biotools/f/fastqc\:0.11.5--pl5.22.0_2 fastqc $@

終わりに

バイオインフォって無茶苦茶いっぱいツールを使うくせに、インストールするだけで敷居が高いんだよなあ、と思ってました。Dry解析教本でも結構細かく説明されてます。
あと、Python2でしか動かないツールがあったりと、ミドルウェアについての制約条件も結構面倒。
そうなると、仮想環境ってのは便利です。が、Dockerはroot権限で動きやがったりするので、システム管理者としては胃が痛い。。。その点、root権限が不要なのは、Singularityの良さだと思います。
遺伝研スパコンのようにいろんなバージョンのイメージを置いておけば、過去のバージョンのコマンドを持ち続けることもできますし、再現性という観点でも素晴らしいと思います。リソースが潤沢だからこそ出来ることですが。