Skip to content

Prepare release v.1.5.0

Choose a tag to compare

@TieuLongPhan TieuLongPhan released this 10 Jul 10:05
· 4 commits to main since this release
b57f2a3

Changelog

[1.5.0] - 2026-07-10

🚀 Highlights

  • Modular Atom-to-Atom Mapping: Replaced the monolithic wl_mapper module with the new synkit.Chem.Reaction.Mapper package. Its main public entry point, AAMapper, unifies WL/SLAP mapping, optional exact reaction-centre refinement, symmetry-distinct mapping enumeration, and mapping certificates.
  • Electron-Flow Interoperability: Added bidirectional conversion between EF-SMIRKS and Electron-Pushing Descriptors (EPD), including typed Lewis-state-aware epd_lw records.
  • Mechanistic Trajectory Visualization: Added an integrated workflow to render completed atom mapping, electron flow, product structure, and ITS bond changes in a single publication-ready trajectory figure.
  • Mapping Quality Controls: Added ITS hashing, mapped-reaction deduplication, electron-balance checks, and hydrogen-aware mapping ranking.

🗺️ Atom-to-Atom Mapping

  • New Mapper Package: Introduced synkit.Chem.Reaction.Mapper as the modular home for mapping workflows. New code should import public mapper classes from this package.
  • Unified AAMapper API: AAMapper combines:
    • WL/SLAP-based atom-to-atom mapping
    • Optional exact reaction-centre refinement
    • Symmetry-distinct mapping enumeration
    • Mapping certificates for inspection and reproducibility
  • Mapped-Reaction Hashing and Deduplication: Added ITS-based hashing and deduplication utilities for mapped reactions.
  • Electron-Balance Validation: Added electron-balance checks to identify electronically inconsistent mapped transformations.
  • Hydrogen-Aware Ranking: Mapping candidates can now be ranked using hydrogen-count-aware criteria.
  • Reaction-Centre Explicit Hydrogens: Added reaction-centre-only explicit-H output, avoiding unnecessary explicit hydrogens elsewhere in the mapped reaction.
  • SciPy Dependency: scipy>=1.14.0 is now required because WL/SLAP mapping and exact refinement use SciPy’s linear-assignment solver.

🧬 EF-SMIRKS ↔ Electron-Pushing Descriptors

  • Bidirectional Conversion: Added ef_smirks_to_epd and epd_to_ef_smirks.
  • Forward Conversion: ef_smirks_to_epd preserves electron-flow-code atom maps, completes atom-to-atom mapping where necessary, and returns both generic EPD and typed epd_lw records.
  • Reverse Conversion: epd_to_ef_smirks reconstructs EF-SMIRKS from complete AAM together with either generic EPD or typed epd_lw input.
  • Public Imports: Both helpers are available from synkit.IO and synkit.IO.conversion.

🎯 Synthesis and Reaction-Rule Application

  • Expanded RBLEngine Modes: Added explicit execution modes:
    • fast_track for rapid screening
    • early_stop for efficient first-valid-match workflows
    • full for exhaustive execution
  • Pluggable MCS Matching: Rule application can now use either exact or approximate maximum-common-substructure matching.
  • Wildcard-Aware ITS Fusion: Improved fusion of ITS fragments containing wildcard atoms, supporting more flexible reaction-rule composition and application.

🎨 Electron-Pushing Visualization

  • EF-SMIRKS-to-EPD Workflow: Added a MechanismVisualizer workflow that converts EF-SMIRKS into EPD and renders the resulting mechanistic trajectory.
  • Integrated Trajectory Figures: A single figure can now include completed atom-to-atom mapping, typed epd_lw electron flow, product structure, and ITS bond changes.
  • Refined Layout: Improved trajectory spacing, panel alignment, curved-arrow styling, legends, and overall figure readability.
  • Compact by Default: Step-number bubbles, ITS bond-pair labels, and electron-state badges are now opt-in to keep report-ready figures compact by default.

📚 Documentation and User Interface

  • Versioned EF-SMIRKS/EPD Figure: Added a versioned documentation figure illustrating EF-SMIRKS, EPD conversion, typed electron flow, and the resulting mechanistic trajectory.
  • Direct API Examples: Added examples demonstrating direct use of conversion helpers from synkit.IO.
  • Dark-Mode Improvements: Improved navigation contrast in dark mode and added a dedicated dark-theme SynKit logo.

⚠️ Compatibility

  • Backward-Compatible Validator Import: AAMValidator remains available through synkit.Chem.Reaction to preserve existing user workflows.
  • Recommended Migration Path: New mapping implementations should import public APIs from synkit.Chem.Reaction.Mapper.
  • Former wl_mapper Module: The former monolithic mapper module has been superseded by the new modular mapper package.