
สภาพแวดล้อม conda สามารถสร้างได้ด้วยการกำหนดค่า env.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สามารถดาวน์โหลดได้ทั้งสองอย่างที่หน้ารุ่น จุดตรวจเหล่านี้ได้รับการฝึกฝนบน Pepbench
ใช้ ./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 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 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 Repo หรือติดต่อเราได้ที่ [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 }
}