Home

Awesome

DeepDrugCoder (DDC): Heteroencoder for molecular encoding and de novo generation

Python 3.6 License: GPL v3 DOI

NOTE: The code now only supports tensorflow-gpu >= 2.0.


Code for the purposes of Direct Steering of de novo Molecular Generation using Descriptor Conditional Recurrent Neural Networks (cRNNs).

Cheers if you were brought here by this blog post. If not, give it a read :)


Deep learning has acquired considerable momentum over the past couple of years in the domain of de-novo drug design. Particularly, transfer and reinforcement learning have demonstrated the capability of steering the generative process towards chemical regions of interest. In this work, we propose a simple approach to the focused generative task by constructing a conditional recurrent neural network (cRNN). For this purpose, we aggregate selected molecular descriptors along with a QSAR-based bioactivity label and transform them into initial LSTM states before starting the generation of SMILES strings that are focused towards the aspired properties. We thus tackle the inverse QSAR problem directly by training on molecular descriptors, instead of iteratively optimizing around a set of candidate molecules. The trained cRNNs are able to generate molecules near multiple specified conditions, while maintaining an output that is more focused than traditional RNNs yet less focused than autoencoders. The method shows promise for applications in both scaffold hoping and ligand series generation, depending on whether the cRNN is trained on calculated scalar molecular properties or structural fingerprints. This also demonstrates that fingerprint-to-molecule decoding is feasible, leading to molecules that are similar – if not identical – to the ones the fingerprints originated from. Additionally, the cRNN is able to generate a larger fraction of predicted active compounds against the DRD2 receptor when compared to an RNN trained with the transfer learning model.

Only a GPU version of the model is supported. You need access to a GPU to use it.

Please refer to the demo notebooks for usage details.

Figure from manuscript


Custom Dependencies

Installation

Usage

conda activate ddc_env
from ddc_pub import ddc_v3 as ddc

Methods

Issues

Please report all installation / usage issues by opening an issue at this repo.

Cite

Kotsias, P.-C. et al. Direct steering of de novo molecular generation with descriptor conditional recurrent neural networks. Nat. Mach. Intell. 2, (2020)

or in bibtex:

@article{Kotsias2020,
  isbn = {4225602001},
  issn = {2522-5839},
  journal = {Nature Machine Intelligence},
  number = {May},
  publisher = {Springer US},
  title = {Direct steering of de novo molecular generation with descriptor conditional recurrent neural networks},
  url = {https://doi.org/10.1038/s42256-020-0174-5},
  volume = {2},
  year = {2020}
}