本家様 https://github.com/RosettaCommons/RFantibody
No description, website, or topics provided. Structure-Based de novo Antibody Design
(chatGPTから)
「RFantibody は、人工的な抗体(Antibody)をAIで設計するためのツール/モデルで、RFdiffusion をベースにした特化型の拡張モデルです。
特に、抗原(ターゲット分子)に結合する抗体の構造を設計することに優れています」
ドキュメントにはDockerfileでdockerイメージを作って、dockerコンテナ内で作業するみたい
(Dockerfileを読むと python3.10で poetry をpipで入れているだけなのでdocker使わなくてもいけるんじゃね?って思うのだが...)
まずはdokerの準備. docker. ユーザがdockerを動かす際にグループdockerに使用者アカウントを追加するか rootless docker で使うかがある.
このRFantibody では前者、グループdockerに使用者アカウントを登録して使うようにしている.
[root@rockylinux9 ~]# cd /apps/
[root@rockylinux9 apps]# git clone https://github.com/RosettaCommons/RFantibody
[root@rockylinux9 apps]# cd RFantibody/
[root@rockylinux9 RFantibody]#
Weightsファイルをダウンロードします
[root@rockylinux9 RFantibody]# bash include/download_weights.sh
[root@rockylinux9 RFantibody]# ls -lh weights/
total 749M
-rw-r--r--. 1 root root 6.4M Oct 21 2024 ProteinMPNN_v48_noise_0.2.pt
-rw-r--r--. 1 root root 282M Nov 27 2024 RF2_ab.pt
-rw-r--r--. 1 root root 462M Dec 8 19:11 RFdiffusion_Ab.pt
[root@rockylinux9 RFantibody]#
「/apps/RFantibody/weights」に保存されます
dokcerイメージを作ります
[root@rockylinux9 RFantibody]# ls -l
total 176
drwxr-xr-x. 2 root root 143 May 31 17:11 bin
-rw-r--r--. 1 root root 609 May 31 17:11 Dockerfile
drwxr-xr-x. 4 root root 86 May 31 17:11 include
-rw-r--r--. 1 root root 1092 May 31 17:11 LICENSE
-rw-r--r--. 1 root root 144095 May 31 17:11 poetry.lock
-rw-r--r--. 1 root root 952 May 31 17:11 pyproject.toml
-rw-r--r--. 1 root root 20211 May 31 17:11 README.md
drwxr-xr-x. 5 root root 171 May 31 17:11 scripts
drwxr-xr-x. 3 root root 24 May 31 17:11 src
drwxr-xr-x. 3 root root 56 May 31 17:11 tests
drwxr-xr-x. 2 root root 84 May 31 17:13 weights
[root@rockylinux9 RFantibody]#
[root@rockylinux9 RFantibody]# docker build -t rfantibody .
[root@rockylinux9 RFantibody]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rfantibody latest f907d8dcc2d3 About an hour ago 10.1GB
nvidia/cuda 11.8.0-runtime-ubuntu22.04 d8fb74ecc8b2 18 months ago 2.65GB
[root@rockylinux9 RFantibody]#
ユーザをグループ docker に参加させて、dockerを起動させます.
その後に「bash /home/include/setup.sh」でsetupを行います.
[saber@rockylinux9 ~]$ id
uid=1001(saber) gid=1001(saber) groups=1001(saber),979(docker) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[saber@rockylinux9 ~]$ docker run --name rfantibody --gpus all -v /apps/RFantibody:/home --memory 10g -it rfantibody
root@ecec10049780:/home#
root@ecec10049780:/home# bash /home/include/setup.sh
途中で降りたら NAME を使って docker を再開させ、attachで接続する
root@ecec10049780:/home# exit
exit
[saber@rockylinux9 ~]$
[saber@rockylinux9 ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[saber@rockylinux9 ~]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ecec10049780 rfantibody "/bin/sh -c /bin/bash" 14 minutes ago Exited (0) 19 seconds ago rfantibody
[saber@rockylinux9 ~]$
[saber@rockylinux9 ~]$ docker start rfantibody
rfantibody
[saber@rockylinux9 ~]$ docker attach rfantibody
root@ecec10049780:/home#