You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title: Add chemical reaction network theory analysis for generated BNGL networks
Motivation
BNGsim already computes conservation laws from the stoichiometry matrix, so conservation-law detection itself is not missing.
However, generated BioNetGen networks could support a broader set of structural chemical-reaction-network analyses, including:
reaction complexes;
linkage classes;
strong linkage classes;
weak reversibility;
stoichiometric rank;
deficiency;
terminal strong linkage classes;
network decomposition.
These properties can reveal qualitative model structure without simulation and are useful for understanding multistability, complex balancing, and network organization.
For rule-based models, this analysis would apply to the finite generated network and should state that explicitly.
Implementation
This could reuse:
BioNetGen's generated species/reactions;
BNGsim's stoichiometry representation where available;
existing conservation-law information rather than recomputing it separately.
The first version does not need to implement every theorem from CRNT. Exposing a reliable structural representation and the common network invariants would already be useful.
One caveat: CRNT4SBML's latest released package is old: 0.0.15 from 2021 with correspondingly old dependency pins. CRNT4SBML
We should add a generic CRNT adapter, initially evaluating CRNT4SBML as a backend. There are newer Python CRNT projects, but some are very new and I wouldn't make BNG depend on them yet.
Activity
akutuva21 commentedon Sep 7, 2026
CRNT4SBML already accepts SBML and implements deficiency-zero/one analysis, mass-conservation approaches and bistability-oriented CRNT workflows. OUP Academic
BioNetGen already has SBML interchange, so the simplest architecture is:
One caveat: CRNT4SBML's latest released package is old: 0.0.15 from 2021 with correspondingly old dependency pins. CRNT4SBML
We should add a generic CRNT adapter, initially evaluating CRNT4SBML as a backend. There are newer Python CRNT projects, but some are very new and I wouldn't make BNG depend on them yet.