本家様 https://github.com/jwohlwend/boltz
pipy https://pypi.org/project/boltz/
pipyの内容から Python <3.13, >=3.10 が動作条件っぽい
生体分子(タンパク質、核酸、リガンドなど)の構造予測・相互作用予測を行うモデルとアプリの名称.
モデルファイルはオープンソースで商用利用可能. タンパク-リガンド複合体の構造予測とその結合親和性も見積もられるみたい.
AlphaFoldはMultiple Sequence Alignment(MSA)は必須。BoltzはMSAなしでも行けるけど、MSAがあると精度が向上するそうな.
msaを立ててみた. 内部でmsaが作れて初回にダウンロードされるモデルファイルを利用できればクローズド環境で利用できるみたい.
環境
[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 ~]#下準備
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構築
[root@rockylinux9 ~]# source /apps/pyenv/versions/anaconda3-2024.10-1/etc/profile.d/conda.sh
[root@rockylinux9 ~]# conda create -n Boltz-2 pip python=3.12 -c conda-forge
[root@rockylinux9 ~]# conda activate Boltz-2
(Boltz-2) [root@rockylinux9 ~]# cd /apps/src
(Boltz-2) [root@rockylinux9 src]# git clone https://github.com/jwohlwend/boltz
(Boltz-2) [root@rockylinux9 src]# cd boltz
(Boltz-2) [root@rockylinux9 boltz]#
(Boltz-2) [root@rockylinux9 boltz]# pip install -e .[cuda]
(Boltz-2) [root@rockylinux9 boltz]# conda list
:
biopython 1.84 pypi_0 pypi
boltz 2.2.0 pypi_0 pypi
:
python 3.12.11 h9e4cc4f_0_cpython conda-forge
:
rdkit 2025.3.3 pypi_0 pypi
:
torch 2.7.1 pypi_0 pypi
:
(Boltz-2) [root@rockylinux9 boltz]# conda deactivate
[root@rockylinux9 boltz]#「/apps/modulefiles/boltz-2」
#%Module
module load PyMOL
set root /apps/pyenv/versions/anaconda3-2024.10-1/envs/Boltz-2
prepend-path PATH $root/bin「boltz --help」
Usage: boltz [OPTIONS] COMMAND [ARGS]...
Boltz1.
Options:
--help Show this message and exit.
Commands:
predict Run predictions with Boltz-1.「boltz predict --help」
Usage: boltz predict [OPTIONS] DATA
Run predictions with Boltz-1.
Options:
--out_dir PATH The path where to save the predictions.
--cache PATH The directory where to download the data and
model. Default is ~/.boltz.
--checkpoint PATH An optional checkpoint, will use the provided
Boltz-1 model by default.
--devices INTEGER The number of devices to use for prediction.
Default is 1.
--accelerator [gpu|cpu|tpu] The accelerator to use for prediction. Default
is gpu.
--recycling_steps INTEGER The number of recycling steps to use for
prediction. Default is 3.
--sampling_steps INTEGER The number of sampling steps to use for
prediction. Default is 200.
--diffusion_samples INTEGER The number of diffusion samples to use for
prediction. Default is 1.
--step_scale FLOAT The step size is related to the temperature at
which the diffusion process samples the
distribution.The lower the higher the diversity
among samples (recommended between 1 and 2).
Default is 1.638.
--write_full_pae Whether to dump the pae into a npz file.
Default is True.
--write_full_pde Whether to dump the pde into a npz file.
Default is False.
--output_format [pdb|mmcif] The output format to use for the predictions.
Default is mmcif.
--num_workers INTEGER The number of dataloader workers to use for
prediction. Default is 2.
--override Whether to override existing found predictions.
Default is False.
--seed INTEGER Seed to use for random number generator.
Default is None (no seeding).
--use_msa_server Whether to use the MMSeqs2 server for MSA
generation. Default is False.
--msa_server_url TEXT MSA server url. Used only if --use_msa_server
is set.
--msa_pairing_strategy TEXT Pairing strategy to use. Used only if
--use_msa_server is set. Options are 'greedy'
and 'complete'
--help Show this message and exit.git にあるサンプルファイル「/apps/src/boltz/examples/affinity.yaml」を使ってテスト
[illya@rockylinux9 ~]$ cp /apps/src/boltz/examples/affinity.yaml .
[illya@rockylinux9 ~]$ module load boltz-2
[illya@rockylinux9 ~]$ cat affinity.yaml
version: 1 # Optional, defaults to 1
sequences:
- protein:
id: A
sequence: MVTPEGNVSLVDESLLVGVTDEDRAVRSAHQFYERLIGLWAPAVMEAAHELGVFAALAEAPADSGELAR(略
- ligand:
id: B
smiles: 'N[C@@H](Cc1ccc(O)cc1)C(=O)O'
properties:
- affinity:
binder: B
[illya@rockylinux9 ~]$
[illya@rockylinux9 ~]$ boltz predict affinity.yaml --out_dir out --use_msa_server「--cache」でmodelファイルの参照先を指定するが、なにも指定しないと「$HOME/.boltz」を見る
っで「$HOME/.boltz」に何もないと自動的にモデルがダウンロードされる.
自分向けのフォルダなので自由に使えるが、サイズは 12GB になる.
ユーザ毎に12GBが消費されるのが避けたいなら共通の場所に置く手もあるが、
どうも、そのフォルダは実行時に生成・更新されるファイルがあるようで、実行するたびに新しいキャッシュが追加されたり、古いものが更新されたりするみたい(from ChatGPT). なので書き込み可能にしておく.
どんなファイルが置かれるかは「/apps/src/boltz/src/boltz/main.py」に記載されている
なので
mkdir /apps/boltz ; cd /apps/boltz
wget https://model-gateway.boltz.bio/boltz1_conf.ckpt
wget https://model-gateway.boltz.bio/boltz2_conf.ckpt
wget https://model-gateway.boltz.bio/boltz2_aff.ckpt
wget https://huggingface.co/boltz-community/boltz-1/resolve/main/ccd.pkl
wget https://huggingface.co/boltz-community/boltz-2/resolve/main/mols.tar
tar xf mols.tar
[root@rockylinux9 boltz]# ls -l /apps/boltz/
total 9909400
-rw-r--r--. 1 root root 3595352714 Nov 28 2024 boltz1_conf.ckpt
-rw-r--r--. 1 root root 2062139170 Jun 6 22:17 boltz2_aff.ckpt
-rw-r--r--. 1 root root 2286561469 Jun 6 22:15 boltz2_conf.ckpt
-rw-r--r--. 1 root root 345859128 Nov 18 2024 ccd.pkl
drwxr-sr-x. 2 22478 20626 1105920 Feb 19 03:01 mols
-rw-r--r--. 1 root root 1855662080 Jun 6 22:14 mols.tar
[root@rockylinux9 boltz]#
[root@rockylinux9 boltz]# chmod 777 /apps/boltzとする。
「chmod 777」は微妙なので、各ホームディレクトリに収めるのがいいのかもしれない
っで下記で実行します
[illya@rockylinux9 ~]$ boltz predict affinity.yaml --out_dir out --use_msa_server --cache /apps/boltz --override結果は「out/boltz_results_affinity/predictions/affinity/affinity_model_0.cif」で得られる. cifファイルなのでお好みのviewerで見る. ここでは pymol で開いてみた

本家様 https://github.com/ravishar313/boltz-gui
製作中
下準備 npm のインストール. npmは18以上が必要なので
[root@rockylinux8 ~]# cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
[root@rockylinux8 ~]# dnf module list nodejs
Last metadata expiration check: 0:10:33 ago on Mon 23 Jun 2025 09:58:38 PM JST.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
nodejs 10 [d][e] common [d], development, minimal, s2i Javascript runtime
nodejs 12 common [d], development, minimal, s2i Javascript runtime
nodejs 14 common [d], development, minimal, s2i Javascript runtime
nodejs 16 common [d], development, minimal, s2i Javascript runtime
nodejs 18 common [d], development, minimal, s2i Javascript runtime
nodejs 20 common [d], development, minimal, s2i Javascript runtime
nodejs 22 common, development, minimal, s2i Javascript runtime
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@rockylinux8 ~]#
[root@rockylinux8 ~]# dnf module install nodejs:18 <-- エラーが出るなら「dnf module reset nodejs」を実行あとは各自のユーザディレクトリで作ってください
[saber@rockylinux8 ~]$ echo $PATH
/home/saber/.local/bin:/home/saber/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
[saber@rockylinux8 ~]$ curl -LsSf https://astral.sh/uv/install.sh | sh
downloading uv 0.7.13 x86_64-unknown-linux-gnu
no checksums to verify
installing to /home/saber/.local/bin
uv
uvx
everything's installed!
[saber@rockylinux8 ~]$ uv --version
uv 0.7.13
[saber@rockylinux8 ~]$boltz-guiパッケージの取得
[saber@rockylinux8 ~]$ git clone https://github.com/ravishar313/boltz-guibackend の準備
[saber@rockylinux8 ~]$ cd boltz-gui/backend/
[saber@rockylinux8 backend]$ uv syncbackend の起動
[saber@rockylinux8 ~]$ cd boltz-gui/backend/
[saber@rockylinux8 backend]$ source .venv/bin/activate
(boltz-gui) [saber@rockylinux8 backend]$ uv run run_server.py
(boltz-gui) [saber@rockylinux8 backend]$ uv run run_server.py
Starting Boltz GUI Server...
Server will be available at: http://localhost:6969
API documentation: http://localhost:6969/docs
Health check: http://localhost:6969/health
Press Ctrl+C to stop the server
INFO: Will watch for changes in these directories: ['/home/saber/boltz-gui/backend']
INFO: Uvicorn running on http://0.0.0.0:6969 (Press CTRL+C to quit)
INFO: Started reloader process [2120] using WatchFiles
INFO: Started server process [2122]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO:watchfiles.main:11 changes detected
:
(終了するには CTRL+C で止めて)
^CINFO: Shutting down
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [2122]
INFO: Stopping reloader process [2120]
(boltz-gui) [saber@rockylinux8 backend]$ deactivate
[saber@rockylinux8 backend]$backend の起動後に 別のターミナルを開いて frontend の準備
[saber@rockylinux8 ~]$ cd boltz-gui/frontend/
[saber@rockylinux8 frontend]$ npm installfrontend を起動します
[saber@rockylinux8 frontend]$ npm run dev
(終了するには CTRL+C で止めます)