はじめに
以前書いた funannotateを遺伝研スパコンで動かす という記事の続きです.
condaでインストールするとめちゃくちゃ面倒だったので、DockerHubで配布されているdockerイメージをsingularityイメージに変換して、遺伝研スパコンで使えるかどうか試してみました.
Singularityを使うメリットとデメリット
メリット
- インストールが楽
- $HOMEを自動でマウントしてくれる
- ヘルプメッセージを確認する程度ならインタラクティブノード(qloginで入れるノード)で実行可能
- 最新版をcatch upできる
デメリット
- 作者さんのGitHubで配布されているfunannotate-dockerという簡単実行スクリプトが(そのままでは)使えない
やりかた
ゲートウェイノードにログインしてから,
$ qlogin -l mem_req=20G,s_vmem=20G # memoryを多めにしてqlogin
$ cd /your/tools/dir/ # 任意のディレクトリに移動
# dockerイメージをsingularityイメージに変換
$ singularity build funannotate.sif docker://nextgenusfs/funannotate
INFO: Starting build...
(途中略)
INFO: Creating SIF file...
INFO: Build complete: funannotate.sif
funannotate test
コマンドで実行テストをします.
#$
で始まる行はスパコンの計算ノードに投入するためのコマンドです.
#$ -S /bin/bash
#$ -pe def_slot 10
#$ -cwd
#$ -l medium
#$ -l mem_req=15G,s_vmem=15G
#$ -l d_rt=192:00:00
#$ -l s_rt=192:00:00
singularity exec /your/tools/path/funannotate-1.8.7.sif funannotate test \
-t predict \
--cpus 10
10 core, メモリ合計150GB確保して投入しました. なお, 80GBでは途中でコアダンプしました.
20分くらいで終了します. 標準出力ログに以下が出力されていれば, たぶん本番データでも動くんじゃないかな...
(本番データではまだ試していないので,うまく動けば追記します)
#########################################################
SUCCESS: `funannotate predict` test complete.
#########################################################
ちなみに,このテストコマンドでpredictされるゲノム配列の大きさは約3Mでした.
Saccharomyces属のゲノムの一部だけを取り出しているようです.
小さめの真核生物ゲノム(~500MBくらい?)だとストレスなく動くと思います.
余談
実行テストにfunannotateのデフォルトではなく, SARS-CoV2ゲノムを使おうとして撃沈.
0 valid BUSCO predictions found, validating protein sequences
こんなエラーメッセージが出てきました. まあそうだよね, 真核生物じゃないもの.
E.coliでテストしてみるつもり.