
O ambiente do CONDA pode ser construído com a configuração env.yaml :
conda env create -f env.yaml Os códigos são testados com o CUDA versão 11.7 e Pytorch versão 1.13.1 .
Não se esqueça de ativar o ambiente antes de executar os códigos:
conda activate PepGLADA pirosetta é usada para calcular a energia da interface de peptídeos gerados. Se você estiver interessado, siga as instruções aqui para instalar.
Esses conjuntos de dados são usados apenas para modelos de benchmarking. Se você deseja apenas usar os pesos treinados para inferir seus casos, não há necessidade de baixar esses conjuntos de dados.
Os conjuntos de dados, que são originalmente introduzidos neste artigo, são enviados para o Zenodo neste URL. Você pode baixá -los da seguinte maneira:
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 O índice de dados processados para divisões de trem/validação precisa ser gerado da seguinte maneira, o que resultará em datasets/train_valid/processed/train_index.txt e 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 podem ser baixados na página de lançamento. Esses pontos de verificação foram treinados no Pepbench.
Tome ./assets/1ssc_A_B.pdb como exemplo, onde a cadeia A é a proteína alvo:
# 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 Em seguida, 10 gerações serão emitidas sob a pasta ./output/codesign .
Tome ./assets/1ssc_A_B.pdb como exemplo, onde a cadeia A é a proteína alvo:
# 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 Em seguida, 10 conformações serão emitidas sob a pasta ./output/struct_pred .
Cada tarefa requer as seguintes etapas, que integramos no script ./scripts/run_exp_pipe.sh :
Por outro lado, se você deseja avaliar os pontos de verificação existentes, siga as instruções abaixo (por exemplo, geração de conformação):
# 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 código de código no 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.yamlExperiências de geração de conformação no 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.yamlObrigado pelo seu interesse em nosso trabalho!
Sinta -se à vontade para perguntar sobre qualquer dúvida sobre os algoritmos, códigos e problemas encontrados na executá -los para que possamos torná -lo mais claro e melhor. Você pode criar um problema no repositório do github ou entrar em contato conosco em [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 }
}