
El entorno de conda se puede construir con la configuración env.yaml :
conda env create -f env.yaml Los códigos se prueban con CUDA versión 11.7 y Pytorch versión 1.13.1 .
No olvide activar el entorno antes de ejecutar los códigos:
conda activate PepGLADPyrosetta se usa para calcular la energía de la interfaz de los péptidos generados. Si está interesado en él, siga las instrucciones aquí para instalar.
Estos conjuntos de datos solo se usan para modelos de evaluación comparativa. Si solo desea utilizar los pesos capacitados para inferencias en sus casos, no es necesario descargar estos conjuntos de datos.
Los conjuntos de datos, que se introducen originalmente en este documento, se cargan a Zenodo en esta URL. Puedes descargarlos de la siguiente manera:
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 El índice de datos procesados para divisiones de trenes/validación debe generarse de la siguiente manera, lo que dará como resultado datasets/train_valid/processed/train_index.txt y 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.ckptAmbos se pueden descargar en la página de lanzamiento. Estos puntos de control fueron entrenados en Pepbench.
Tomar ./assets/1ssc_A_B.pdb como ejemplo, donde la cadena A es la proteína objetivo:
# 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 Luego, se producirán 10 generaciones en la carpeta ./output/codesign .
Tomar ./assets/1ssc_A_B.pdb como ejemplo, donde la cadena A es la proteína objetivo:
# 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 Luego se emitirán 10 conformaciones en la carpeta ./output/struct_pred .
Cada tarea requiere los siguientes pasos, que hemos integrado en el script ./scripts/run_exp_pipe.sh :
Por otro lado, si desea evaluar los puntos de control existentes, siga las instrucciones a continuación (por ejemplo, generación de conformación):
# 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.jsonlExperimentos de CodeSign en 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.yamlExperimentos de generación de conformación en 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¡Gracias por su interés en nuestro trabajo!
No dude en hacer cualquier pregunta sobre los algoritmos, los códigos, así como los problemas encontrados para ejecutarlos para que podamos aclararlo. Puede crear un problema en el repositorio de GitHub o contactarnos en [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 }
}