エラーコードをググってたら3日経っていた

*URL名はちょっと前までよくやっていたファイル名の付け方を現したものです(実話)。素人が一生懸命スパコンやWSL等と戦った時の記録。エラーコードをググってもよくわからない世界がそこにはあるのです。

TSUBAME3.0に入っているAlphaFoldをようやく試した(計算中...)

前置き

タンパク構造予測ツールとしてぶっちぎりの精度を誇るAlphaFold2(AF2)。7月中旬、論文がリリース。

doi.org

同時にソースの公開も。タンパク質界隈では凄い祭りになっていた。梅雨時でくたばっていたので、祭りは観測するだけになってしまったのが悔やまれる…。

github.com

さて、そんなAF2だがTSUBAME3.0にも2か月前には入っていた(Alphafold2 公開のお知らせ | TSUBAME計算サービス)。ただ、ずっとGoogle colab版(ColabFold)で遊んでいてさっぱり使っていなかった。ColabFoldはこれ。

github.com

とあるタンパクの予測をしていたのだが、colab版でも結構それっぽい構造は出してきた。個人的には、disorder領域を無理やり巻かないで潔く伸ばしてくるところに感心。今まで使っていた他のツールだと、その領域を無理やりたたんできたのでとんでもない絵面になっていたので。

ただ、colab版はさすがに参照するデータベースが簡易版になっている(bfdがsmall_bfdになっている)。

  • How does this compare to the open-source version of AlphaFold?
    • This Colab version of AlphaFold searches a selected portion of the BFD dataset and currently doesn’t use templates, so its accuracy is reduced in comparison to the full version of AlphaFold that is described in the AlphaFold paper and Github repo (the full version is available via the inference script).

引用元: https://colab.research.google.com/github/deepmind/alphafold/blob/main/notebooks/AlphaFold.ipynb

これをフルスペックにして計算したかったのでようやくTSUBAMEで計算することにした。

TSUBAMEでジョブ投入

TSUBAMEに入っているAF2はnon-docker版が大元っぽい。

github.com

TSUBAMEに投下するジョブスクリプトの例はここにある。

helpdesk.t3.gsic.titech.ac.jp

やらかした点など

  • -aの値はデフォルトだとallになっているからと思って省いたらGPUねえぞって怒られた。今になってみれば、-gを指定していて-aが無かったらそら怒られるわなと。番号を指定しなくていいだけで-a自体は付けないといけない(-gがデフォルトでTrueなのに付けているのと同じだと後から気づいた。いまだにこういうところで引っかかるレベルには素人)。
    • -aで指定する番号は多分ノードのgpu数に合わせて0から連番でつければいいんだと思う(多分。この辺もよくわかっていない)上のジョブスクリプト例だとf_nodeだからgpu4つあるので-a 0,1,2,3
  • モデルのファイル名をオリジナルでつけようとしたら怒られた。model_nじゃないとダメっぽい(1つなら-m model_1、2つ出したいなら-m model_1,model_2)。まあディレクトリ指定するからそこでなんの構造かは判別しろって事ですね。スクリプトを弄ればデフォルトのモデル名は変えられると思うけど結局変えていない。

  • ジョブ投げると標準出力じゃなくてエラー出力ファイルの中身がたまっていくが、ジョブが落ちていない限り心配ない。ジョブ投げた後もターミナル開いていると、確かに物騒な出力が出てくるのでドキッとするが、よく見るとWarningとかに交じって下のようただの進捗が出ている。

I1002 10:17:11.375301 46912496428352 utils.py:36] Started HHsearch query
I1002 10:21:18.952636 46912496428352 utils.py:40] Finished HHsearch query in 247.577 seconds

ということで形式上標準エラー出力扱いになっているために全部エラーログに入るっぽい。まだジョブが終わっていないけど、今のところは全部エラーログにぶち込まれている。

以上、まだ計算途中だけどやらかしなどの記録として取り急ぎ。