Skip to content

Release notes

What changed in every version of sbmlode, the newest first. The notes of a version are the text of its release on GitHub, where the source of that version is archived.

0.1.0

We are pleased to release the first version of sbmlode, the ODE export of sbmlutils as a package of its own. sbmlode writes the system of ordinary differential equations of an SBML model as python, julia and R code which simulates it and as typst, LaTeX and markdown documents which describe it. It depends on python-libsbml and jinja2 only, so that a tool which only needs the equations of a model, such as SBML4Humans, does not install the model building of sbmlutils.

New features

  • the ODE export of sbmlutils 0.14.0 (sbmlutils.converters.ode, matthiaskoenig/sbmlutils#492) as the package sbmlode: OdeSystem.from_sbml(source), render(fmt, **options), write(path) and render_template(template) in the formats python, julia, R, typst, LaTeX and markdown, with the same output apart from the line which names the version that wrote it
  • OdeSystem.typeset(dialect, symbols, wrap) returns the typeset system as typed data instead of a document: the ODEs, the reaction rates, the assignment rules, the function definitions, the initial values and the events with their left hand sides and right hand sides in LaTeX or typst, which an application lays out itself; the documents of typst, LaTeX and markdown are rendered from it
  • wrap(symbol, typeset) is called for every symbol the typeset math writes, including the rate v of a reaction and the amount n of a species, so that an application can turn a symbol into a link to its element; Symbol.element names the element of the model a symbol stands for, the reaction and the id of a local parameter which the analysis renames

Packaging and development

  • the package reads and flattens a document with libsbml alone (sbmlode.io) and writes the units of a model without pint (sbmlode.units)
  • the tests download the semantic cases of the SBML test suite 3.4.0 once into the cache directory, or read the directory SBMLODE_TESTSUITE names; SBMLODE_JULIA and SBMLODE_RSCRIPT set the commands of julia and R
  • continuous integration runs the suite on Linux, Windows and macOS, the generated R code with deSolve and the documents with tectonic and typst for every pull request, and the julia code for a release and on demand; the documentation is published at https://matthiaskoenig.github.io/sbmlode