/deepchem

Democratizing Deep-Learning for Drug Discovery, Quantum Chemistry, Materials Science and Biology

Primary LanguagePythonMIT LicenseMIT

DeepChem

Anaconda-Server Badge PyPI version Documentation Status
Test for DeepChem Core Test for documents Test for build scripts codecov

Website | Documentation | Colab Tutorial | Discussion Forum | Gitter

DeepChem aims to provide a high quality open-source toolchain that democratizes the use of deep-learning in drug discovery, materials science, quantum chemistry, and biology.

Table of contents:

Requirements

DeepChem currently supports Python 3.7 through 3.8 and requires these packages on any condition.

Soft Requirements

DeepChem has a number of "soft" requirements. If you face some errors like ImportError: This class requires XXXX, you may need to install some packages.

Please check the document about soft requirements.

Installation

Stable version

Please install tensorflow ~2.4 before installing deepchem.

pip install tensorflow~=2.4

Then, you install deepchem via pip or conda.

pip install deepchem

or

conda install -c conda-forge deepchem

RDKit is a soft requirement package, but many useful methods like molnet depend on it. We recommend installing RDKit with deepchem if you use conda.

conda install -y -c conda-forge rdkit

Nightly build version

The nightly version is built by the HEAD of DeepChem.

For using general utilites like Molnet, Featurisers, Datasets, etc, then, you install deepchem via pip.

pip install --pre deepchem

Deepchem provides support for tensorflow, pytorch, jax and each require a individual pip Installation.

For using models with tensorflow dependencies, you install using

pip install --pre deepchem[tensorflow]

For using models with torch dependencies, you install using

pip install --pre deepchem[torch]

For using models with jax dependencies, you install using

pip install --pre deepchem[jax]

If GPU support is required, then make sure CUDA is installed and then install the desired deep learning framework using the links below before installing deepchem

  1. tensorflow - just cuda installed
  2. pytorch - https://pytorch.org/get-started/locally/#start-locally
  3. jax - https://github.com/google/jax#pip-installation-gpu-cuda

In zsh square brackets are used for globbing/pattern matching. This means you need to escape the square brackets in the above installation. You can do so by including the dependencies in quotes like pip install --pre 'deepchem[jax]'

Docker

If you want to install deepchem using a docker, you can pull two kinds of images.
DockerHub : https://hub.docker.com/repository/docker/deepchemio/deepchem

  • deepchemio/deepchem:x.x.x
    • Image built by using a conda (x.x.x is a version of deepchem)
    • The x.x.x image is built when we push x.x.x. tag
    • Dockerfile is put in docker/tag directory
  • deepchemio/deepchem:latest
    • Image built from source codes
    • The latest image is built every time we commit to the master branch
    • Dockerfile is put in docker/nightly directory

You pull the image like this.

docker pull deepchemio/deepchem:2.4.0

If you want to know docker usages with deepchem in more detail, please check the document.

From source

If you try install all soft dependencies at once or contribute to deepchem, we recommend you should install deepchem from source.

Please check this introduction.

Getting Started

The DeepChem project maintains an extensive collection of tutorials. All tutorials are designed to be run on Google colab (or locally if you prefer). Tutorials are arranged in a suggested learning sequence which will take you from beginner to proficient at molecular machine learning and computational biology more broadly.

After working through the tutorials, you can also go through other examples. To apply deepchem to a new problem, try starting from one of the existing examples or tutorials and modifying it step by step to work with your new use-case. If you have questions or comments you can raise them on our gitter.

Supported Integrations

  • Weights & Biases: Track your DeepChem model's training and evaluation metrics.

Gitter

Join us on gitter at https://gitter.im/deepchem/Lobby. Probably the easiest place to ask simple questions or float requests for new features.

About Us

DeepChem is managed by a team of open source contributors. Anyone is free to join and contribute!

Citing DeepChem

If you have used DeepChem in the course of your research, we ask that you cite the "Deep Learning for the Life Sciences" book by the DeepChem core team.

To cite this book, please use this bibtex entry:

@book{Ramsundar-et-al-2019,
    title={Deep Learning for the Life Sciences},
    author={Bharath Ramsundar and Peter Eastman and Patrick Walters and Vijay Pande and Karl Leswing and Zhenqin Wu},
    publisher={O'Reilly Media},
    note={\url{https://www.amazon.com/Deep-Learning-Life-Sciences-Microscopy/dp/1492039837}},
    year={2019}
}