Skip to content

Release notes for sbml2cellml 0.3.3

The manually curated models of BioModels are part of the documentation, and a wrong evaluation of initial assignments is fixed. Of the 1060 curated models which run, 1046 convert to valid CellML, 778 simulate with libopencor like the roadrunner simulation of the original model and 920 pass the roundtrip back to SBML, see the BioModels page.

Features

  • the results of the BioModels check are the BioModels page of the documentation, with a bar diagram of the models which pass, fail and skip every stage of the roundtrip, also in the README; sbml2cellml-biomodels run and report write the page and the diagram for light and dark backgrounds
  • the modules of sbml2cellml.biomodels are part of the API reference, the check is described in the development page

Fixes

  • SBML to CellML: a variable with an initial assignment and a rate rule got wrong initial values. libsbml evaluates such a variable by the math of its rate rule, so with x = 5 at the start and dx/dt = 3 an initial assignment q = 2 * x gave 6 instead of 10, and the conversion crashed when the rate depends on the variable, e.g., for BIOMD0000000429. The same happened for the algebraic rules solved at the start when a variable with a rate rule has no value. The rate rules are not part of the model anymore while libsbml evaluates the formulas

Changes

  • the BioModels check is run locally only: the biomodels workflow is removed, the report moved from biomodels/report.md to docs/biomodels.md

Limitations

  • the unit check of the libcellml 0.7.1 analyser warns about consistent equations with units which have a multiplier and an exponent, e.g., per minute (cellml/libcellml#1463); the warnings do not make a model invalid
  • events, the delay symbol and coupled algebraic rules are not converted
  • Windows is not supported, the Windows wheels of libcellml 0.7.1 contain ARM64 binaries
  • see the conversion issues in the documentation

Your sbml2cellml team