conda create -n ppflow python==3.9
conda activate ppflow
# install requirements
pip install -r requirements.txt
pip install easydict
pip install biopython
# mmseq
conda install bioconda::mmseqs2
# Alternative: obabel and RDkit
conda install -c openbabel openbabel
conda install conda-forge::rdkit
# Alternative for visualization: py3dmol
conda install conda-forge::py3dmol
# torch-geomstats
conda install -c conda-forge geomstats
# torch-scatter
pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.0+cu117.html
# OR: stable torch-scatter
pip install ./temp/torch_scatter-2.1.1+pt113cu117-cp39-cp39-linux_x86_64.whl
Google 드라이브를 통해 PPBench2024 의 처리 된 데이터 세트와 처리 된 'PPDBench'를 제공합니다.
data.zip 다운로드하고 압축을 풀고 데이터 파일 디렉토리로 연결하십시오.
- data
- processed
cluster_result_all_seqs.fasta
cluster_result_cluster.tsv
cluster_result_rep_seq.fasta
parsed_pair.pt
receptor_sequences.fasta
split.pt
- processed_bench
cluster_result_all_seqs.fasta
cluster_result_cluster.tsv
cluster_result_rep_seq.fasta
parsed_pair.pt
receptor_sequences.fasta
split.pt
pdb_benchmark.pt
pdb_filtered.pt
전처리를 위해 원시 데이터 세트를 원한다면 Google 드라이브를 통해 다운로드하십시오. datasets_raw.zip 의 파일을 압축 해제하고 디렉토리로 연결하십시오.
- dataset
- PPDbench
- 1cjr
peptide.pdb
recepotor.pdb
- 1cka
peptide.pdb
recepotor.pdb
...
- ppbench2024
- 1a0m_A
peptide.pdb
recepotor.pdb
ppflow 교육을 위해 다음 명령을 실행하십시오.
python train_ppf.py
DIFFPP 교육을 위해 다음 명령을 실행하십시오.
python train_diffpp.py
RDE FINETUNING의 경우 먼저 Google 드라이브에서 사전 RDE.pt 모델을 다운로드 한 다음 ./pretrained/RDE.pt 로 저장 한 다음 마지막으로 FinetUning을 위해 다음 명령을 실행해야합니다.
python train_rde.py --fine_tune ./pretrained/RDE.pt
python codesign_diffpp.py -ckpt {where-the-trained-ckpt-is}
python codesign_ppflow.py -ckpt {where-the-trained-ckpt-is}
여기에서는 ppflow_pretrained.pt 로 명명 된 사전 추방 점검 점을 제공하며 Google 드라이브에서 다운로드 할 수 있습니다. 직접 다운로드하여 ./pretrained/ppflow_pretrained.pt 에 복사 할 수 있습니다. 또한 다음을 세대로 실행하십시오.
python codesign_diffpp.py -ckpt ./pretrained/ppflow_pretrained.pt
펩티드를 직접 평가하려면 Google 드라이브의 codesign_results.tar.gz 로 펩티드를 제공합니다.
| IMP%-S (↑) | 유효성 (↑) | 참신 (↑) | 다양성 |
|---|---|---|---|
| 12.50% | 1.00 | 0.99 | 0.92 |
_bb4.pdb 의 O 요소가 재구성 함수에서 불안정하기 때문에 생성 된 PDB로 _bb3.pdb 로 끝나는 파일을 평가해야합니다.
conda install conda-forge::vina
pip install meeko
pip install git+https://github.com/Valdes-Tresanco-MS/AutoDockTools_py3.git@aee55d50d5bdcfdbcd80220499df8cde2a8f4b2a
pip install pdb2pqr
./tools/dock/vinadock.py Vinadock에 대한 Python 인터페이스의 예를 제공합니다.
apt-get install -y libfftw3-3 갖춘 HDOCK에는 libfftw3가 필요합니다. 또한 hdock 소프트웨어는 http://huanglab.phys.hust.edu.cn/software/hdocklite/를 통해 다운로드 할 수 있습니다. 다운로드 한 후 ./bin 디렉토리로 설치하거나 압축을 풀어 파일 구조로 - bin
- hdock
1CGl_l_b.pdb
1CGl_r_b.pdb
createpl
hdock
./tools/dock/hdock.py HDOCK에 대한 Python 인터페이스의 예를 제공합니다.
conda config --add channels https://yourauthorizedid:[email protected]
conda install pyrosetta
./tools/relax/rosetta_packing.py Rosetta 사이드 체인 포장을위한 Python 인터페이스의 예를 제공합니다.
./bin 으로 복사해야합니다. 그런 다음 감금을 풀면 디렉토리가 - bin
- FoldX
foldx
여기서 Foldx는 소프트웨어입니다. ./tools/score/foldx_energy.py Foldx 안정성을위한 Python 인터페이스의 예를 제공합니다.
./bin 에서 사용 가능한 ADFrsuite 소프트웨어를 제공합니다. 시스템과 호환되지 않으면 https://ccsb.scripps.edu/adcp/downloads/를 통해 설치하십시오. ADFRsuite_x86_64Linux_1.0.tar 를 ./bin 으로 복사하십시오. 마지막으로 설치된 ADCP에 ./bin 이 모양이되어야합니다 - bin
- ADFRsuite_x86_64Linux_1.0
- Tools
CCSBpckgs.tar.gz
...
ADFRsuite_Linux-x86_64_1.0_install.run
uninstall
당신의 env-path에 그것을 추가해야합니다
export PATH={Absolute-path-of-ppfolw}/bin/ADFRsuite_x86_64Linux_1.0/bin:$PATH
./tools/dock/adcpdock.py adcpdocking을위한 Python 인터페이스의 예를 제공합니다.
./bin 에 제공됩니다. - bin
- TMscore
TMscore
TMscore.cpp
먼저, ./bin 으로 복제하십시오
cd ./bin
git clone https://github.com/pharmai/plip.git
cd plip
python setup.py install
alias plip='python {Absolute-path-of-ppfolw}/bin/plip/plip/plipcmd.py'
./tools/interaction/interaction_analysis.py PLIP 상호 작용 분석을위한 Python 인터페이스의 예를 제공합니다.
평가 스크립트는 ./evaluation 디렉토리에 나와 있으며 주요 실험에서 평가를 위해 다음을 실행할 수 있습니다.
# Evaluting the docking energy
python eval_bind.py --gen_dir {where-the-generated-peptide-is} --ref_dir {where-the-protein-pdb-is} --save_path {where-you-want-the-docked-peptide-to-be-saved-in}
# Evaluating the sequence and structure
python eval_bind.py --gen_dir {where-the-generated-peptide-is} --ref_dir {where-the-protein-pdb-is} --save_path {where-you-want-the-docked-peptide-to-be-saved-in}
우리는 예제 파일 쌍을 제공하므로 gen_dir ./results/ppflow/codesign_ppflow/0008_3tzy_2024_01_19__19_16_21 일 수 있습니다. ref_dir ./PPDbench/3tzy/ 및 save_path 될 수 있습니다. ./results/ppflow/codesign_ppflow/0008_3tzy_2024_01_19__19_16_21 .
저희 논문 또는 저장소의 코드가 도움이되면 다음을 인용하십시오.
@inproceedings{lin2024ppflow,
author = {Lin, Haitao and Zhang, Odin and Zhao, Huifeng and Jiang, Dejun and Wu, Lirong and Liu, Zicheng and Huang, Yufei and Li, Stan Z.},
title = {PPFlow: Target-Aware Peptide Design with Torsional Flow Matching},
year = {2024},
booktitle={International Conference on Machine Learning},
URL = {https://www.biorxiv.org/content/early/2024/03/08/2024.03.07.583831},
eprint = {https://www.biorxiv.org/content/early/2024/03/08/2024.03.07.583831.full.pdf},
}