Skip to main content

ChemLogic is a neurosymbolic framework that integrates relational logic syntax with various graph neural network (GNN) architectures to model chemical knowledge. It encodes functional groups and molecular subgraph patterns into a differentiable, explainable architecture, enabling the construction of interpretable and modular GNN-based models for chemical reasoning.

Project description

ChemLogic

ChemLogic is a neurosymbolic framework that integrates relational logic syntax with graph neural networks (GNNs) to model chemical knowledge. It is designed for interpretable molecular property prediction, combining symbolic reasoning with differentiable learning. ChemLogic was entirely built on the PyNeuraLogic framework.

🧬 Introduction

ChemLogic enables binary classification for molecular property prediction tasks on chemistry datasets, such as mutagenicity and toxicity prediction. It supports explainable AI by encoding functional groups and molecular subgraph patterns into logical rules, which are then integrated into GNN architectures. The weights of these rules provide interpretable insights into the model's reasoning process.

✨ Features

  • Supports well-known GNN architectures from the literature.
  • Encodes chemical knowledge using relational logic syntax.
  • Integrates functional groups and molecular subgraph patterns into a learnable knowledge base.
  • Enables explainable and interpretable predictions.
  • Designed for binary classification tasks with future support for regression and more.

📦 Installation

ChemLogic is available via PyPI. You can install it using:

pip install ChemLogic

📂 Project structure

The project consists off of 3 main modules:

  • datasets - contain the datasets encoded in relational manner. Includes data from TUD and TDC datasets, as well as a converter from custom SMILES datasets.
  • models - contains the GNN architectures.
  • knowledge_base - contains the functional groups and subgraph patters.

🚀 Usage

Basic example of training a GNN on the MUTAG dataset can be found in notebooks/run_example.

🧩 Dependencies

ChemLogic requires Python 3.11 and Java >=1.8. For visualization graphviz is required.

All dependencies are listed in pyproject.toml.

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to get started.

📄 License

This project is licensed under the MIT License.

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

chemlogic-0.1.2.tar.gz (6.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chemlogic-0.1.2-py3-none-any.whl (6.6 MB view details)

Uploaded Python 3

File details

Details for the file chemlogic-0.1.2.tar.gz.

File metadata

  • Download URL: chemlogic-0.1.2.tar.gz
  • Upload date:
  • Size: 6.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for chemlogic-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b536ac7666f22381859abf189d816cd0592583e1f3839dd968af5ffa287fcb08
MD5 47b33088744d084f1a3da54be2fdae98
BLAKE2b-256 f4fee9f6177a734ca605f80f2e5cbe5d16852a94886be519a3132d1ad1b37348

See more details on using hashes here.

Provenance

The following attestation bundles were made for chemlogic-0.1.2.tar.gz:

Publisher: python-publish.yml on voidpetal/ChemLogic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chemlogic-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: chemlogic-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 6.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for chemlogic-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1ae2ff25cb65886d06607f68f63541dd4ee21f568761676c4e3d1469f29d1bf6
MD5 2737f4805ba57f16a10deb9c0eb9affd
BLAKE2b-256 b0d563d172aa56d2a0daa073ea27c3fb8e42fdb8d864240ddd958c5a756d28ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for chemlogic-0.1.2-py3-none-any.whl:

Publisher: python-publish.yml on voidpetal/ChemLogic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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