RFDesign

集群已配置 RFDesign 运行环境, 运行时请切换至支持GPU的CentOS 7计算节点(c007-c009, amax,baode或ml01), 使用 module environment 载入使用,RFDesign脚本位于/data/apps/RFDesign/rfdesign:

ssh baode03
module load cuda/11.3 RFDesign

python3 /data/apps/RFDesign/rfdesign/hallucination/hallucinate.py \
        --pdb=2KL8.pdb --mask=20-25,A12-26,5-15,A51-68,0-5 \
        --out=output --num=100 --steps=g600

python3 /data/apps/RFDesign/rfdesign/inpainting/inpaint.py \
        --task hal --checkpoint v02 --pdb=2KL8.pdb --out=output/inpaint_test \
        --window=A,20,25 --num_designs 1 --inf_method=multi_shot --n_iters 10 \
        --recycle_str_mode both --clamp_1d 0.1 --dump_all

脚本示例:

#!/bin/bash
#
#PBS -l nodes=baode03:ppn=1
#PBS -l walltime=240:00:00
#PBS -N rfdesign
#PBS -q avx
#PBS -j oe

module load cuda/11.3 RFDesign
cd $PBS_O_WORKDIR

python3 /data/apps/RFDesign/rfdesign/hallucination/hallucinate.py \
        --pdb=2KL8.pdb --mask=20-25,A12-26,5-15,A51-68,0-5 --out=output \
        --num=100 --steps=g600

警告

hallucinate.py运行时会在当前路径下创建cache/trans_Q,请勿直接在无写入权限路径下运行该脚本。

由于inpaiting.py在运行时会往脚本路径中写入或修改文件, 建议用户自行在家目录或者计算节点的本地路径中创建RFDesign脚本运行环境:

# 下载模型包 ( or copy from /data/apps/RFDesign/weights.tar.gz)
mkdir weight
cd weight
wget https://files.ipd.uw.edu/pub/rfdesign/weights.tar.gz
tar xzf weights.tar.gz

# 下载RFDesign脚本( or unzip from /data/apps/RFDesign/RFDesign-master.zip)
cd ..
git clone https://github.com/RosettaCommons/RFDesign
cd RFDesign

# 本示例假设模型包存储于 ~/weight/models and ~/weight/autofold
# 修改hallucination和inpainting脚本的weight配置路径
cp hallucination/config.json.example hallucination/config.json
cp inpainting/config.json.example inpainting/config.json

vi hallucination/config.json
# 修改路径为:"weights_dir": "~/weight/"

vi inpainting/config.json
# 修改路径为:"weights_dir": "~/weight/autofold/"

# 加载pytorch运行环境
ssh c007
module load cuda/11.3 RFDesign

# 运行hallucinate.py
python3 ~/RFDesign/hallucination/hallucinate.py --pdb=2KL8.pdb \
        --mask=20-25,A12-26,5-15,A51-68,0-5 --out=output \
        --num=100 --steps=g600

# 运行inpaint.py
python3 ~/RFDesign/rfdesign/inpainting/inpaint.py \
        --task hal --checkpoint v02 --pdb=2KL8.pdb --out=output/inpaint_test \
        --window=A,20,25 --num_designs 1 --inf_method=multi_shot --n_iters 10 \
        --recycle_str_mode both --clamp_1d 0.1 --dump_all