
Среда Conda может быть построена с помощью env.yaml : YAML:
conda env create -f env.yaml Коды протестированы с помощью CUDA версии 11.7 и Pytorch версии 1.13.1 .
Не забудьте активировать среду, прежде чем запустить коды:
conda activate PepGLADPyrosetta используется для расчета энергии раздела сгенерированных пептидов. Если вы заинтересованы в этом, пожалуйста, следуйте инструкции здесь для установки.
Эти наборы данных используются только для сравнительных моделей. Если вы просто хотите использовать обученные веса для вывода в ваших случаях, нет необходимости загружать эти наборы данных.
Наборы данных, которые первоначально представлены в этой статье, загружаются в Zenodo по этому URL. Вы можете скачать их следующим образом:
mkdir datasets # all datasets will be put into this directory
wget https://zenodo.org/records/13373108/files/train_valid.tar.gz ? download=1 -O ./datasets/train_valid.tar.gz # training/validation
wget https://zenodo.org/records/13373108/files/LNR.tar.gz ? download=1 -O ./datasets/LNR.tar.gz # test set
wget https://zenodo.org/records/13373108/files/ProtFrag.tar.gz ? download=1 -O ./datasets/ProtFrag.tar.gz # augmentation datasettar zxvf ./datasets/train_valid.tar.gz -C ./datasets
tar zxvf ./datasets/LNR.tar.gz -C ./datasets
tar zxvf ./datasets/ProtFrag.tar.gz -C ./datasetspython -m scripts.data_process.process --index ./datasets/train_valid/all.txt --out_dir ./datasets/train_valid/processed # train/validation set
python -m scripts.data_process.process --index ./datasets/LNR/test.txt --out_dir ./datasets/LNR/processed # test set
python -m scripts.data_process.process --index ./datasets/ProtFrag/all.txt --out_dir ./datasets/ProtFrag/processed # augmentation dataset Индекс обработанных данных для разделений поезда/валидации необходимо сгенерировать следующим образом, что приведет к datasets/train_valid/processed/train_index.txt и datasets/train_valid/processed/valid_index.txt :
python -m scripts.data_process.split --train_index datasets/train_valid/train.txt --valid_index datasets/train_valid/valid.txt --processed_dir datasets/train_valid/processed/wget http://huanglab.phys.hust.edu.cn/pepbdb/db/download/pepbdb-20200318.tgz -O ./datasets/pepbdb.tgztar zxvf ./datasets/pepbdb.tgz -C ./datasets/pepbdbpython -m scripts.data_process.pepbdb --index ./datasets/pepbdb/peptidelist.txt --out_dir ./datasets/pepbdb/processed
python -m scripts.data_process.split --train_index ./datasets/pepbdb/train.txt --valid_index ./datasets/pepbdb/valid.txt --test_index ./datasets/pepbdb/test.txt --processed_dir datasets/pepbdb/processed/
mv ./datasets/pepbdb/processed/pdbs ./dataset/pepbdb # re-locate./checkpoint/codesign.ckpt./checkpoints/fixseq.ckptОба могут быть загружены на странице релиза. Эти контрольно -пропускные пункты были обучены на пепбенч.
Взять ./assets/1ssc_A_B.pdb в качестве примера, где цепь A является целевым белком:
# obtain the binding site, which might also be manually crafted or from other ligands (e.g. small molecule, antibodies)
python -m api.detect_pocket --pdb assets/1ssc_A_B.pdb --target_chains A --ligand_chains B --out assets/1ssc_A_pocket.json
# sequence-structure codesign with length in [8, 15)
CUDA_VISIBLE_DEVICES=0 python -m api.run
--mode codesign
--pdb assets/1ssc_A_B.pdb
--pocket assets/1ssc_A_pocket.json
--out_dir ./output/codesign
--length_min 8
--length_max 15
--n_samples 10 Тогда 10 поколений будут выведены под папкой ./output/codesign .
Взять ./assets/1ssc_A_B.pdb в качестве примера, где цепь A является целевым белком:
# obtain the binding site, which might also be manually crafted or from other ligands (e.g. small molecule, antibodies)
python -m api.detect_pocket --pdb assets/1ssc_A_B.pdb --target_chains A --ligand_chains B --out assets/1ssc_A_pocket.json
# generate binding conformation
CUDA_VISIBLE_DEVICES=0 python -m api.run
--mode struct_pred
--pdb assets/1ssc_A_B.pdb
--pocket assets/1ssc_A_pocket.json
--out_dir ./output/struct_pred
--peptide_seq PYVPVHFDASV
--n_samples 10 Затем 10 конформаций будут выведены под папкой ./output/struct_pred .
Каждое задание требует следующих шагов, которые мы интегрировали в скрипт ./scripts/run_exp_pipe.sh :
С другой стороны, если вы хотите оценить существующие контрольные точки, пожалуйста, следуйте приведенным ниже инструкциям (например, генерация конформации):
# generate results on the test set and save to ./results/fixseq
python generate.py --config configs/pepbench/test_fixseq.yaml --ckpt checkpoints/fixseq.ckpt --gpu 0 --save_dir ./results/fixseq
# calculate metrics
python cal_metrics.py --results ./results/fixseq/results.jsonlКодовые эксперименты на Pepbench:
GPU=0 bash scripts/run_exp_pipe.sh pepbench_codesign configs/pepbench/autoencoder/train_codesign.yaml configs/pepbench/ldm/train_codesign.yaml configs/pepbench/ldm/setup_latent_guidance.yaml configs/pepbench/test_codesign.yamlЭксперименты по производству конформации на Pepbench:
GPU=0 bash scripts/run_exp_pipe.sh pepbench_fixseq configs/pepbench/autoencoder/train_fixseq.yaml configs/pepbench/ldm/train_fixseq.yaml configs/pepbench/ldm/setup_latent_guidance.yaml configs/pepbench/test_fixseq.yamlСпасибо за ваш интерес к нашей работе!
Пожалуйста, не стесняйтесь задавать о любых вопросах об алгоритмах, кодах, а также о проблемах, возникающих при их управлении, чтобы мы могли сделать это более ясным и лучше. Вы можете либо создать проблему в репо Github, либо связаться с нами по адресу [email protected].
@article { kong2024full ,
title = { Full-atom peptide design with geometric latent diffusion } ,
author = { Kong, Xiangzhe and Huang, Wenbing and Liu, Yang } ,
journal = { arXiv preprint arXiv:2402.13555 } ,
year = { 2024 }
}