Skip to main content

Python Wrapper for DSDP

Project description

DSDP:A Blind Docking Strategy Accelerated by GPUs

Deep Site and Docking Pose (DSDP) is a blind docking strategy accelerated by GPUs, developed by Gao Group. For the site prediction part, several modifications are introduced to PUResNet program. The pose sampling part is similar as AutoDock Vina combined with a number of modifications.

This repository contains code, instructions, dataset and model weights necessary to run the method.

Installation

The source code is available on Linux systems (tested on Ubuntu 20.04, 22.04) .

NVCC is required for compilation, please install Cuda Toolkit and make sure it is in the system path. Cuda version would need to be compatible with g++ and torch.

Please set up the python environment by Anaconda.

Create a new environment by DSDP.yml :

conda env create -f DSDP.yml

You need to check the version of torch to match your cuda environment. If needed, please change the torch version directly in the DSDP.yml file.

Activate the environment

conda activate DSDP

Installation of the redocking program

cd DSDP_redocking
make
cd ..

Once you need to compile again, please run make clean && make .

Installation of the blind docking program

cd protein_feature_tool
g++ protein_feature_tool.cpp -o protein_feature_tool
cd ..

cd surface_tool
make 
cd ..

cd DSDP_blind_docking
make
cd ..

Dataset

The files in test_dataset contain three datasets, namely, DSDP_dataset, DUD-E dataset and PDBBind time split dataset.

For each complex you want to predict, you need a directory containing the ligand and protein file. For example:

DSDP_dataset
└───name1
    │   name1_protein.pdbqt
    │   name1_ligand.pdbqt
└───name2
    │   name2_protein.pdbqt
    │   name2_ligand.pdbqt
...

Input files of DSDP are pdbqt format, which can be generated by AutoDock Tools.

Run DSDP

DSDP is an integrated docking program developed for blind docking, which can also be used for redocking task. We support pdbqt input format in DSDP. You can generate it from pdb file by AutoDock Tools.

Blind docking

For blind docking task, run:

python DSDP_blind_docking.py \
--dataset_path ./test_dataset/DSDP_dataset/ \
--dataset_name DSDP_dataset \
--site_path ./results/DSDP_dataset/site_output/ \
--exhaustiveness 384 --search_depth 40 --top_n 1 \
--out ./results/DSDP_dataset/docking_results/ \
--log ./results/DSDP_dataset/docking_results/

Options (see --help)

  • --dataset_path: Path to the dataset file, please put the pdbqt documents of protein and ligand to one folder
  • --dataset_name: Name of the test dataset
  • --site_path: Output path of the site
  • --exhaustiveness: Number of sampling threads
  • --search_depth: Number of sampling steps
  • --top_n: Top N results are exported
  • --out: Output path of DSDP
  • --log: Log path of DSDP

Redocking

For redocking task, run:

./DSDP_redocking/DSDP \
--ligand ./test_dataset/DSDP_dataset/1a2b/1a2b_ligand.pdbqt \
--protein ./test_dataset/DSDP_dataset/1a2b/1a2b_protein.pdbqt \
--box_min 2.241 20.008 21.314 \
--box_max 24.744 35.470 38.495 \
--exhaustiveness 384 --search_depth 40 --top_n 1  \
--out ./results/DSDP_dataset/redocking/1a2b_out.pdbqt \
--log ./results/DSDP_dataset/redocking/1a2b_out.log

Note: the box information (minima and maxima along x y z axis) of redocking needs to be provided by users. The box information of this example is only suitable for 1a2b protein.

  • --ligand: File name of ligand
  • --protein: File name of protein
  • --box_min: x y z minima of box
  • --box_max: x y z maxima of box
  • --exhaustiveness: Number of sampling threads, default 384
  • --search_depth: Number of sampling steps, default 40
  • --top_n: Top N results are exported, default 10
  • --out: Output file name of redocking, default 'OUT.pdbqt'
  • --log: Log file name of redocking, default 'OUT.log'

Also, the --help command is provided to print massage about the arguments. This is supported in the new version at 2023/9/26, in which we also changed the name of arguments, e. g., -ligand to --ligand.

Train DSDP

The binding site prediction part of DSDP is modified according to PUResNet. The file train_example contains the script to train the model used in the present work. It should be noted that the train dataset in this file is just an example. The whole train dataset is a subset of PDBBind which is used in EquiBind (https://arxiv.org/abs/2202.05146). You can download this dataset from their website: https://zenodo.org/record/6408497.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dsdp-0.1.tar.gz (51.9 MB view details)

Uploaded Source

Built Distributions

dsdp-0.1-cp39-cp39-win_amd64.whl (52.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

dsdp-0.1-cp39-cp39-manylinux_2_34_x86_64.whl (52.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.34+ x86-64

File details

Details for the file dsdp-0.1.tar.gz.

File metadata

  • Download URL: dsdp-0.1.tar.gz
  • Upload date:
  • Size: 51.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.0

File hashes

Hashes for dsdp-0.1.tar.gz
Algorithm Hash digest
SHA256 40283962086c61c7b667d1d0ce80871c5603200d66be474fa14b44a3426c696f
MD5 a2ca5bbc8f7353f15bfe111d7fc1cd2f
BLAKE2b-256 89763e7f2654929fe5ae219e42e6160f62a7a0e537340fe42e36649f6e202406

See more details on using hashes here.

File details

Details for the file dsdp-0.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: dsdp-0.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 52.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.0

File hashes

Hashes for dsdp-0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 32bd12b4da7ad4e89d95c31c587fcb082421422da763cf634a0a360fa9f06970
MD5 4d80a964557ded3a46fb840e40c682e9
BLAKE2b-256 3dec52964f5bf9a67550bfb13b9311454fc93d0209b97ac452179ea017fa97e8

See more details on using hashes here.

File details

Details for the file dsdp-0.1-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for dsdp-0.1-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 cacccbee46ef9eaa2e0aba235175e1da2a0c79d63be59eea13b4234b61775336
MD5 872765d3898f7fa21b57d3ecdeaad1af
BLAKE2b-256 abc6b54cf878dc484545cd0bc1706e4d9a3bd1a3eb7ca2c93f0fc9db0f914273

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page