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.