Changelog

Version 0.0.7

Highlights

  • Refactored source-code structure into six primary submodules at the root level: IO, Chem, Graph, Rule, Synthesis, and Vis.

  • Added MØD‐free operation mode: functions requiring MØD now raise clear errors but fall back to pure‐Python implementations where available.

IO Module

  • Exposed core I/O utilities directly in synkit.IO: chemical_converter.py, data_io.py, and debug.py.

Chem Module

  • Introduced `CanonRSMI` for atom–atom mapping (AAM) canonicalization.

  • Moved `AAMValidator` into synkit.Chem.Reaction for consistency.

Graph Module

  • Added `SynGraph` wrapper for reaction and molecule graphs.

  • New canonicalisation backends: - node‐type sort - Morgan‐prime hashing - Weisfeiler–Lehman refinement

  • Renamed “Cluster” to Matcher; enhanced `GraphMatcher` and `SubgraphMatch`.

  • Added `SubgraphSearchEngine` with three strategies: - component‐aware - arbitrary - backtracking

  • Introduced `SING` and `TURBOIS` for mapping multiple patterns in a single host graph.

  • Extended `GraphCluster` and `BatchClustering` to support both nx and mod backends.

  • Enhanced `WLHash` to hash lists of node/edge attributes.

  • Added `MTG` submodule for Mechanistic Transition Graphs (direct rule composition).

  • New `Hydrogen` submodule for reaction-center H-completion and `Context` for radius-based expansion.

Rule Module

  • Introduced `SynRule` wrapper supporting NetworkX graphs and GML.

  • Reorganized into three packages: - Apply (retro-prediction via partial composition) - Compose (rule composition) - Modify (rule editing and H-handling)

  • Provided non‐MØD fallbacks where possible.

Synthesis Module

  • Divided into three submodules: - Reactor (nx via SynReactor; mod via MODReactor/MODAAM) - CRN (Chemical Reaction Network builder via MODCRN) - MSR (multi-step reaction pathfinder)

  • `SynReactor` now supports implicit‐H templates.

  • `MODCRN` wraps MØD for CRN generation; requires manual re-run for PDF summaries.

Vis Module

  • Visualization tools organized under `synkit.Vis`: - `RXNVis` (reaction visualisation) - `RuleVis` (template/rule visualisation) - `GraphVisualizer` (generic graph editing & display)

Documentation

  • Added comprehensive examples for each submodule.

  • Scaffolding for an API Reference page.