OptiMaL-PSE-Lab / DeepDock

Code related to : O. Mendez-Lucio, M. Ahmad, E.A. del Rio-Chanona, J.K. Wegner, A Geometric Deep Learning Approach to Predict Binding Conformations of Bioactive Molecules
MIT License
159 stars 26 forks source link

DeepDock

Code related to: O. Mendez-Lucio, M. Ahmad, E.A. del Rio-Chanona, J.K. Wegner, A Geometric Deep Learning Approach to Predict Binding Conformations of Bioactive Molecules, Nature Machine Intelligence volume 3, pages1033–1039 (2021)

Open access preprint available here

Use v1.0.0 to reproduce results reported in the paper

https://user-images.githubusercontent.com/48085126/116097409-68553d80-a6aa-11eb-9426-91713394c3c3.mp4

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact
  6. Acknowledgements

About The Project

This method is based on geometric deep learning and is capable of predicting the binding conformations of ligands to protein targets. Concretely, the model learns a statistical potential based on distance likelihood which is tailor-made for each ligand-target pair. This potential can be coupled with global optimization algorithms to reproduce experimental binding conformations of ligands.

We showed that:

Fig1

Getting Started

Prerequisites

This package runs using Pytorch and Pytorch Geometric. On top it uses standard packages such as pandas and numpy. For the complete list have a look into the requirements.txt file

Using Docker image

  1. Install docker
  2. Pull docker image from DockerHub
    docker pull omendezlucio/deepdock
  3. Launch the container.
    docker run -it omendezlucio/deepdock:latest

Using Dockerfile

To build an image and run it from scratch:

  1. Install docker
  2. Clone repo and move into project folder.
    git clone https://github.com/OptiMaL-PSE-Lab/DeepDock.git
    cd DeepDock
  3. Build the docker image. This takes 20-30 mins to build
    docker build -t deepdock:latest .
  4. Launch the container.
    docker run -it --rm --name deepdock-env deepdock:latest

From source

  1. Clone the repo
    git clone https://github.com/OptiMaL-PSE-Lab/DeepDock.git
  2. Move into the project folder and update submodules
    cd DeepDock
    git submodule update --init --recursive
  3. Install prerequisite packages
    conda install -c conda-forge rdkit=2019.09.1
    pip install -r requirements.txt
  4. Install DeepDock pacakge
    pip install -e .

Data

You can get training and testing data following the next steps.

  1. Move into the project data folder
    cd DeepDock/data
  2. Use the following line to download the preprocessed data used to train and test the model. This will download two files, one containing PDBbind (2.3 GB) used for training and another containing CASF-2016 (32 MB) used for testing. These two files are enough to run all examples.
    source get_deepdock_data.sh
  3. In case you want to reproduce all results of the paper you will need to download the complete CASF-2016 set (~1.5 GB). You can do so with this command line from the data folder.
    source get_CASF_2016.sh

Usage

Usage examples can be seen directly in the jupyter notebooks included in the repo. We added examples for:

License

Distributed under the MIT License. See LICENSE for more information.

Contact

@omendezl and @AntonioE89

Project Link: DeepDock

Acknowledgements