Skip to content
/ nfp Public

Keras layers for end-to-end learning with rdkit and pymatgen

License

Notifications You must be signed in to change notification settings

NREL/nfp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bdc69cb · Jun 14, 2022
Apr 27, 2022
Sep 29, 2021
Oct 2, 2019
Nov 23, 2021
Oct 19, 2021
Jun 14, 2022
Apr 27, 2022
Mar 11, 2022
Jan 1, 2021
Nov 23, 2021
Jan 4, 2019
Jan 1, 2021
Jan 24, 2022
Jan 6, 2022
Mar 11, 2022
Apr 27, 2022
Jan 1, 2021

Repository files navigation

Build Status PyPI version DOI

Neural fingerprint (nfp)

Keras layers for end-to-end learning on molecular structure. Based on Keras, Tensorflow, and RDKit. Source code used in the study Message-passing neural networks for high-throughput polymer screening

Related Work

  1. Convolutional Networks on Graphs for Learning Molecular Fingerprints
  2. Neural Message Passing for Quantum Chemistry
  3. Relational inductive biases, deep learning, and graph networks
  4. Neural Message Passing with Edge Updates for Predicting Properties of Molecules and Materials

(Main) Requirements

Getting started

This library extends Keras with additional layers for handling molecular structures (i.e., graph-based inputs). There a strong familiarity with Keras is recommended.

An overview of how to build a model is shown in examples/solubility_test_graph_output.ipynb. Models can optionally include 3D molecular geometry; a simple example of a network using 3D geometry is found in examples/model_3d_coordinates.ipynb.

The current state-of-the-art architecture on QM9 (published in [4]) is included in examples/schnet_edgeupdate.py. This script requires qm9 preprocessing to be run before the model is evaluated with examples/preprocess_qm9.py.