Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

SynKit

PyPI version Conda version Docker Pulls Docker Image Version License Release Last Commit Zenodo CI Stars

Graph-native reaction informatics and executable electron-flow models

SynKit is a Python toolkit for atom-mapped reactions, chemical graph transformations, Lewis-labelled graphs, and explicitly supplied reaction mechanisms. It connects reaction representation, rule extraction, graph rewriting, stereochemistry, and mechanism verification through a common attributed-graph model.

SynKit verifies mechanisms supplied by the user; it does not claim to predict the kinetically or thermodynamically preferred mechanism.

SynKit graphical abstract

Highlights

  • Convert mapped reaction SMILES into ITS and reaction-centre graphs.
  • Extract and apply attributed graph-transformation rules.
  • Represent lone pairs, radicals, and separate sigma and pi occupancies with Lewis-labelled graphs.
  • Execute curved-arrow and atomically coupled fishhook events.
  • Preserve tetrahedral, axial, and extended stereochemical information.
  • Build and analyse mechanism trajectory graphs and chemical reaction networks.

Installation

SynKit requires Python 3.11 or later.

python -m pip install synkit

Install the optional dependencies with:

python -m pip install "synkit[all]"

Alternatively, use the published container:

docker pull tieulongphan/synkit:latest
docker run --rm tieulongphan/synkit:latest \
  python -c "import synkit; print(synkit.__version__)"

Quick start

This self-contained example converts an atom-mapped substitution into an imaginary transition-state graph and reports its changed bonds:

from synkit.IO import rsmi_to_its

reaction = "[CH3:1][Br:2].[OH-:3]>>[CH3:1][OH:3].[Br-:2]"
its = rsmi_to_its(reaction, core=False, format="tuple")

changed_bonds = [
    (source, target, data["order"])
    for source, target, data in its.edges(data=True)
    if data["order"][0] != data["order"][1]
]
print(changed_bonds)

The output records the broken C-Br bond as (1.0, 0.0) and the formed C-O bond as (0.0, 1.0). Continue with the graph, rule, and synthesis guides.

Supplied-mechanism verification

SynKit can parse typed electron-flow annotations, replay their elementary steps, and return a verification certificate and mechanism trajectory graph. Canonical electron loci distinguish lone pairs, sigma bonds, pi bonds, and radical electrons. Curved arrows carry two electrons; fishhooks carry one; coupled radical events commit atomically from a common pre-state.

See the mechanism documentation for the supported interchange formats, verification policies, and complete examples.

Documentation

Publications

Contributing

Contributions and bug reports are welcome. Create a branch from the current mainline, make a focused change, and run the repository checks before opening a pull request:

git switch -c feature/short-description
bash scripts/lint.sh
bash scripts/pytest.sh

Questions can be sent to tieu@bioinf.uni-leipzig.de.

Contributors

License

SynKit is distributed under the MIT License. See LICENSE.

Acknowledgments

This project received funding from the European Union's Horizon Europe Doctoral Network programme under Marie Skłodowska-Curie grant agreement No. 101072930 (TACsy).

Download files

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

Source Distribution

synkit-1.6.2b1.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

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

synkit-1.6.2b1-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file synkit-1.6.2b1.tar.gz.

File metadata

  • Download URL: synkit-1.6.2b1.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for synkit-1.6.2b1.tar.gz
Algorithm Hash digest
SHA256 67514b28655e4182ef374c987eedd5b6d1f3fd2ef2d078143aaed886b366fa61
MD5 5e52e0049106ae61a87087202ff42424
BLAKE2b-256 baa5704b0c8b27e26759a5875355015767f938c996e13690c290f66f8b3106b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for synkit-1.6.2b1.tar.gz:

Publisher: publish-package.yml on TieuLongPhan/SynKit

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

File details

Details for the file synkit-1.6.2b1-py3-none-any.whl.

File metadata

  • Download URL: synkit-1.6.2b1-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for synkit-1.6.2b1-py3-none-any.whl
Algorithm Hash digest
SHA256 4ac7f37697117e04f78a05231572be660047d82ed6d2306d65a866cc102f28f3
MD5 95832a01d93ed7f54c06b3e8d2e2c577
BLAKE2b-256 c5985c2f7c6fd70d504d67bda84e334d140a0cb7784d42c0cd51cf2f10adf5c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for synkit-1.6.2b1-py3-none-any.whl:

Publisher: publish-package.yml on TieuLongPhan/SynKit

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

Release history Release notifications | RSS feed

1.6.2

2 files

This release

1.6.2b1 This release

2 files

1.6.1

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.2

2 files

1.3

2 files

1.2.2

2 files

1.2

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page