Skip to content

Release notes for sbml2cellml 0.4.1

The names, notes, SBO terms, annotations and the model history of an SBML model are converted: they go into an RDF file next to the CellML model and come back in the conversion to SBML (#44). Every reaction is a variable of its rate in the CellML model.

Features

  • sbml2cellml writes the metadata of the SBML model as model.rdf next to model.cellml. CellML 2.0 has no place for metadata in a model, only the id of an element for external metadata to point at, so the model, every variable and all units have an id, and model.cellml#<id> is the subject of an element in the RDF. The RDF is the one of SBML annotations (bqbiol and bqmodel qualifiers, the history with dcterms and vCard 4), written and parsed by libsbml, with the name as dcterms:title, the notes as dcterms:description (XHTML as XML literal) and the SBO term as the first bqbiol:is. See Metadata
  • cellml2sbml reads the file back and sets name, notes, SBO term, CV terms and history on the parameters, the unit definitions and the model, so the metadata survives the roundtrip
  • metadata=False of convert_sbml2cellml and convert_cellml2sbml and --no-metadata of both commands switch it off
  • every reaction with a kinetic law is a variable <reaction id> = kinetic law of its rate, and the differential equation of a species is the sum of the rates of its reactions instead of the kinetic laws. Before, only a reaction whose id a formula uses had the variable. The simulation results are the same, the equations are readable, and a reaction has an element for its metadata
  • the roundtrip example uses the complete BIOMD0000000012 with its notes and annotations and shows the RDF file and the metadata in the SBML model of the roundtrip
  • new module sbml2cellml.metadata

Changes

  • the CellML of a model with reactions differs from the one of 0.4.0: the rate variables, and the id attributes of the model, the variables and the units
  • sbml2cellml.cellml2sbml.build_document takes the metadata records as optional third argument

Fixes

  • a stoichiometry which is not set is 1 in SBML level 1 and 2; the warning that 1.0 is used appears only for level 3 models, where the value is unknown
  • name of the glimepiride repository in the conversion page of the documentation

Limitations

  • the names, notes and annotations of rules, function definitions, initial assignments, constraints and events have no CellML element and are not converted, neither are annotations which are not RDF
  • rateOf of a species in a compartment which an assignment or algebraic rule changes is not converted
  • libsbml does not take a number other than 1 as true when it evaluates an initial assignment (piecewise(0, 5, 1), case 01282 of the SBML test suite)
  • 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