Getting Started#

PyPI GitHub

Welcome! This guide gets you from zero → first SynKit workflow in minutes.

What you get#

SynKit is a modular toolkit for reaction informatics and graph-first chemistry:

  • reaction / AAM canonicalization

  • balance checks and standardization

  • graph construction (ITS/MTG), hashing, and matching

  • reaction rules (compose / apply / modify)

  • lightweight CRN exploration (CRN)

Install#

pip (recommended)
python -m pip install -U pip
pip install synkit
Docker
docker pull tieulongphan/synkit:latest
docker run --rm tieulongphan/synkit:latest \
  python -c "import importlib.metadata as m; print(m.version('synkit'))"

Optional: MØD backend#

Some legacy workflows (e.g., MØD-backed CRN construction) require the external package mod.

Note

On Linux, you can install mod via Conda:

conda install -c jakobandersen -c conda-forge "mod>=0.17" -y

Verify your install#

python -c "import importlib.metadata as m; print(m.version('synkit'))"

If this prints a version, you are ready.

Quick tour#

Try one small end-to-end snippet that touches the most common building blocks:

# 1) Build a tiny CRN
from synkit.CRN.DAG.syncrn import SynCRN

rxns = ["A+B>>C", "C>>D"]
crn = SynCRN(rxns).build()

# 2) Inspect basic counts
print(crn.n_species, crn.n_reactions)

# 3) Convert to hypergraph (useful for canonicalization)
from synkit.CRN.Hypergraph.conversion import rxns_to_hypergraph

H = rxns_to_hypergraph(rxns)
print(H)

Next steps#

CRN

Canonicalize and analyze reaction networks.

CRN
Graph Module

ITS/MTG, matching, clustering, WL hashing.

Graph
Chem Module

Standardization, balance checking, AAM validation.

Chem

Support#