はじめに
バイオインフォにおける環境設定は面倒だなあ、と思っている僕が、遺伝研の環境に出会って感銘を受けるまでを書いたミニストーリーです。
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の良さだと思います。
遺伝研スパコンのようにいろんなバージョンのイメージを置いておけば、過去のバージョンのコマンドを持ち続けることもできますし、再現性という観点でも素晴らしいと思います。リソースが潤沢だからこそ出来ることですが。