#author("2025-07-20T18:27:15+00:00","default:sysosa","sysosa")
#author("2025-07-20T18:38:00+00:00","default:sysosa","sysosa")
本家様 [[https://github.com/chaidiscovery/chai-lab/>+https://github.com/chaidiscovery/chai-lab/]]


環境
#code(nonumber){{
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)

[root@rockylinux9 ~]# uname -r
5.14.0-503.14.1.el9_5.x86_64

[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  570.172.08  Tue Jul  8 18:31:33 UTC 2025
GCC version:  gcc version 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC)

[root@rockylinux9 ~]#
}}
cuda-12.8対応な 570.x nvidiaドライバを入れてます.


下準備
#code(nonumber){{
git clone https://github.com/yyuu/pyenv.git /apps/pyenv
export PYENV_ROOT=/apps/pyenv
export PATH=$PYENV_ROOT/bin:$PATH

pyenv install anaconda3-2024.10-1
}}

構築

#code(nonumber){{
[root@rockylinux9 ~]# source /apps/pyenv/versions/anaconda3-2024.10-1/etc/profile.d/conda.sh
[root@rockylinux9 ~]# conda create -n Chai-1 pip python=3.12 -c conda-forge -y

[root@rockylinux9 ~]# conda activate Chai-1
(Chai-1) [root@rockylinux9 ~]# cd /apps/src/
(Chai-1) [root@rockylinux9 src]# git clone https://github.com/chaidiscovery/chai-lab
(Chai-1) [root@rockylinux9 src]# cd chai-lab/
(Chai-1) [root@rockylinux9 chai-lab]# pip install .

(Chai-1) [root@rockylinux9 chai-lab]# conda list
 :
chai-lab                  0.6.1                    pypi_0    pypi
 :
numpy                     1.26.4                   pypi_0    pypi
nvidia-cublas-cu12        12.6.4.1                 pypi_0    pypi
nvidia-cuda-cupti-cu12    12.6.80                  pypi_0    pypi
nvidia-cuda-nvrtc-cu12    12.6.77                  pypi_0    pypi
nvidia-cuda-runtime-cu12  12.6.77                  pypi_0    pypi
nvidia-cudnn-cu12         9.5.1.17                 pypi_0    pypi
nvidia-cufft-cu12         11.3.0.4                 pypi_0    pypi
nvidia-cufile-cu12        1.11.1.6                 pypi_0    pypi
nvidia-curand-cu12        10.3.7.77                pypi_0    pypi
nvidia-cusolver-cu12      11.7.1.2                 pypi_0    pypi
nvidia-cusparse-cu12      12.5.4.2                 pypi_0    pypi
nvidia-cusparselt-cu12    0.6.3                    pypi_0    pypi
nvidia-nccl-cu12          2.26.2                   pypi_0    pypi
nvidia-nvjitlink-cu12     12.6.85                  pypi_0    pypi
nvidia-nvtx-cu12          12.6.77                  pypi_0    pypi
 :
python                    3.12.11         h9e4cc4f_0_cpython    conda-forge
 :
rdkit                     2024.9.6                 pypi_0    pypi
 :
torch                     2.7.1                    pypi_0    pypi
 :
typer                     0.16.0                   pypi_0    pypi
 :
(Chai-1) [root@rockylinux9 chai-lab]#

(Chai-1) [root@rockylinux9 chai-lab]# conda install kalign3 -c bioconda
}}

次に Chai の weights ファイルをダウンロードします。ここでは /apps/Chai に落とします
&size(10){実際には predict_structure.py の計算中に CHAI_DOWNLOADS_DIR にweightsファイル を落とします};

#code(nonumber){{
(Chai-1) [root@rockylinux9 chai-lab]# mkdir /apps/Chai

(Chai-1) [root@rockylinux9 chai-lab]# CHAI_DOWNLOADS_DIR=/apps/Chai  python  ./examples/predict_structure.py

(Chai-1) [root@rockylinux9 chai-lab]# conda deactivate

[root@rockylinux9 chai-lab]# 
}}

落としたファイルらはこんな感じ

#code(nonumber){{
[root@rockylinux9 ~]# cd /apps/Chai/
[root@rockylinux9 Chai]# ls -lR
.:
total 119M
-rw-r--r--. 1 root root 119M Jul 21 02:08 conformers_v1.apkl
-rw-r--r--. 1 root root    0 Jul 21 02:08 conformers_v1.download_lock
drwxr-xr-x. 2 root root  107 Jul 21 02:23 esm
drwxr-xr-x. 2 root root 4.0K Jul 21 02:24 models_v2

./esm:
total 5.3G
-rw-r--r--. 1 root root    0 Jul 21 02:09 traced_sdpa_esm2_t36_3B_UR50D_fp16.download_lock
-rw-r--r--. 1 root root 5.3G Jul 21 02:23 traced_sdpa_esm2_t36_3B_UR50D_fp16.pt

./models_v2:
total 615M
-rw-r--r--. 1 root root    0 Jul 21 02:24 bond_loss_input_proj.download_lock
-rw-r--r--. 1 root root 5.4K Jul 21 02:24 bond_loss_input_proj.pt
-rw-r--r--. 1 root root    0 Jul 21 02:24 feature_embedding.download_lock
-rw-r--r--. 1 root root 4.4M Jul 21 02:24 feature_embedding.pt
-rw-r--r--. 1 root root    0 Jul 21 02:24 token_embedder.download_lock
-rw-r--r--. 1 root root 6.0M Jul 21 02:24 token_embedder.pt
-rw-r--r--. 1 root root    0 Jul 21 02:24 trunk.download_lock
-rw-r--r--. 1 root root 604M Jul 21 02:24 trunk.pt
[root@rockylinux9 Chai]#


[root@rockylinux9 Chai]# mkdir --mode=1777 /apps/Chai/template_cifs   # 予測に使用するcifファイルの置き場。時にフォルダの中身は削除する必要あるみたい
[root@rockylinux9 Chai]# mkdir --mode=1777 /apps/Chai/template_cifs
}}
予測に使用するcifファイルの置き場「/apps/Chai/template_cifs」を用意する
時にフォルダの中身は削除する必要あるみたい
&size(10){実行ユーザがここを利用するとき、上手く行かないのかなと思ってしまう。参照だけなら大丈夫かなと思うが..};


***environment-modules [#iba7d8bf]
「/apps/modulefiles/Chai」
#code(nonumber){{
#%Module1.0
set          root       /apps/pyenv/versions/anaconda3-2024.10-1/envs/Chai-1
prepend-path PATH       $root/bin

setenv CHAI_DOWNLOADS_DIR /apps/Chai
setenv DISABLE_PANDERA_IMPORT_WARNING true
}}


***テスト [#g56dbb96]

fastaファイル形式なのですが、ID欄に「protein」と記載する必要がある
#code(nonumber){{
[saber@rockylinux9 ~]$ cat query.fasta
>protein|sample-A
PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK

[saber@rockylinux9 ~]$


[saber@rockylinux9 ~]$ module use /apps/modulefiles
[saber@rockylinux9 ~]$ module load Chai

[saber@rockylinux9 ~]$ chai-lab fold --use-msa-server --use-templates-server query.fasta out
}}


***めも [#u6e8f0b3]

「./examples/predict_structure.py」を参考にするとインプットファイルはこんな感じみたい.
#code(nonumber){{
>protein|name=example-of-long-protein
AGSHSMRYFSTSVSRPGRGEPRFIAVGYVDDTQFVRFDSDAASPRGEPRAPWVEQEGPEYWDRETQKYKRQAQTDRVSLRNLRGYYNQSEAGSHTLQWMFGCDLGPDGRLLRGYDQSAYDGK(略
>protein|name=example-of-short-protein
AIQRTPKIQVYSRHPAENGKSNFLNCYVSGFHPSDIEVDLLKNGERIEKVEHSDLSFSKDWSFYLLYYTEFTPTEKDEYACRVNHVTLSQPKIVKWDRDM
>protein|name=example-peptide
GAAL
>ligand|name=example-ligand-as-smiles
CCCCCCCCCCCCCC(=O)O
}}
「>」の後に&color(magenta){protein};とか&color(orangered){ligand};と表記するみたい.
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS