Proteina-Complexaをdocker/apptainerで作ってみた
本家様 https://github.com/NVIDIA-BioNeMo/Proteina-Complexa
[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.8 (Blue Onyx)
[root@rockylinux9 ~]# cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 595.104.02 Release Build (dvs-builder@U22-I3-H06-02-6) Thu Sep 17 17:31:15 UTC 2026
GCC version: gcc version 11.5.0 20240719 (Red Hat 11.5.0-14) (GCC)
[root@rockylinux9 ~]# nvidia-smi -L
GPU 0: NVIDIA RTX PRO 2000 Blackwell (UUID: GPU-40660e37-0d35-d4f4-294a-eee3fe83049e)
[root@rockylinux9 ~]# ls -l /usr/local/cuad*
ls: cannot access '/usr/local/cuad*': No such file or directory
[root@rockylinux9 ~]#docker参照して構築
あと「NVIDIA Container Toolkit」も加えておきます
[root@rockylinux9 ~]# mkdir /apps/src && cd $_
[root@rockylinux9 src]# git clone https://github.com/NVIDIA-BioNeMo/Proteina-Complexa
[root@rockylinux9 src]# cd Proteina-Complexa/
[root@rockylinux9 Proteina-Complexa]# git log -1
commit 33b76585801eb902802cc7410c85bc37ae81b346 (HEAD -> dev, origin/dev, origin/HEAD)
Merge: 5405886 46bf3bd
Author: Ohad Mosafi <omosafi@nvidia.com>
Date: Fri Sep 4 14:55:08 2026 -0700
Merge pull request #61 from NVIDIA-BioNeMo/omosafi/nvskills-onboarding
Onboard Proteina-Complexa skills to NVSkills
[root@rockylinux9 Proteina-Complexa]#
[root@rockylinux9 Proteina-Complexa]# docker build -t proteina-complexa -f env/docker/Dockerfile .
:
:
:
[root@rockylinux9 Proteina-Complexa]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@rockylinux9 Proteina-Complexa]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@rockylinux9 Proteina-Complexa]# docker images
IMAGE ID DISK USAGE CONTENT SIZE EXTRA
proteina-complexa:latest 9a4838ef4bb9 58.8GB 18.9GB
[root@rockylinux9 Proteina-Complexa]#利用者を docker グループに追加して
[root@rockylinux9 ~]# groupmod -U saber -a docker
[root@rockylinux9 ~]# id saber
uid=1000(saber) gid=1000(saber) groups=1000(saber),983(docker)
[root@rockylinux9 ~]#まずはデータ保存場所を作って bind させながらdockerを起動させます
[saber@rockylinux9 ~]$ mkdir -p $HOME/{Complexa-data,PFM_data,Proteina-Complexa}
[saber@rockylinux9 ~]$ docker run --gpus all -it -v $HOME/Proteina-Complexa:/workspace/Proteina-Complexa proteina-complexa
root@1c13cbd2226e:/workspace/protein-foundation-models# pwd
/workspace/protein-foundation-models
root@1c13cbd2226e:/workspace/protein-foundation-models# ls -CF
LICENSE Makefile README.md assets/ community_models/ configs/ docs/ env/ licenses/ pyproject.toml script_utils/ skills/ src/
root@1c13cbd2226e:/workspace/protein-foundation-models# ls -lF ../
total 160
-rw-rw-rw- 1 root root 148725 Aug 17 2024 NVIDIA_Deep_Learning_Container_License.pdf
-rw-rw-rw- 1 root root 2048 Aug 19 2024 README.md
drwxr-xr-x 2 1000 1000 6 Sep 28 15:08 data/ <--- $HOME/data/Complexa-data と繋がっている場所
drwxrwxrwx 1 root root 68 Aug 19 2024 docker-examples/
drwxrwxrwx 1 root root 44 Aug 19 2024 examples/
drwxr-xr-x 1 root root 4096 Sep 28 14:36 protein-foundation-models/
drwxrwxrwx 1 root root 4096 Aug 19 2024 tutorials/
root@1c13cbd2226e:/workspace/protein-foundation-models#
root@1c13cbd2226e:/workspace/protein-foundation-models# echo $PATH
/root/.local/bin:/workspace/.venv/bin:/usr/local/lib/python3.10/dist-packages/torch_tensorrt/bin:/usr/local/mpi/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ucx/bin:/opt/tensorrt/bin
root@1c13cbd2226e:/workspace/protein-foundation-models#
root@1c13cbd2226e:/workspace/protein-foundation-models# ls /workspace/.venv/bin/
activate activate.xsh complexa-target cython dotenv graphein idna jupyter-kernel mdconvert ninja plotly_get_chrome pydoc.bat pytest rf3 tabulate ttx
activate.bat activate_this.py coverage cythonize evol hf ipython jupyter-kernelspec mdinspect normalizer prody pyftmerge pytest-benchmark rfd3 tiny-agents tune
activate.csh atomworks coverage-3.12 deactivate.bat f2py httpx ipython3 jupyter-migrate mpnn numba proton pyftsubset python rfd3na torchfrtrace typer
activate.fish aw coverage3 debugpy fabric huggingface-cli isympy jupyter-run nc3tonc4 numpy-config proton-viewer pygmentize python3 rich-click torchrun wandb
activate.nu complexa cpuinfo debugpy-adapter fonttools hydride jsonschema jupyter-troubleshoot nc4tonc3 obabel py.test pygrun python3.12 ruff tqdm wb
activate.ps1 complexa-download cygdb deep foundry hypothesis jupyter markdown-it ncinfo pint-convert py.test-benchmark pymol_remote ray serve transformers
root@1c13cbd2226e:/workspace/protein-foundation-models#
root@1c13cbd2226e:/workspace/protein-foundation-models# complexa -h
usage: complexa [-h] {design,generate,filter,evaluate,analyze,analysis,status,download,demo,init,target,validate} ...
Complexa Binder Design Pipeline - Single GPU execution
positional arguments:
{design,generate,filter,evaluate,analyze,analysis,status,download,demo,init,target,validate}
design Run the full binder design pipeline
generate Generate binder structures
filter Filter generated samples
evaluate Evaluate samples
analyze Analyze results
analysis Run evaluate → analyze pipeline
status Check pipeline status
download Download model weights
demo Show usage examples and explanations
init Initialize environment configuration
target Manage target configurations
validate Validate configuration and check prerequisites
options:
-h, --help show this help message and exit
Complexa CLI - Binder Design Pipeline
Run individual pipeline steps or the full design pipeline locally on a single GPU.
All output goes to ./inference and ./evaluation_results automatically.
Logs are saved to ./logs/ with timestamps.
Commands:
complexa init Initialize environment (.env + env.sh for a runtime)
complexa demo Show usage examples and explanations
complexa validate Validate configuration and check prerequisites
complexa design Run the full binder design pipeline (generate → filter → evaluate → analyze)
complexa analysis Run evaluate → analyze pipeline (for evaluating PDB files)
complexa generate Generate binder structures using the partially latent flow matching model
complexa filter Filter and rank generated samples by reward scores
complexa evaluate Evaluate samples with refolding metrics
complexa analyze Aggregate and analyze results
complexa status Check pipeline status
complexa download Download model weights (interactive wizard)
complexa target Manage target configurations (list, add, show)
Examples:
# Run the full design pipeline
complexa design configs/search_binder_local.yaml
# Run individual steps
complexa generate configs/search_binder_local.yaml
complexa filter configs/search_binder_local.yaml
complexa evaluate configs/search_binder_local.yaml
complexa analyze configs/search_binder_local.yaml
# With config overrides (Hydra-style) - applied to ALL steps in design
complexa design configs/search_binder_local.yaml ++run_name=exp1 ++generation.task_name=02_PDL1
complexa generate configs/search_binder_local.yaml ++generation.task_name=02_PDL1 ++seed=42
# Check status
complexa status
# Download model weights
complexa download
# Show full output (no log file)
complexa design configs/search_binder_local.yaml --verbose
root@1c13cbd2226e:/workspace/protein-foundation-models#dockerなので「--rm」を付けないとコンテナを下りてもコンテナは停止した状態で残ります
root@1c13cbd2226e:/workspace/protein-foundation-models# exit
[saber@rockylinux9 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c13cbd2226e proteina-complexa "/usr/local/bin/entr…" 4 minutes ago Exited (0) 3 seconds ago bold_kirch
[saber@rockylinux9 ~]$っで再開するには
[saber@rockylinux9 ~]$ docker attache 1c13cbd2226e
[saber@rockylinux9 ~]$ docker attach 1c13cbd2226e
root@1c13cbd2226e:/workspace/protein-foundation-models#とする。どうしてもコンテナを消したければ、
root@1c13cbd2226e:/workspace/protein-foundation-models# exit
[saber@rockylinux9 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c13cbd2226e proteina-complexa "/usr/local/bin/entr…" 4 minutes ago Exited (0) 3 seconds ago bold_kirch
[saber@rockylinux9 ~]$ docker rm 1c13cbd2226e とコンテナを消す。
imagesとコンテナの2つがあることに注意。imagesから生まれたコンテナは、変更を加えても構わないが、imagesには反映されないです。commitを行って別のimagesを作るってのはありだけどね。
初期設定
コンテナが動いた状態で
root@1c13cbd2226e:/workspace/protein-foundation-models# complexa init
Created .env from /workspace/protein-foundation-models/.env_example
Location: /workspace/protein-foundation-models/.env
Next steps:
1. Edit .env and fill in your credentials and paths
2. Run: complexa init <uv|docker>
root@1c13cbd2226e:/workspace/protein-foundation-models# vi .env
:
LOCAL_CODE_PATH=/path/to/Proteina-Complexa
LOCAL_DATA_PATH=/path/to/PFM_data
↓
LOCAL_CODE_PATH=/workspace/Proteina-Complexa
LOCAL_DATA_PATH=/workspace/PFM_data
:
root@1c13cbd2226e:/workspace/protein-foundation-models# complexa init docker
root@1c13cbd2226e:/workspace/protein-foundation-models# source env.sh
root@1c13cbd2226e:/workspace/protein-foundation-models# complexa download
:
:
What would you like to download?
Complexa Models:
p) Download Complexa Protein weights (protein binder design)
l) Download Complexa Ligand weights (ligand binder design)
e) Download Complexa AME weights (enzyme/motif scaffolding)
a) Download all Complexa weights (protein + ligand + AME)
Community Models:
1) Download all community weights (ProteinMPNN + LigandMPNN + AF2 + ESM2 + RF3)
2) Download ProteinMPNN weights only (~50MB)
3) Download LigandMPNN weights only (~500MB)
4) Download AlphaFold2 weights only (~5GB)
5) Download ESM2 weights only (~2.6GB) [requires HF_TOKEN if rate limited]
6) Download RoseTTAFold3 weights (~2.5GB)
7) Download everything (all Complexa + community)
Other:
s) Check installation status
q) Quit
Enter your choice [p, l, e, a, 1-7, s, q]: 1 <-- 全部