Release notes for sbml2cellml 0.3.0¶
Much wider coverage of SBML in the conversion to CellML. Of the runnable cases of the SBML test suite, 1420 convert to valid CellML (458 in 0.2.0) and 857 simulate with libopencor like the expected results (137 in 0.2.0), see the SBML test suite page.
Features¶
- function definitions: their calls are replaced by the bodies of the functions
- initial assignments are evaluated to initial values (an assignment to NaN is not)
- local parameters of kinetic laws become variables
<reaction>_<parameter> - species reference ids (stoichiometries, which rules may set) and reaction ids (rates) in formulas become variables
- the time and avogadro symbols in formulas
- numbers without units in formulas are
dimensionless, integers and rationals are written as real numbers - models without differential equations are converted as algebraic models without the variable of integration
time;run_timecoursereturns their steady state values at every requested time point - an infinite or NaN value of a variable which is not a state becomes an equation
Fixes¶
- kinetic laws are multiplied with their stoichiometry, which was ignored
- reactions no longer change boundary species
- a local parameter takes precedence over a global parameter of the same id in its kinetic law
- the target of an assignment rule has no initial value, which the libcellml 0.7 analyser rejected as underconstrained (e.g., the glimepiride kidney model is valid again)
- an SBML value set to NaN is no longer replaced by
1.0like an unset value run_timecourseraises aSimulationErrorwhen two result columns get the same name instead of silently replacing one of them- a recursive function definition no longer crashes the conversion: libsbml (5.21) segfaults when it expands the function definitions or initial assignments of such a document, which is therefore checked first
Limitations¶
- events, algebraic rules, the delay and rateOf symbols and species conversion factors are not converted
- units are not converted, every variable is dimensionless; numbers with the units of an SBML unit definition are not supported
- Windows is not supported, the Windows wheels of libcellml 0.7.1 contain ARM64 binaries
- see the roadmap in the documentation
Your sbml2cellml team