Skip to content

0.1.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 05:01
· 10 commits to develop since this release
d3cab54

Release notes for sbmlode 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

Your sbmlode team