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
Wir stellen den verarbeiteten Datensatz von PPBench2024 über Google Drive zusammen mit verarbeiteten "ppdbench" bereit.
Bitte laden Sie data.zip und entpacken Sie es, was zum Datendateiverzeichnis führt
- 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
Wenn Sie die RAW -Datensätze für die Vorverarbeitung wünschen, laden Sie sie bitte über Google Drive herunter. Entpacken Sie die Datei von datasets_raw.zip , was zum Verzeichnis führt
- dataset
- PPDbench
- 1cjr
peptide.pdb
recepotor.pdb
- 1cka
peptide.pdb
recepotor.pdb
...
- ppbench2024
- 1a0m_A
peptide.pdb
recepotor.pdb
Führen Sie den folgenden Befehl für PPFlow -Training aus:
python train_ppf.py
Führen Sie den folgenden Befehl für das Diffpp -Training aus:
python train_diffpp.py
Für die RDE -Finetuning sollten Sie zunächst das vorgezogene RDE.pt -Modell aus dem Google -Laufwerk herunterladen, es dann als ./pretrained/RDE.pt speichern und schließlich den folgenden Befehl für die Finetuning ausführen:
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}
Hier geben wir die vorgenannten Checkpoints an, namens ppflow_pretrained.pt und können vom Google Drive heruntergeladen werden. Sie können es direkt herunterladen und kopieren in ./pretrained/ppflow_pretrained.pt . Führen Sie die Folgende zur Generation aus:
python codesign_diffpp.py -ckpt ./pretrained/ppflow_pretrained.pt
Wenn Sie die Peptide direkt bewerten möchten, stellen wir die Peptide als codesign_results.tar.gz aus unserem Google Drive an, das aus 100 Proben / Proteinstruktur zur stabileren Bewertung besteht
| Imp%-S (↑) | Gültigkeit (↑) | Neuheit (↑) | Diversität |
|---|---|---|---|
| 12,50% | 1.00 | 0,99 | 0,92 |
Sie sollten Dateien bewerten, die mit _bb3.pdb als generiertes PDB enden, da das O -Element in _bb4.pdb in unserer Rekonstruktionsfunktion instabil ist.
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 gibt ein Beispiel für unsere Python -Schnittstelle für Vinadock.
apt-get install -y libfftw3-3 benötigt. Außerdem kann die HDock -Software durch: http://huanglab.phys.hust.edu.cn/software/hdocklite/ heruntergeladen werden. Installieren oder entpacken Sie es nach dem Herunterladen in das Verzeichnis ./bin , was zur Dateistruktur als führt - bin
- hdock
1CGl_l_b.pdb
1CGl_r_b.pdb
createpl
hdock
./tools/dock/hdock.py gibt ein Beispiel für unsere Python -Schnittstelle für Hdock.
conda config --add channels https://yourauthorizedid:[email protected]
conda install pyrosetta
./tools/relax/rosetta_packing.py gibt ein Beispiel für unsere Python-Schnittstelle für Rosetta Side Chain Packing.
./bin kopieren. Dann entpacken Sie es, was das Verzeichnis dazu veranlasst, nach auszusehen - bin
- FoldX
foldx
Wo Foldx die Software ist. ./tools/score/foldx_energy.py gibt ein Beispiel für unsere Python -Schnittstelle für die Foldx -Stabilität.
./bin . Wenn es nicht mit Ihrem System kompatibel ist, installieren Sie es bitte über https://ccsb.scripps.edu/adcp/downloads/. Kopieren Sie die ADFRsuite_x86_64Linux_1.0.tar in ./bin . Schließlich sollte der installierte ADCP in ./bin wie aussehen wie - bin
- ADFRsuite_x86_64Linux_1.0
- Tools
CCSBpckgs.tar.gz
...
ADFRsuite_Linux-x86_64_1.0_install.run
uninstall
Denken Sie daran, es Ihrem Env-Pfad hinzuzufügen als
export PATH={Absolute-path-of-ppfolw}/bin/ADFRsuite_x86_64Linux_1.0/bin:$PATH
./tools/dock/adcpdock.py gibt ein Beispiel für unsere Python -Schnittstelle für ADCPDocking.
./bin , wie - bin
- TMscore
TMscore
TMscore.cpp
Zuerst klonen Sie es zu ./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 gibt ein Beispiel für unsere Python -Schnittstelle für die PLIP -Interaktionsanalyse.
Die Bewertungsskripte sind im ./evaluation angegeben. Sie können Folgendes für die Bewertung in den Hauptversuche ausführen:
# 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}
Wir geben ein Beispiel -Dateipaar an, sodass das gen_dir ./results/ppflow/codesign_ppflow/0008_3tzy_2024_01_19__19_16_21 , ref_dir sein kann ./PPDbench/3tzy/ und der save_path kann sein ./results/ppflow/codesign_ppflow/0008_3tzy_2024_01_19__19_16_21 .
Wenn unser Papier oder der Code im Repository für Sie hilfreich ist, geben Sie Folgendes an:
@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},
}