Skip to content

biomed-AI/ProTact

Repository files navigation

ProTact

Source code for "Accurate Protein Contact Prediction through Surface-informed Geometric Invariant Learning"

Install requirements

PSAIA

Please follow the DeepInteract#installing-psaia to install the PSAIA tools while the psaia_config_file_input.txt is in ProTact/utils/datasets/builder, and set the psaia_dir in ProTact/utils/data.py.

Genetic databases

In this work, the genetic databases are used to predict the contact map. Follow the DeepInteract#Genetic databases, you can get the genetic databases easily. But the genetic databases are not necessary for the prediction, you can use --no_fast to generate the protein complexes with the genetic databases. If you set the --no_fast, you should change the ProTact/utils/data.py to set the hhsuite_db to your database path.

Environment

Python = 3.9

Python packages listed in environment.yml

To install all the Python packages, create a new conda environment:

conda env create -f environment.yml
conda activate ProTact

PS: If you want to use the GPU, you should install the CUDA version the same with your GPU driver support to make the PyKeops package work, in my opinion.

Data

Our model can input the *.pdb files directly. The *.pdb files can be downloaded from Protein Data Bank.

Reproduce the results

The reproduce_result.py can reproduce our result in the paper.

# Reproduce the DIPS-Plus test dataset result
python reproduce_result.py --dataset dips --model model/best_dips.pt --device cuda:0

# Reproduce the CASP13&14 test dataset result
python reproduce_result.py --dataset casp --model model/best_dips.pt --device cuda:0

# Reproduce the SAbDab test dataset result
python reproduce_result.py --dataset antibody --model model/best_antibody.pt --device cuda:0

Prediction

The predict_oneshot.py can be used to predict the interface residues of a protein complex. The predict_oneshot.py will output the predicted contact map in contact_map.pt format.

python predict_oneshot.py --left_pdb examples/1SDU_A.pdb --right_pdb examples/1SDU_B.pdb --model model/best_dips.pt --device cuda:0

If you set the --no_fast, you should change the ProTact/utils/data.py to set the hhsuite_db to your database path.

python predict_oneshot.py --no_fast --left_pdb examples/1SDU_A.pdb --right_pdb examples/1SDU_B.pdb --model model/best_dips.pt --device cuda:0

The pre-trained model can be downloaded here.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages