#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};と表記するみたい.