Silent Loss of SBML Algebraic Constraints in COPASI
Abstract
Reaction-network simulation software is commonly checked only by aggregate signals such as time course run without error or the plausibility of tracked species. This work shows this is insufficient for a specific construct within SBML (the standard encoding format for reaction-network models), the AlgebraicRule, which fixes a species, compartment, or parameter's value through an exact algebraic constraint. Using the official SBML Test Suite as an external reference, we audit COPASI, a widely used open-source systems-biology simulator, against every algebraic-rule test case that provides a Level 3 Version 1 encoding and a published reference trajectory. A substring search returns 107 cases, but one does not contain an algebraic rule at all, and seven carry the rule inside an SBML hierarchical Model Composition submodel, not the top-level model. Structural verification resolves these issues, yielding a corrected corpus of 106 cases, independently confirmed by an unrelated simulator's load-time behaviour. Against this corpus, COPASI 4.46.300 matches the reference trajectory in only 7 cases (6.6%); none of these seven demonstrates genuine algebraic-constraint resolution, because the matches arise from coincidental unit defaults or kinetic cancellation. In 81 cases (76.4%) the algebraically determined quantity is silently absent from output, with no error or warning in the scripting API's message channel; in 16 cases (15.1%) the quantity is present but numerically wrong, by 22% to 765% in 15 of the 16 and by roughly three orders of magnitude in the sixteenth; and two cases (1.9%) crash the interpreter. As a control, libRoadRunner (and Tellurium) rejects every case with an explicit exception naming algebraic rules as unsupported, with no silent degradations, wrong answers, or crashes. We trace COPASI's dominant failure to its internal representation: a rule-governed quantity has no status for "governed by an algebraic constraint," only fixed, assignment, reaction, ODE, or time. Consequently, a compartment fixed by an algebraic rule silently defaults to 1 regardless of the rule's target; the defect is numerically invisible under first-order kinetics (where the size cancels) but produces large errors under second-order kinetics. A minimal model demonstrates the practical consequence: an algebraically defined species drives a downstream reaction that remains dead throughout the simulation, while an unrelated reaction proceeds correctly, with no visible output indicating that a pathway is dead. We report this audit along with four errors found and corrected in our own methodology, quantifying each correction's effect. All findings are packaged as a reproducible comparison against the SBML Test Suite's reference results, and set out for filing with the COPASI issue tracker. Code and reproducibility: https://github.com/TesfayZ/copasi-algebraic-rule-audit