Use when working with SynKit for graph-based reaction informatics: ITS/MTG graph construction, reaction canonicalization, AAM validation, DPO rule extraction and composition, chemical reaction network (CRN) analysis, subgraph matching, and synthesis planning primitives.
Graph-based Python toolkit for reaction informatics: ITS graph construction, canonicalization, AAM validation, DPO rule extraction, CRN analysis, and synthesis planning.
Paper: doi:10.1021/acs.jcim.5c02123 | JCIM 2025
The Imaginary Transition State (ITS) graph merges reactant and product graphs into a single labeled multigraph:
change flag: formed / broken / unchanged)ITS ≡ CGR (Condensed Graph of Reaction) — same structure, different naming tradition.
from synkit.IO import load_reaction_smiles
from synkit.Graph import ITSConstruction
from synkit.Chem import CanonRSMI, AAMValidator
# 1. Parse reaction SMILES → ITS graph (NetworkX)
rxn_smiles = "[CH3:1][OH:2].[Na:3][H:4]>>[CH3:1][O:2][Na:3].[H:4][H:5]"
its = ITSConstruction.from_reaction_smiles(rxn_smiles)
# 2. Canonicalize the reaction SMILES
canon = CanonRSMI(rxn_smiles).canonicalize()
# 3. Validate atom-atom mapping
valid = AAMValidator(rxn_smiles).is_valid()
| Task | Reference |
|---|---|
| Load reactions, format conversion (SMILES ↔ ITS ↔ GML), data I/O | references/io-conversion.md |
| Canonicalization (CanonRSMI), AAM validation, Reaction class | references/chem-standardization.md |
| ITS construction, MTG, graph canonicalization, WL hashing, subgraph search | references/graph-its.md |
| DPO rules, GML format, rule composition, SynReactor forward/retro | references/rule-dpo.md |
| CRN building, Feinberg deficiency theory, Petri nets, autocatalysis | references/crn-analysis.md |
| Synthesis planning, route construction, pathway analysis | references/synthesis-planning.md |
| Module | Role |
|---|---|
synkit.IO | Reaction SMILES parsing, SMILES ↔ ITS ↔ GML conversion |
synkit.Chem | CanonRSMI, AAMValidator, Reaction standardization |
synkit.Graph | ITSConstruction, GraphCanonicaliser, WL hash, subgraph search |
synkit.Rule | DPO rules, GML handling, rule composition |
synkit.Synthesis | Forward/retro prediction, route exploration |
synkit.CRN | CRN construction, Feinberg theory, Petri-net analysis |
synkit.Vis | Reaction and mechanism visualization |
Reaction SMILES (atom-mapped)
│
▼ IO / Graph.ITSConstruction
ITS Graph (NetworkX) ← cluster, hash, validate
│
▼ Graph.GraphCanonicaliser
Canonical ITS Graph ← canonical form independent of atom ordering
│
▼ Rule module
DPO Rule (GML format) ← compose, apply, store
All conversions are lossless for balanced, atom-mapped reactions. Caveats: stereochemistry is omitted; explicit H at reaction centers required for GML → SMILES reversion.
pip install synkit # core (RDKit + NetworkX)
pip install synkit[all] # full (+ transformers for RXNMapper)
# Python ≥ 3.11 required
rdkit — molecule preprocessing before SynKit ingestiontorchdrug — retrosynthesis with GNNs (complementary ML approach)deepchem — molecular ML when rule-based approach insufficient