Skip to main content

A library to estimate bond dissociation energies (BDEs) of organic molecules

Project description

ALFABET logo

PyPI version Build Status

A machine-Learning derived, Fast, Accurate Bond dissociation Enthalpy Tool (ALFABET)

This library contains the trained graph neural network model for the prediction of homolytic bond dissociation energies (BDEs) of organic molecules with C, H, N, and O atoms. This package offers a command-line interface to the web-based model predictions at bde.ml.nrel.gov.

The basic interface works as follows, where predict expects a list of SMILES strings of the target molecules

>>> from alfabet import model
>>> model.predict(['CC', 'NCCO'])
  molecule  bond_index bond_type fragment1 fragment2  ...    bde_pred  is_valid
0       CC           0       C-C     [CH3]     [CH3]  ...   90.278282      True
1       CC           1       C-H       [H]    [CH2]C  ...   99.346184      True
2     NCCO           0       C-N   [CH2]CO     [NH2]  ...   89.988495      True
3     NCCO           1       C-C    [CH2]O    [CH2]N  ...   82.122429      True
4     NCCO           2       C-O   [CH2]CN      [OH]  ...   98.250961      True
5     NCCO           3       H-N       [H]   [NH]CCO  ...   99.134750      True
6     NCCO           5       C-H       [H]   N[CH]CO  ...   92.216087      True
7     NCCO           7       C-H       [H]   NC[CH]O  ...   92.562988      True
8     NCCO           9       H-O       [H]    NCC[O]  ...  105.120598      True

The model breaks all single, non-cyclic bonds in the input molecules and calculates their bond dissociation energies. Typical prediction errors are less than 1 kcal/mol. The model is based on Tensorflow (2.x), and makes heavy use of the neural fingerprint library (0.1.x).

For additional details, see the publication: St. John, P. C., Guan, Y., Kim, Y., Kim, S., & Paton, R. S. (2020). Prediction of organic homolytic bond dissociation enthalpies at near chemical accuracy with sub-second computational cost. Nature Communications, 11(1). doi:10.1038/s41467-020-16201-z

Note: For the exact model described in the text, install alfabet version 0.0.x. Versions >0.1 have been updated for tensorflow 2.

Installation

Installation with conda is recommended, as rdkit can otherwise be difficult to install

$ conda create -n alfabet -c conda-forge python=3.7 rdkit
$ source activate alfabet
$ pip install alfabet
``

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alfabet-0.3.2.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

alfabet-0.3.2-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file alfabet-0.3.2.tar.gz.

File metadata

  • Download URL: alfabet-0.3.2.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for alfabet-0.3.2.tar.gz
Algorithm Hash digest
SHA256 a6c25632edf1238a9d17de40b0d4eea913d8ce12a24f3120c6a75d8fbd435d5e
MD5 74ba47533be27d7a4296068acda40326
BLAKE2b-256 eecbc2054d4b3fc7c82a48a5f39a0964191413837dda841d6224ced516a11053

See more details on using hashes here.

Provenance

File details

Details for the file alfabet-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: alfabet-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.13

File hashes

Hashes for alfabet-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 57944a35a994091262c208a510511c893f50ce137bfcf7b322ed83e7a5a09a16
MD5 2648017faf1845c691ef6791b3cfadfa
BLAKE2b-256 5ba137730057b40a886357e28f95f292c0dba0ff7558548c8f41e6d184d540de

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page