Skip to main content

A graph library for chiral molecules, reactions and transition states

Project description

StereoMolGraph

View Documentation Python Versions License: MIT PyPI - Version Documentation Status GitHub Type Check Test Examples Unit Tests DOI PyPI Downloads

StereoMolGraph (SMG) is a lightweight Python library for representing molecules and transition states with explicit, local stereochemistry. It provides:

  • Graph types for molecules and reactions (with/without stereo and stereo changes)
  • Includes non tetrahedral stereocenters and changing stereochemistry in reactions
  • Fast approximate hashing via Weisfeiler–Lehman color refinement
  • Robust equality/isomorphism via a VF2++-style algorithm extended for stereochemistry and reactions
  • Bidirectional conversion from / to RDKit
  • Construction from 3D coordinates with automatic local stereo inference

Design philosophy

  • Unopinionated about bond orders, charge and electronic state
  • SMG focuses on the connectivity and stereochemistry.
  • Stereochemistry describes relative spatial arrangement. No absolute stereochemistry.
  • Transparent: Simple 2D visualization in IPython notebooks

Examples

Explore the working example notebooks in docs/examples/ (executed in CI). For rendered examples and guides, see the documentation: https://stereomolgraph.readthedocs.io

RDKit interoperability notes

  • Hydrogens must be explicit for stereo-safe bidirectional conversion.
  • Supports tetrahedral and non tetrahedral stereochemistry during conversion.
  • Bond orders, charges, unpaired electrons and other properties are not used!

Installation

Install from PyPI:

pip install stereomolgraph

Feedback and support

Bug reports and feature requests are welcome — please open an issue on GitHub:

If you have questions or ideas that don’t fit a template, you can still open an issue and tag it appropriately.

Citation

If you use StereoMolGraph in your work, please cite the Zenodo record:

DOI

License

MIT License — see 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

stereomolgraph-0.0.0b16.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

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

stereomolgraph-0.0.0b16-py3-none-any.whl (60.0 kB view details)

Uploaded Python 3

File details

Details for the file stereomolgraph-0.0.0b16.tar.gz.

File metadata

  • Download URL: stereomolgraph-0.0.0b16.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for stereomolgraph-0.0.0b16.tar.gz
Algorithm Hash digest
SHA256 868f5ed4297945f77410f027a8aa3e71652777797dd402f2331d45c7d0798577
MD5 7eab15e874ced4bfba681c0183c09fda
BLAKE2b-256 049116c3f996063b4ecfaa9463b459aa8c598fc44c07d423ee2f99ae34b92ba5

See more details on using hashes here.

File details

Details for the file stereomolgraph-0.0.0b16-py3-none-any.whl.

File metadata

  • Download URL: stereomolgraph-0.0.0b16-py3-none-any.whl
  • Upload date:
  • Size: 60.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for stereomolgraph-0.0.0b16-py3-none-any.whl
Algorithm Hash digest
SHA256 3176655c673cf33e025411422ee6b08dfd18e4562fe356a6c0c80f8b47feefe7
MD5 4fb04e7c58b8342f0f35b47bc7648831
BLAKE2b-256 a398e9bd6208f6073b2cb71b8c73bad03fa29654772998ac582e4f1e1ea6bf7b

See more details on using hashes here.

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