A convolutional neural network operating on molecular graphs (SMILES) of arbitrary size for chemical property prediction (e.g. solubility).
Python, Numpy -- preferrably using Anaconda
Either Theano or Tensorflow
RDkit -- the easiest way to install it when using Anaconda is "conda install -c https://conda.anaconda.org/rdkit rdkit"
Paper describing the method: Convolutional Networks on Graphs for Learning Molecular Fingerprints
The original implementation using numpy/autograd can be found at (https://github.com/HIPS/neural-fingerprint)