Skip to content

Release notes for sbml2cellml 0.3.5

The reports of the SBML test suite and of BioModels show the complete error of every failing case and document the tolerances of the checks. The converters and their results are unchanged.

Features

  • the failure reasons of the reports list every failing case with its complete error: all issues of the validation of a CellML model, the code a compiler error of libopencor points at, every variable which exceeds the tolerance. Before, an error was one line cut at 400 characters, and the reports replaced quoted text by '...', cut a reason at 160 characters and listed ten cases per reason
  • the reports state how a simulation is compared, |value - expected| <= absolute + relative * |expected| with the tolerances of the settings of a case of the SBML test suite and with a relative tolerance of 1e-3 and an absolute tolerance of 1e-6 for BioModels, and the solver settings of the simulations (1e-9 relative and 1e-12 absolute, relaxed only when CVODE fails, 100000 internal steps between two time points). The numbers are rendered from the settings in the code

Changes

  • the first stage of the checks, the roadrunner simulation of the original SBML model, is named roadrunner instead of reference, in the reports, the figures and the results files testsuite/results.json and biomodels/results.json; reference_selections of sbml2cellml.testsuite.runner is roadrunner_selections
  • the message of a failed stage in the results files is the complete text of the exception with all its lines

Fixes

  • the development page gave the tolerances of the BioModels comparison as the tolerances of the SBML test suite, whose cases have their own
  • a compiler error of libopencor was reported as a line of the generated code (BIOMD0000000162)

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
  • libsbml evaluates the rate rule of a variable as its value (sbmlteam/libsbml#491); the converter works around it since 0.3.3
  • 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