Skip to content

Releases: ecrl/graphchem

Update dependencies, add MANIFEST.in

25 Jul 14:44
96f0b20
Compare
Choose a tag to compare
  • updates PyTorch to 2.4.0
  • adds MANIFEST.in for including CSV datasets with GraphChem
  • bump version to 2.1.3

Update install method, PyPI GitHub actions workflow, encoder saving/loading

01 Aug 02:35
b5a2eab
Compare
Choose a tag to compare
  • graphchem.preprocessing.MoleculeEncoder how has the save and load methods
  • graphchem.preprocessing.load_encoder allows users to load pre-saved MoleculeEncoder objects
  • Build/installation now relies on pyproject.toml instead of the deprecated setup.py
  • Added a GitHub action workflow to publish GraphChem to PyPI whenever a new version is published

2.1.1

07 Apr 23:49
Compare
Choose a tag to compare

Use pre-built RDKit binaries
Added readthedocs API documentation
Preparing for Azure unit testing

2.1.0

01 Apr 01:44
6ce9949
Compare
Choose a tag to compare
  • New method for atom/bond tokenizing (integer tokens, passed through torch.nn.Embedding layer at start of model)
  • Removed GRU and scatter add functions, leads to faster and more accurate results
  • Changed MFConv to GeneralConv (GeneralConv considers both atom and bond features during its message passing step)
    • General flow for each message passing step is:
      • embedded_bonds -> EdgeConv -> updated embedded_bonds
      • embedded_atoms + embedded_bonds -> GeneralConv -> updated embedded_atoms
    • Separate edge/node convolutions, where node convolutions also account for updated edge states, is used effectively by Jørgensen et al. (paper)
  • Updated/added examples

2.0.0

09 Sep 00:14
9479814
Compare
Choose a tag to compare

This update overhauls GraphChem. The goal was to make GraphChem more "Torchy" in nature - for example, removing the CompoundOperator and giving control of training back to the user.

While this reduces the base functionality of GraphChem, ultimately its new construction is more modular and will play nicer with PyTorch.

Updates to GCN, connectivity calculations, examples

15 Jun 16:16
94361ee
Compare
Choose a tag to compare
  • GCN now uses a GRU layer for edge network, in addition to existing GRU for node network
  • Connectivity algorithm fixes, considers reverse case and updates connectivity indices accordingly
  • Included example scripts/notebooks for CN, RON, and MON

Updates to preprocessing, GNN structure

22 May 19:20
bac5dda
Compare
Choose a tag to compare
  • Given the bug reported in #6, a new method of determine connectivity, using RDKit, is used instead of the previously implemented custom SMILES parser
    • The custom parser was neat, but to prevent future bugs/issues, RDKit will handle SMILES -> matrix generation
  • GNN now considers nodes and edges
  • GNN now utilizes a GRU layer during message passing
    • While this tends to increase accuracy, it also greatly increases runtime
  • Docstrings/type hinting for all functions, in preparation of full API documentation
  • Updated examples

Torch Geometric + RDKit Implementation

26 Mar 02:18
edc7204
Compare
Choose a tag to compare

Refer to #4 for specific changes.

Rework of Package

16 May 18:24
8908d73
Compare
Choose a tag to compare

Rework of the GraphChem package, including:

  • Support for more atom symbols in SMILES strings
  • Addition of "transition" method for applying a transition function to the graph
  • Changes to import names

Packaged Up

17 Jan 03:16
8eeb6bd
Compare
Choose a tag to compare
  • Python package implementation
  • Moved some stuff around