Skip to content

OpenChem: Deep Learning toolkit for Computational Chemistry and Drug Design Research

License

Notifications You must be signed in to change notification settings

Mariewelt/OpenChem

Repository files navigation

OpenChem

OpenChem

OpenChem is a deep learning toolkit for Computational Chemistry with PyTorch backend. The goal of OpenChem is to make Deep Learning models an easy-to-use tool for Computational Chemistry and Drug Design Researchers.

Main features

  • Modular design with unified API, modules can be easily combined with each other.
  • OpenChem is easy-to-use: new models are built with only configuration file.
  • Fast training with multi-gpu support.
  • Utilities for data preprocessing.
  • Tensorboard support.

Documentation

Check out OpenChem documentation here.

Supported functionality

Tasks:

  • Classification (binary or multi-class)
  • Regression
  • Multi-task (such as N binary classification tasks)
  • Generative models

Data types

  • Sequences of characters such as SMILES strings or amino-acid sequences
  • Molecular graphs. OpenChem takes care of converting SMILES strings into molecular graphs

Modules:

  • Token embeddings
  • Recurrent neural network encoders
  • Graph convolution neural network encoders
  • Multi-layer perceptrons

We are working on populating OpenChem with more models and other building blocks.

Installation

Requirements

In order to get started you need:

General installation

If you installed your Python with Anaconda you can run the following commands to get started:

git clone https://github.com/Mariewelt/OpenChem.git
cd OpenChem
conda create --name OpenChem python=3.7
conda activate OpenChem
conda install --yes --file requirements.txt
conda install -c rdkit rdkit nox cairo
conda install pytorch torchvision -c pytorch
pip install -e .

If your CUDA version is older than 9.0, check Pytorch website for different installation instructions.

Installation with Docker

Alternative way of installation is with Docker. We provide a Dockerfile, so you can run your models in a container that already has all the necessary packages installed. You will also need nvidia-docker in order to run models on GPU.

Publications

If you use OpenChem in your projects, please cite:

Korshunova, Maria, et al. "OpenChem: A Deep Learning Toolkit for Computational Chemistry and Drug Design." Journal of Chemical Information and Modeling 61.1 (2021): 7-13.

MolecularRNN model paper:

Popova, Mariya, et al. "MolecularRNN: Generating realistic molecular graphs with optimized properties." arXiv preprint arXiv:1905.13372 (2019).

Acknowledgements

OpenChem was supported by Carnegie Mellon University, the University of North Carolina at Chapel Hill and NVIDIA Corp.

CMU
UNC NVIDIA