Getting Started#
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#
python -m pip install -U pip
pip install synkit
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#
Canonicalize and analyze reaction networks.
ITS/MTG, matching, clustering, WL hashing.
Standardization, balance checking, AAM validation.
Support#
Report issues: TieuLongPhan/SynKit#issues
Releases / changelog: tieulongphan/synkit