GithubHelp home page GithubHelp logo

souvik-snh / deepdelta Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rekerlab/deepdelta

0.0 0.0 0.0 160.85 MB

DeepDelta is a pairwise deep learning approach that processes two molecules simultaneously and learns to predict property differences between two molecules.

License: Other

Python 100.00%

deepdelta's Introduction

DeepDelta7

Overview

DeepDelta is a pairwise deep learning approach that processes two molecules simultaneously and learns to predict property differences between two molecules.

image Figure 1: Traditional and Pairwise Architectures. (A) Traditional molecular machine learning models take singular molecular inputs and predict absolute properties of molecules. Predicted property differences can be calculated by subtracting predicted values for two molecules. (B) Pairwise models train on differences in properties from pairs of molecules to directly predict property changes of molecular derivatizations. (C) Molecules are cross-merged to create pairs only after cross-validation splits to prevent the risk of data leakage during model evaluation. Through this, every molecule in the dataset can only occur in pairs in the training or testing data but not both.

On 10 pharmacokinetic benchmark tasks, our DeepDelta approach outperforms two established molecular machine learning algorithms, the message passing neural network (MPNN) ChemProp and Random Forest using radial fingerprints.

We also derive three simple computational tests of our models based on first mathematical principles and show that compliance to these tests correlate with overall model performance โ€“ providing an innovative, unsupervised, and easily computable measure of expected model performance and applicability.

1. With same molecule for both inputs, predictions should be zero:

$$DeepDelta(x,x)= 0$$

2. With swapped input molecules, predictions should be inversed:

$$DeepDelta(x,y)= - DeepDelta(y,x)$$

3. Predicted difference between three molecules should be additive:

$$DeepDelta(x,y) + DeepDelta(y,z)= DeepDelta(x,z)$$

For more information, please refer to the associated publication

If you use this data or code, please kindly cite: Fralish, Z., Chen, A., Skaluba, P. et al. DeepDelta: predicting ADMET improvements of molecular derivatives with deep learning. J Cheminform 15, 101 (2023). https://doi.org/10.1186/s13321-023-00769-x


Requirements

Comparison Models

Given the larger size of delta datasets, we recommend using a GPU for significantly faster training.

To use ChemProp with GPUs, you will need:

  • cuda >= 8.0
  • cuDNN

Descriptions of Folders

Code

Python code for evaluating DeepDelta and traditional models based on their ability to predict property differences between two molecules.

Datasets

Curated data for 10 ADMET property benchmarking training sets and 2 external test sets.

Results

Results from 5x10-fold cross-validation that are utilized in further analysis.


License

The copyrights of the software are owned by Duke University. As such, two licenses for this software are offered:

  1. An open-source license under the GPLv2 license for non-commercial academic use.
  2. A custom license with Duke University, for commercial use or uses without the GPLv2 license restrictions.

deepdelta's People

Contributors

zacharyfralish avatar

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.