/neural-fingerprint

Convolutional nets which can take molecular graphs of arbitrary size as input.

Primary LanguageTeXMIT LicenseMIT

Neural Graph Fingerprints

This software package implements convolutional nets which can take molecular graphs of arbitrary size as input. These are useful for predicting the properties of novel molecules, and are designed to be a drop-in replacement for Morgan or ECFP fingerprints.

The paper describing the algorithm used is:

Convolutional Networks on Graphs for Learning Molecular Fingerprints

by

David Duvenaud, Dougal Maclaurin, Jorge Aguilera-Iparraguirre, Rafael Gómez-Bombarelli, Timothy Hirzel, Alán Aspuru-Guzik, and Ryan P. Adams.

How to install

This package requires:

  • Scipy version >= 0.15.0 (For Anaconda users, use conda install scipy instead of pip install scipy to upgrade your version.)
  • RDkit
  • Autograd (Just run pip install autograd)

Examples

This package includes a regression example and a visualization example in the examples directory.

Authors

This software was primarily written by David Duvenaud, Dougal Maclaurin, and Ryan P. Adams. Please feel free to submit any bugs or feature requests. We'd also love to hear about your experiences with this package in general. Drop us an email!

We want to thank Jennifer Wei for helpful contributions and advice, and Analog Devices International and Samsung Advanced Institute of Technology for their generous support.

TensorFlow and Theano implementations

A Tensorflow implementation of a closely-related algorithm can be found at https://github.com/momeara/DeepSEA

and a Theano implementation can be found at https://github.com/debbiemarkslab/neural-fingerprint-theano