pypi sbmlsim 0.25.0

58 minutes ago

Release notes for sbmlsim 0.25.0

sbmlsim

The panels of a model run without a server. python -m sbmlsim.serve --export DIR writes the panels and the app of a model as a static bundle, and a page answers the routes of the service from it with the simulations in the browser of its reader, on the WebAssembly engine of sbmlsim-core and the components of sbmlsim-web. The first app built this way is the glimepiride app of pkdb_models.

Results which change: the curves of a panel. A panel is now integrated to its output times instead of being interpolated between the steps of the integrator onto them, so its curves move by up to about 1e-5 of their peak, towards the solution at their times.

Features

  • The static bundle of the panels of a model (#526). python -m sbmlsim.serve --model id=module:attribute --export DIR writes DIR/<model>/bundle.json (the contract panelbundle/1) and the SBML of its models, and exits instead of serving. The bundle carries what the service answers without simulating, built by the code of the routes: the app, the declarations and the study data of every panel per query variant, and per panel the recipe of a run, the targets of the knobs with their unit factors, the factors of the curves, the delivered output times and the tolerances and settings of the project. The formulas of the derived targets are compiled into the SBML as initial assignments over a parameter per knob, so an engine which simulates the bundle evaluates no formula of its own. sbmlsim.serve.export needs no extra web; docs/serve.md documents the bundle.
  • The MathML of a PEtab formula (#526). formula_mathml of sbmlsim.simulator.formula writes a formula of PEtab math as MathML of SBML from the parse tree compile_formula compiles, the operations as written and the numbers as doubles, so roadrunner evaluates it as compile_formula does.

Fixes

  • A panel is integrated to its output times (#526). The service interpolated the steps of the integrator onto the points + 1 output times of a panel, which put the curves of the glimepiride page up to 1.2e-5 of their peak (2.6e-4 relative in the first minutes) off the solution at those times; the simulation of a panel now outputs its times.
  • arcsec, arccsc and arccot of a sum (#526). compile_formula compiled arcsec(x + 1) as arccos(1 / x + 1), without the parentheses of the argument; the functions of a reciprocal now take the reciprocal of their whole argument.
  • Two panels of one id are refused by the writer of the annotation (#520), which wrote both and read one back; the documentation of the service links the web components.

Don't miss a new sbmlsim release

NewReleases is sending notifications on new releases.