Release notes for sbmlsim 0.9.8
A release of the fits: a fit records what it ran with, and the Fisher information reports the relative error of a parameter. The simulations are unchanged.
Features
- Fit results carry their provenance (#334, #337). Every fit records what it ran with, so that it can be reproduced and reported (
sbmlsim.fit.provenance,FitProvenance): the arguments of the fit (size, algorithm, strategy, seed, study ids, timeout, the optimizer options and the arguments of the caller), the base seed and the seed of every run (Nonefor the runs of least squares, which are deterministic and differ in their start values), the versions of python, sbmlsim, libroadrunner, scipy and numpy, the git revision of the repository which containsbase_pathwith a dirty flag, the SHA-256 of the SBML models and the data files of the problem (OptimizationProblem.files()), the start values of the fit parameters, the values the caller keeps fixed (run_fit(..., fixed_values=...)) and the date and time.run_fitcreates it before the first run; it is in every run JSON and in the result (OptimizationResult.provenance,"provenance"ofto_dict, a lossless round trip). A result of a fit before this release reads withprovenance = None.docs/fitting.mdhas a section "Provenance".
Fixes
- The cv of the Fisher information is the relative error of the parameter (#338, #339). The column
cvofFisherInformation.summary_df(fisher.tsvof a fit and its report) divided the standard error in the space of the optimizer by the value in that space, for a parameter searched as log10se(log10 p)/|log10 p|, which depends on the unit of the parameter and is near infinite for a value near 1 (in the HCTZ model of pkdb_modelsEmax_hctz_cl1.15 had 134 % where its relative error is about 19 %). It is now the relative error of the parameter in the units of the model, to first order (FisherInformation.relative_errors):se/|p|on the linear scale,se(ln p)for ln andln(10) se(log10 p)for log10.