github https://github.com/DISCO-design/DISCO
Code for the DISCO model: General Multimodal Protein Design Enables DNA-Encoding of Chemistry

uv

uvコマンドを使って構築するのですが、このuvは初めて、いつものpyenv/condaをからenvironment-modulesに持っていくようにしたい

[root@r9 ~]# curl -LsSf https://astral.sh/uv/install.sh | less
 -> version が 0.11.20 と判明
 
[root@r9 ~]# mkdir /apps/uv/0.11.20/bin -p
 
[root@r9 ~]# curl -LsSf https://astral.sh/uv/install.sh \
             | env UV_INSTALL_DIR="/apps/uv/0.11.20/bin" \
               UV_NO_MODIFY_PATH=1 \
               sh
 
[root@r9 ~]# ls -l /apps/uv/0.11.20/bin/
total 59276
-rwxr-xr-x 1 root root 60342584 Jun 10 17:22 uv
-rwxr-xr-x 1 root root   349456 Jun 10 17:22 uvx
[root@r9 ~]#

いつもの environment-modules
「/apps/modulefiles/uv/0.11.20」として

#%Module1.0
prepend-path PATH /apps/uv/0.11.20/bin

またpythonもOS由来ではない別のバージョンを使いたいので

[root@r9 ~]# module use /apps/modulefiles
[root@r9 ~]# module load uv/0.11.20
 
[root@r9 ~]# mkdir -p /apps/uv-python
[root@r9 ~]# export UV_PYTHON_INSTALL_DIR=/apps/uv-python
[root@r9 ~]# uv python install 3.11
[root@r9 ~]# uv python install 3.12
[root@r9 ~]# uv python install 3.13
 
[root@r9 ~]# ls -l /apps/uv-python/
 :
drwxr-xr-x 6 root root 69 Jun 13 07:42 cpython-3.11.15-linux-x86_64-gnu
lrwxrwxrwx 1 root root 48 Jun 13 07:42 cpython-3.11-linux-x86_64-gnu -> /apps/uv-python/cpython-3.11.15-linux-x86_64-gnu
drwxr-xr-x 6 root root 69 Jun 13 05:43 cpython-3.12.13-linux-x86_64-gnu
lrwxrwxrwx 1 root root 48 Jun 13 07:42 cpython-3.12-linux-x86_64-gnu -> /apps/uv-python/cpython-3.12.13-linux-x86_64-gnu
drwxr-xr-x 6 root root 69 Jun 13 05:43 cpython-3.13.14-linux-x86_64-gnu
lrwxrwxrwx 1 root root 48 Jun 13 07:42 cpython-3.13-linux-x86_64-gnu -> /apps/uv-python/cpython-3.13.14-linux-x86_64-gnu
 :
[root@r9 ~]# ls -l /apps/uv-python/cpython-3.11-linux-x86_64-gnu/bin/
total 21188
lrwxrwxrwx 1 root root        9 Jun 13 07:42 2to3 -> 2to3-3.11
-rwxr-xr-x 1 root root      158 Jun 13 07:42 2to3-3.11
lrwxrwxrwx 1 root root        8 Jun 13 07:42 idle3 -> idle3.11
-rwxr-xr-x 1 root root      156 Jun 13 07:42 idle3.11
-rwxr-xr-x 1 root root      234 Jun 13 07:42 pip
-rwxr-xr-x 1 root root      234 Jun 13 07:42 pip3
-rwxr-xr-x 1 root root      234 Jun 13 07:42 pip3.11
lrwxrwxrwx 1 root root        9 Jun 13 07:42 pydoc3 -> pydoc3.11
-rwxr-xr-x 1 root root      141 Jun 13 07:42 pydoc3.11
lrwxrwxrwx 1 root root       10 Jun 13 07:42 python -> python3.11
lrwxrwxrwx 1 root root       10 Jun 13 07:42 python3 -> python3.11
-rwxr-xr-x 1 root root 21666872 Jun 13 07:42 python3.11
-rwxr-xr-x 1 root root     3122 Jun 13 07:42 python3.11-config
lrwxrwxrwx 1 root root       17 Jun 13 07:42 python3-config -> python3.11-config
[root@r9 ~]#

と複数のpython versionを入れて置く

インストール

っでDISCOのインストール

[root@r9 ~]# module use /apps/modulefiles
[root@r9 ~]# module load uv/0.11.20
[root@r9 ~]# export UV_PYTHON_INSTALL_DIR=/apps/uv-python
 
[root@r9 ~]# cd /apps/
[root@r9 apps]# git clone https://github.com/DISCO-design/DISCO.git
[root@r9 apps]# cd DISCO/

ちょいと確認

[root@r9 DISCO]# less pyproject.toml
 :
requires-python = ">=3.11,<3.13"
 :
    "torch>=2.5",
 :
[root@r9 DISCO]#

とあるので、DISCOは pyton 3.11 か 3.12 。そしてtorchが2.5以上であればokの模様.
pythonは 3.11 を使うとして、torchはcuda-libraryにも影響する.

[root@r9 DISCO]# uv venv --python 3.11
 
(確認)
[root@r9 DISCO]# ls -l .venv/bin/
 :
lrwxrwxrwx 1 root root   60 Jun 13 07:44 python -> /apps/uv-python/cpython-3.11-linux-x86_64-gnu/bin/python3.11
lrwxrwxrwx 1 root root    6 Jun 13 07:44 python3 -> python
lrwxrwxrwx 1 root root    6 Jun 13 07:44 python3.11 -> python
 :
[root@r9 DISCO]#
 
[root@r9 DISCO]# uv sync --python .venv/bin/python
 
[root@r9 DISCO]# ls -ld .venv/
drwxr-xr-x 7 root root 157 Jun 12 01:13 .venv/
 
[root@r9 DISCO]# du -hs .venv/
5.8G    .venv/
 
[root@r9 DISCO]# ls -l .venv/bin/python
lrwxrwxrwx 1 root root 60 Jun 13 07:44 .venv/bin/python -> /apps/uv-python/cpython-3.11-linux-x86_64-gnu/bin/python3.11
 
[root@r9 DISCO]#
[root@r9 DISCO]# uv pip list
Package                 Version     Editable project location
----------------------- ----------- -------------------------------
 :
disco                   1.0.0       /apps/DISCO
 :
ipython                 9.14.1
 :
ligandmpnn              0.1.0       /apps/DISCO/packages/LigandMPNN
 :
ninja                   1.13.0
nodeenv                 1.10.0
numpy                   1.26.4
nvidia-cublas           13.1.1.3
nvidia-cuda-cupti       13.0.85
nvidia-cuda-nvrtc       13.0.88
nvidia-cuda-runtime     13.0.96
nvidia-cudnn-cu13       9.20.0.48
nvidia-cufft            12.0.0.61
nvidia-cufile           1.15.1.6
nvidia-curand           10.4.0.35
nvidia-cusolver         12.0.4.66
nvidia-cusparse         12.6.3.3
nvidia-cusparselt-cu13  0.8.1
nvidia-nccl-cu13        2.29.7
nvidia-nvjitlink        13.0.88
nvidia-nvshmem-cu13     3.4.5
nvidia-nvtx             13.0.85
omegaconf               2.3.1
openfold                0.1.0       /apps/DISCO/packages/openfold
packaging               26.2
pandas                  3.0.3
 :
pyrootutils             1.0.4
python-dateutil         2.9.0.post0
python-discovery        1.4.2
python-dotenv           1.2.2
pytorch-lightning       2.6.5
 :
runner                  0.1.0       /apps/DISCO/runner
 :
torch                   2.12.0
torchdata               0.11.0
torchinfo               1.8.0
torchmetrics            1.9.0
 :
[root@r9 DISCO]#
[root@r9 ~]# git clone https://github.com/NVIDIA/cutlass.git /apps/cutlass

pyproject.tomlがある場所で「uv sync」を行うと.venvができる

「/apps/modulefiles/DISCO」

#%Module
 
module load cuda/13.2
 
set root            /apps/DISCO
prepend-path PATH   $root/.venv/bin
setenv VIRTUAL_ENV  $root/.venv
setenv CUTLASS_PATH /apps/cutlass

てすと

[saber@r9 ~]$ cd test/
[saber@r9 test]$ cp -r /apps/DISCO/input_jsons .
 
[saber@r9 test]$ module load DISCO
 
[saber@r9 test]$ which python
/apps/DISCO/.venv/bin/python
 
[saber@r9 test]$ python /apps/DISCO/runner/inference.py   experiment=designable   input_json_path=input_jsons/unconditional_config.json   seeds=\[$(seq -s "," 0 99)\]

メモ

cu13のライブラリが入ってしまいますが、もしGPU的に cuda-12.4 がいいのなら

uv pip uninstall torch
uv pip install torch --torch-backend=cu124

とする.
この場合、/usr/localに cuda-12.4 のcuda-toolkitを入れてmodule load 可能なようにする

本来、ユーザ側がホームディレクトリにインストールするみたい

ユーザ側でインストールして使うみたい. ここではrootで/appsに入れていますが。

[saber@r9 ~]$  curl -LsSf https://astral.sh/uv/install.sh | sh                  <-- 「$HOME/.local/bin」に uv と uvx がインストールされる. デフォで$PATHに「$HOME/.local/bin」が入っているのでそのまま使える
 
[saber@r9 ~]$ git clone https://github.com/DISCO-design/DISCO.git
[saber@r9 ~]$ cd DISCO
[saber@r9 ~]$ uv sync

これでインストールは完了します. cudaライブラリも入りますが、$CUDA_HOMEを要求するようなので /usr/local/cuda を用意する必要がある.
nvidiaドライバーによっては 対応外の torch が入る可能性がある(torchがcuda-13.2を要求するが nvidiaが 550(cuda-12.4) なら動かない)
その際は

uv pip uninstall torch
uv pip install torch --torch-backend=cu124

として対応cudaライブラリ向けのtorchを入れる.

使用する際は

[saber@r9 ~]$ cd DISCO
[saber@r9 DISCO]$ source .venv/bin/activate

としてから使用します。
終わったら

(DISCO) [saber@r9 DISCO]$ deactivate
[saber@r9 DISCO]$

で環境を下ります。

最新の60件
2026-07-18 2026-07-17 2026-07-16 2026-07-08 2026-07-07 2026-07-06 2026-07-04 2026-07-02 2026-06-27 2026-06-25 2026-06-24 2026-06-21 2026-06-17 2026-06-14 2026-06-13
  • DISCO
2026-06-09 2026-06-08 2026-06-06 2026-06-05 2026-06-04 2026-06-03 2026-05-31 2026-05-26 2026-05-23 2026-05-22 2026-05-21 2026-05-20 2026-05-19 2026-05-18 2026-05-12 2026-05-11 2026-05-08 2026-05-06 2026-05-05 2026-05-03 2026-04-30

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2026-06-13 (土) 22:02:42