Release notes for sbmlsim 0.18.0
Every analysis is one command with a typed spec which writes only into its output and runs split on a cluster with simrun, AMICI as the third simulation engine, and the generic parts of pkpdsim in sbmlsim: the project of a model package, the records of its fits, its sensitivity analyses, the credibility of a model, the release of a model repository and the verification across versions. There was no release 0.17.0.
Requires python 3.14 or 3.15, python 3.13 is dropped (#458).
Results which change: a model compiled by roadrunner at one optimization level in a process no longer runs with the code of an earlier compilation of the same SBML at another level, which libroadrunner 2.11 reuses (sys-bio/roadrunner#1420); results at O2 after a compilation at O0 in the same process change in the last bits (#465). A strict trigger of the time at the end of a horizon of a steady state fires once in roadrunner (#444).
Features
- Every analysis is one command (#457).
python -m sbmlsim.run <kind> <spec> --out DIRruns an analysis from a typed spec (YAML or JSON) and writes only into its output:fit,identifiability,fisher,report,petab,adopt,scan,sensitivity,uncertainty,simulate,factory,action,credibilityandrelease.plan,unitandmergesplit the analyses with many units (the repeats of a fit, the profiles, the blocks of a scan or a propagation) into units which run anywhere and merge to the result of the whole run, bitwise with roadrunner;--resumecontinues a run,listlists the analyses of a project, the exit codes are 0, 2, 3 and 4, a run records its spec, provenance, progress and summary, and--profileruns it under the sampling profiler of python 3.15. The workers follow the CPU quota of the cgroup of a container.sbmlsim[simrun]registers the kinds as task types of simrun, which runs them on a cluster. - AMICI is the third simulation engine (#220, #441).
Simulator(engine="amici")runs the same plans as roadrunner and COPASI, with the events fired by sbmlsim and a substitute for the steps of the integrator; the compiled models are cached on disk. The extraamici, built from source. COPASI runs without ctypes and with conversion factors (#442, #443, #446, #448). - The project of a model package (#460, #461, #464).
sbmlsim.project.Projectdescribes a model package once: its variants, the factory of its models, the experiments, the fits and their adopted records, scans, uncertainty and sensitivity analyses, actions, the settings of the simulator and the figures, the credibility and the release, with lazymodule:attributereferences, so a package stays cheap to import.sbmlsim.project_checksholds the checks a model package runs in its tests. - Fits of a project (#462, #463). The filters of the fit mappings, the records of adopted fits (
sbmlsim.fit.records,adopt_fit), a fit from the point of another and with the adopted fits of the other subsets fixed, and the experiments run over draws of the uncertainty of the adopted fits (sbmlsim.experiment.draws), which a figure shows as bands. - Sensitivity analyses of a project (#465). The sensitivity runner and the table of its parameters (
sbmlsim.sensitivity.runner,sbmlsim.sensitivity.parameters) over the variants of a project, with the output files manuscripts read. - The credibility of a model (#466, #467, #468).
sbmlsim.credibilitydeclares the contexts of use of a model (ASME V&V 40, ICH M15), selects the evidence from the adopted fits, assesses the contexts with their acceptance, coverage and verdicts, verifies the predictions, propagates the uncertainty of the parameters, checks the variability, runs a battery of checks of the model on the engines, and writes the report, the lock and the scorecard; a framework adds evidence through extensions and checks through a battery hook. - The release of a model repository (#469, #470, #471). The kind
releasebuilds the release of a model repository into its output (the factory, the simulations, the reports of the adopted fits, the credibility, the docs, the release notes, the COMBINE archive withsbmlsim.release.archive.write_archive),python -m sbmlsim.release publishpublishes it; a framework adds its pages and notes through a release hook. - The verification across versions (#472).
python -m sbmlsim.run verify <subcommand>dumps the results of the experiments of a project and compares them between two environments (dump,compare,ranges,fits,definitions,settings,png,sbml,scorecard). - Licenses and distrib formulas (#459).
sbmlsim.licenseswrites the license texts of a model,sbmlsim.distribreads the distrib formulas of the fitted parameters,sbmlsim.result.scanreads the points of a scan. - One unit registry by default (#456). A dataset, units information and a function of data need no registry, and a dataset orders every quantity with its uncertainty and unit.
Fixes
- A later column
timeof the output is the time of its row in every engine (#445, #449). - Every text file is opened, read and written as UTF-8, also under an ASCII locale (#450).
- The outputs of the documentation are written by the documentation workflow before the build (#447, #451).
Documentation
- New pages Projects, Credibility, Release and Licenses, the run layer on the page Analyses (#473); the engines, the models in other formats and the observables reorganized (#452, #453, #454, #455).
Dependencies
- New:
sbmlode(the ODEs of the COMBINE archive of a release). New extras:amici,simrun.