Skip to content

Prepare release v.1.2

Choose a tag to compare

@TieuLongPhan TieuLongPhan released this 29 Mar 17:56
· 9 commits to main since this release
9631d13

SynKit v1.2.0 — Release Notes

✨ New Features

  • New SynKit/CRN package with 6 dedicated submodules

    • SynKit v1.2 introduces a new CRN package organized into six explicit submodules:
      1. Construct — CRN generation via rule application
      2. Structure — canonical CRN representation through the SynCRN object
      3. Symmetry — morphism, automorphism, and canonicalization utilities
      4. Props — stoichiometric, thermodynamic, and dynamical properties
      5. Petrinet — foundational Petri net layer for CRN analysis
      6. Pathway — reachability, realizability, and pathway search
  • Construct: CRN generation via rule application

    • Added a dedicated construction layer for generating CRNs from reaction rules.
    • Supports controlled network expansion, derivation tracking, mixture/state handling, and rule-application workflows.
    • Designed to serve as the entry point for building reaction networks from seeds and transformation rules.
  • Structure: SynCRN as the core CRN representation

    • Added the SynCRN object as the main structured representation of a chemical reaction network.
    • Supports explicit species-reaction organization and clean conversion between views.
    • The representation is designed to be invertible to both:
      • hypergraph structure
      • Petri net structure
    • Includes explicit reaction objects, normalized stoichiometric sides, and reaction-string parsing such as 2A + B >> C.
  • Symmetry: morphism and canonicalization utilities

    • Added a symmetry-focused layer for CRN equivalence and structure-aware analysis.
    • Includes support for:
      • graph morphism utilities
      • isomorphism-style comparison
      • automorphism analysis
      • orbit-related symmetry handling
      • exact or approximate canonicalization
    • Intended to support symmetry-aware reasoning, deduplication, and canonical CRN representations.
  • Props: stoichiometric, thermodynamic, and dynamic properties

    • Added a property-analysis layer gathering core CRN descriptors and structural analyses.
    • Includes:
      • stoichiometric analysis
        • S⁻, S⁺, and S = S⁺ − S⁻
        • stoichiometric matrix extraction
        • rank
        • left and right nullspaces
        • conservation laws
      • thermodynamic-oriented utilities
        • structural quantities relevant to feasibility and constraint-based interpretation
      • dynamic / structural system analysis
        • symbolic reactivity matrix
        • symbolic Jacobian
        • Jacobian sparsity
        • Jacobian sign pattern
        • species influence graph
        • structural singularity summaries
  • Petrinet: foundational Petri net model for CRNs

    • Added a dedicated Petri net foundation for CRN representation and analysis.
    • Provides place-transition semantics as a formal view of a CRN.
    • Includes support for:
      • Petri net construction from CRN incidence
      • place / transition ordering
      • siphons
      • traps
      • persistence-related checks
      • analyzer utilities operating on either CRN or Petri-net inputs
    • Establishes the formal basis for structural reasoning, reachability-style workflows, and future extensions.
  • Pathway: reachability, realizability, and path finding

    • Added a pathway-analysis layer for reasoning about how target species or states can be achieved.
    • Includes:
      • reachability-oriented workflows
      • flow realizability
      • qualitative pathway search
    • Introduced:
      • PathwayFinder for source-to-target search in set semantics
      • PathwayRealizability for checking whether a proposed reaction flow can be realized from an initial marking
    • Supports bounded search, deduplication by flow, early stopping, and serializable summaries.

🚀 Enhancements

  • Cleaner modular organization

    • The CRN system is now explicitly organized around the six submodules:
      • Construct
      • Structure
      • Symmetry
      • Props
      • Petrinet
      • Pathway
  • Improved interoperability across CRN views

    • Added cleaner transitions between construction workflows, SynCRN, hypergraph representations, stoichiometric views, and Petri net formulations.
  • More consistent ordering and tokenization

    • Species and reaction ordering is more consistent across structural, stoichiometric, and Petri-net analyses, improving reproducibility.
  • Expanded API and internal helpers

    • Improved helper and adapter utilities for handling CRN-like inputs, graph extraction, incidence conversion, and representation-level transformations.

🧪 Testing & Documentation

  • Expanded unit test coverage
    • Added or extended tests across the new CRN package, including:
      • rule-based construction workflows
      • reaction parsing
      • SynCRN structure handling
      • stoichiometric and Petri-net analysis
      • pathway and realizability utilities

⚠️ Known Issues

  • Symmetry analysis is still evolving

    • Some automorphism- and canonicalization-related workflows remain under active development and may not yet provide exact behavior in all cases.
  • Property analysis is primarily structural

    • Several stoichiometric, thermodynamic, and dynamic utilities currently emphasize structural inference rather than full kinetic or physical modeling.
  • Pathway routines are bounded

    • Reachability and realizability workflows rely on bounded exploration and may require additional pruning or heuristics for very large CRNs.
  • Improved documentation

    • Not yet API documentation across the CRN package.

If you encounter issues or have feedback on the new CRN package, please report them via the issue tracker.

What's Changed

Full Changelog: v1.1.2...v1.2