Giter Site home page Giter Site logo

zjujdj / ign Goto Github PK

View Code? Open in Web Editor NEW
29.0 3.0 2.0 32.72 MB

InteractionGraphNet: a Novel and Efficient Deep Graph Representation Learning Framework for Accurate Protein-Ligand Interaction Predictions

License: Apache License 2.0

Python 100.00%

ign's Introduction

InteractionGraphNet(IGN)

a Novel and Efficient Deep Graph Representation Learning Framework for Accurate Protein-Ligand Interaction Predictions. Accurate quantification of protein-ligand interactions remains a key challenge to structure-based drug design. However, traditional machine learning-based methods based on hand-crafted descriptors, one-dimensional protein sequences and/or twodimensional graph representations limit their capability to learn the generalized molecular interactions in 3D space. Here we proposed a novel deep graph representation learning framework named InteractionGraphNet (IGN) to learn the protein-ligand interaction patterns from the 3D structures of protein-ligand complexes in an end-to-end manner. In IGN, two independent graph convolution modules were stacked to sequentially learn the intramolecular and intermolecular interactions, and only the readouts from the intermolecular convolution module were accepted to force IGN to capture the protein-ligand interactions in 3D space. Extensive binding affinity prediction, large-scale structure-based virtual screening and pose prediction experiments demonstrated that IGN achieved better or competitive performance against other state-of-the-art ML-based baselines and docking programs, highlighting the great superiority of IGN compared to the other baselines. More importantly, such state-of-the-art performance was proved from the successful generalization of truly learning protein-ligand interaction patterns instead of just memorizing certain biased patterns from proteins or ligands. This source code was tested on the basic environment with conda==4.5.4 and cuda==11.0

Image text

Conda Environment Reproduce

Two methods were provided for reproducing the conda environment used in this paper

  • create environment using file packaged by conda-pack

    Download the packaged file dgl430_v1.tar.gz and following commands can be used:

    mkdir /opt/conda_env/dgl430_v1
    tar -xvf dgl430_v1.tar.gz -C /opt/conda_env/dgl430_v1
    source activate /opt/conda_env/dgl430_v1
    conda-unpack
  • create environment using files provided in ./envs directory

    The following commands can be used:

    conda create --prefix=/opt/conda_env/dgl430_v1 --file conda_packages.txt
    source activate /opt/conda_env/dgl430_v1
    pip install torch==1.3.1+cu92 torchvision==0.4.2+cu92 -f https://download.pytorch.org/whl/torch_stable.html
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    pip install -r pip_packages.txt

Usage

Users can directly use our well-trained model (depoisted in ./model_save/ directory) to predict the binding affinityies of protein-ligand complexes. Other functions including pose prediction, structure-based virtual screening, and train the customized binding model is available in the future.

  • step 1: Clone the Repository
git clone https://github.com/zjujdj/IGN.git
  • step 2: Construction of Conda Environment
# method1 in 'Conda Environment Reproduce' section
mkdir /opt/conda_env/dgl430_v1
tar -xvf dgl430_v1.tar.gz -C /opt/conda_env/dgl430_v1
source activate /opt/conda_env/dgl430_v1
conda-unpack

# method2 in 'Conda Environment Reproduce' section
cd ./IGN/envs
conda create --prefix=/opt/conda_env/dgl430_v1 --file conda_packages.txt
source activate /opt/conda_env/dgl430_v1
pip install torch==1.3.1+cu92 torchvision==0.4.2+cu92 -f https://download.pytorch.org/whl/torch_stable.html
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r pip_packages.txt
  • step 3: Binding Affinity Prediction
cd ./IGN/scripts
python3 model_ign_prediction.py --test_file_path='../input_data/user1'
  • step 4: Other functions
will see you soon

Acknowledgement

Some scripts were based on the dgl project. We'd like to show our sincere thanks to them.

ign's People

Contributors

zjujdj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zengydd ashtawy

ign's Issues

求二分类相关部分复现代码

非常感谢您提供DTI预测的代码,不知是否可以提供用DUD-E做训练集,用dekois做外部测试集相关部分的二分类代码或示例,以及使用dekois作为外部测试集时测试auc-prc指标的输入示例,非常感谢!

RuntimeError: CUDA error: no kernel image is available for execution on the device

非常感谢您分享关于DTI预测的代码。在复现测试的过程遇到问题RuntimeError: CUDA error: no kernel image is available for execution on the device。好像是cuda和pytorch版本不对应的报错
下面是我的运行环境配置:
cudatoolkit 10.2.89
dgl 0.4.3post2
dgl-cuda10.2 0.4.3post2
dgllife 0.2.6
python 3.7.11
pytorch 1.7.0

您提供的google网盘的dgl下载国内下载到一半总是报错。可否能提供百度网盘或其他下载方式?非常感谢

关于train.py的问题

您好,请问下在训练部分您的complex_path是生成的复合物的pkl文件的集合吗?但是如果是直接包含pkl文件的话,运行会报错。所以想请问下complex_path文件具体是什么样的内容,感谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.