Fixes
- We now support pandas>=3.0 (by @dweindl in #471)
- Updated to the latest PEtab v2 schema (by @dweindl in #470)
- Fixed some warnings (by @dweindl in #475)
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.8.1...v0.8.2
The only change in this release is requiring pandas<3 until we support the new pandas 3 API.
Fixes
- Handle
KeyErrorin CheckInitialChangeSymbols (by @dweindl in #459) - Fix return type in
petab.v2.calculate(by @dweindl in #464) - Implement sampling for v2 prior distributions (by @dweindl in #461)
Features
- Add
v2.Problem.__repr__(by @dweindl in #458) - Add
LogUniformdistribution (by @dweindl in #465) - Add
v2.Problem.has_{map,ml}_objective(by @dweindl in #463)
Other
- Require Python>=3.11 per nep-0029 (by @dweindl in #462)
- v2: Remove
log10-normaldistribution per updated spec (by @dweindl in #456) - Remove
petab.v2-is-experimental warnings (by @dweindl in #457) It still is, but we no longer spam users with warnings.
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.7.0...v0.8.0
Fixes
- Misc minor
petab.v2(by @dweindl in #445 and #450) - Fixed serialization of
priorParameters(by @dweindl in #449)
Features
- Added
PySBModel.to_str(by @dweindl in #451) - Added
idfield tov2.ProblemConfig(by @dweindl in #442) - Updated
ExperimentsToEventsConverterto changed initialization semantics (by @dweindl in #443) - Added
v2.Problem.{get_output_parameters,get_x_nominal_dict}(by @dweindl in #447) - Extended PEtab v2 mapping table validation (by @dweindl in #452)
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.6.0...v0.7.0
Fixes
- Implement proper truncation for prior distributions (parameter bounds now truncate the prior distribution instead of putting extra probability mass on the bounds) (by @dweindl in #335)
- Fixed
get_required_parameters_for_parameter_table(by @dweindl in #340) - Fixed
Prior.from_par_dictfor missingpriorParameterscolumns (by @dweindl in #341) - Fixed petablint v2 warning (by @dweindl in #342)
- Fixed linter failing on missing
noiseFormula(by @dweindl in #367) - Fixed v2 import Deprecation warning (by @dweindl in #346)
- petab.calculate: compare all common columns (by @dweindl in #347)
- Fixed version checks (by @dweindl in #350)
- Create output directories in
write_*_df(by @dweindl in #352) - Handle
observableTransformationinpetab.v1.simulate.sample_noise(by @dweindl in #383) - Fixed residual calculation in
v1.calculate(by @dweindl in #395) - Allow empty string "" in columns to be overridden with default values in priors (by @PaulJonasJost in #384)
- Fixed
goodness_of_fitplot and add color parameter (by @plakrisenko in #402 & #437, by @dweindl in #440) - Plot without vis spec without
ids_per_plot(by @PaulJonasJost in #386)
Deprecations
-
Using any PEtab-v2-related functionality currently in
petab.v1is deprecated and will be removed in a subsequent release. Usepetab.v2instead.This affects, for example, PEtab-v2-specific constants
petab.v1.C(usepetab.v2.Cinstead),petab.v1.mapping, or anything mapping-table-related inpetab.v1.Problem.
Features
-
Substantially extended and updated
petab.v2for working with PEtab v2 problems.PEtab v2 is still in draft stage -- feedback is welcome!
- PEtab v2 support for
petablint - The library uses pydantic-based objects for most PEtab entities instead of plain DataFrames
- Functionality for converting PEtab v1 problems to (the current state of) PEtab v2
At least until PEtab v2 is finalized, the
petab.v2API may change rapidly, and should not be considered stable. - PEtab v2 support for
-
SbmlModel enhancements (by @fbergmann in #333)
-
Added
SbmlModel.from_antimony(by @dweindl in #331) -
Added
SbmlModel.{to_antimony,to_sbml_str}(by @dweindl in #371) -
Enable passing the base path to
Problem.from_yaml(by @dweindl in #327) -
Functions for adding conditions/observables/parameter to
Problem(by @dweindl in #328) -
Added
evaluate: boolargument to math parser (by @dweindl in #365) -
Added petab-compatible sympy string-printer (
PetabStrPrinter/petab_math_str) (by @dweindl in #364) -
Prettified linter output (by @dweindl in #401)
-
Store problem configuration in
Problem(by @dweindl in #326) -
Store path info in *Table objects (by @dweindl in #416)
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.5.0...v0.6.0
Fixes
-
Circumvent
SettingWithCopyWarningby @m-philipps in #306
-
If
flatten_timepoint_specific_output_overridesmakes the visualization table invalid, remove it fromProblemby @m-philipps in #316
Features
-
Added
petab.v2.modelsby @dweindl in #302 -
Added
petab.v1.priors.priors_to_measurements(...)for replacingobjectivePrior*by observables/measurements -
Make model id optional for
PySBModelby @dweindl in #318
-
Implemented
Model.__repr__by @dweindl in #319
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.4.1...v0.5.0
This series contains many changes related to the new petab.v2 subpackage. petab.v2 should not be considered stable; the petab.v2 API may change rapidly until we release libpetab-python v1.0.0.
- Fix: keep previously-optional dependencies optional by @dweindl in #298
- Add petab.v2.C by @dweindl in #299
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.4.0...v0.4.1
Prepare for PEtab v2
To enable ongoing support for PEtab v1, while "forking" the v1 code for PEtab v2, the old code base is now available at petab.v1, and the new code base will be at petab.v2. For now, old import petab.* statements still work, but are marked as deprecated, and import petab.v1.* should be used instead. petablint will be designed for use with only full PEtab problems in future too, rather than individual tables -- partial problems will be supported to validate individual tables.
- Add PEtab math parser and sympy converter by @dweindl in #260
- Deprecate petablint with individual tables by @dweindl in #274
- Introduce petab.v1 package by @dweindl in #282
- Separate v1 and v2 tests by @dweindl in #284
- Add petab.v2.Problem by @dweindl in #285
- PEtab v1 to v2 converter by @dweindl in #281
- Fix imports related to v1 subpackage by @dweindl in #293
Validation
Validation will become increasingly atomic and OOP, to support extension-specific validation in PEtab v2.
- Validator: check for positive bounds for log-scaled parameter by @dweindl in #278
- Validator: check prior parameters by @dweindl in #279
- Fix validation for remote files by @dweindl in #287
- New validation API by @dweindl in #288
Documentation
- Fixed formatting / missing type annotations by @dweindl in #292
- Added versioning and deprecation policy by @dweindl in #277
Other changes
- Simplify yaml schema by @dweindl in #264
- Handle numpy types in sympify_petab by @dweindl in #294
- New
get_path_prefixmethod to get the base path for relative paths in PEtab problem YAML by @dweindl in #280
New Contributors
- @dependabot made their first contribution in #267
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.3.0...v0.4.0
This release requires python>=3.10
Features
- Visualization: Make line plot lines configurable via
petab.visualize.plotter.measurement_line_kwargs andpetab.visualize.plotter.simulation_line_kwargs` by @dweindl in #254 - Validator: check that
datasetIds referenced in visualization tables exists in measurement tables by @dweindl in #255
Fixes
- Drop an index if it's reset by @dilpath in #262
- @PaulJonasJost made their first contribution in #250
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.9...v0.3.0
- Fixed a bug in
SbmlModel.get_free_parameter_ids_with_valuesthat led to potentially wrong initial values in the parameter mapping for parameters that are targets ofinitialAssignments (the value from theirvaluewas taken instead of the initial assignment) by @dweindl in #248
-
Fixed pandas
FutureWarninginpetab/visualize/lint.pyby @dweindl in #242 -
Added
petab.Problem.n_{estimated,measurements,priors}by @dweindl in #243 -
Require pyarrow by @dweindl in #244
-
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.7...v0.2.8
- Fixed a bug in
flatten_timepoint_specific_output_overrides, which did not handle numeric values correctly
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.6...v0.2.7
- Fixed
flatten_timepoint_specific_output_overridesnot supporting observableParameter overrides as placeholders in noise formulae by @dweindl in #235 - Visualization: fixed replicate sorting by @plakrisenko in #232
- Doc: Revised visualization examples by @dweindl in #236
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.5...v0.2.6
- Fix accessing
preequilibrationConditionIdwithout checking for presence by @dweindl in #228 - Startpoint sampling for a subset of parameters by @dweindl in #230
- Treat
observableParameteroverrides as placeholders in noise formulae by @dilpath in #231
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.4...v0.2.5
- Made figure sizes for visualization functions customizable via
petab.visualize.plotting.DEFAULT_FIGSIZEby @dweindl in #222 - Fixed Handling missing
nominalValueinProblem.get_x_nominalby @dweindl in #223 - Fixed pandas 2.1.0
FutureWarningsby @dweindl in #226 - Added pre-commit-config, ran black, isort, ... by @dweindl in #225
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.3...v0.2.4
- Fixed validation failures in case of missing optional fields in visualization tables by @dweindl in #214
- Make validate_visualization_df work without matplotlib installation by @dweindl @dilpath in #215
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.2...v0.2.3
- Fixed IndexError with numpy 1.25.0 by @dweindl in #209
- Made
SbmlModel.from_file(..., model_id)optional by @dilpath in #207
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.1...v0.2.2
Fixes:
- Fixed an issue in
Problem.to_files(model_file=...)(#204) - Fixed
PySBModel.get_parameter_value, which incorrectly returned the parameter name instead of its value (#203)
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.0...v0.2.1
Note: petab 0.2.0 requires Python>=3.9
Features:
- Plot measurements for t = 'inf' by @plakrisenko in #149
- Added validation for visualization files by @dweindl in #184 #189
- Startpoints as dict by @dweindl in #188
- Residuals plot by @plakrisenko in #187 #191
- add goodness of fit plot by @plakrisenko in #192
- Add PySBModel for handling of PySB models by @dweindl in #145
Fixes
- Vis: Don't fail on missing simulations by @dweindl in #185
- prevent strings being parsed as nan in get_visualization_df by @plakrisenko in #193
- Fix get_model_for_condition by @dweindl in #194
- Simulator: rename measurement column to simulation by @dilpath in #199
- Fix sympy symbol name clashes by @dweindl in #202
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.30...v0.2.0
Various smaller fixes:
- Vis: Handle missing data more gracefully by @dweindl in #175
- Fix test dependencies: scipy by @dweindl in #177
- Add
petab.Problem.__str__by @dweindl in #178 - Fix deprecated tight layout matplotlib by @yannikschaelte in #180
- Move tests to tox by @yannikschaelte in #182
- Update deprecated functions in tests by @yannikschaelte in #181
- Use petab identifier for combine archives by @fbergmann in #179
New Contributors
- @fbergmann made their first contribution in #179
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.29...v0.1.30
Features:
- Method to unflatten simulation dataframe produced by flattened PEtab problem by @dilpath in #171
- Methods to simplify PEtab problems by @dweindl in #172
Fixes:
- Fix relative paths for model files by @dilpath in #173
Full Changelog https://github.com/PEtab-dev/libpetab-python/compare/v0.1.28...v0.1.29
- Fixed validation for output parameters columns in the condition table by @dweindl in #161
- Added Python support policy by @dweindl in #162
- Fixed typehints and deprecation warning by @dweindl in #165
- Fixed SBML validation by @dweindl in #168
- Fixed deprecation warning from
get_model_for_conditionby @dweindl in #169
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.27...v0.1.28
Features:
- Added method to check if measurement time is at steady-state by @dilpath in #124
- Create dummy simulation conditions dataframe for empty measurements by @dilpath in #127
- Validator: Report empty noiseFormula by @dweindl in #134
- Speedup visspec assembly / fix deprecation warning by @dweindl in #135
- Handle incomplete PEtab problems in
petab.Problem.from_yamlby @dweindl in #138 - Argument forwarding for
Problem.get_optimization_to_simulation_parameter_mappingby @dweindl in #159 - Added candidate schema for version 2 by @dweindl in #142
get_parameter_df: Allow any collection of parameter tables by @dweindl in #153, @m-philipps in #156, @dilpath in #157- Updated visualization example notebooks by @dweindl in #137, by @plakrisenko in #146, by @plakrisenko in #147
- Added support for PEtab problems with multiple condition files by @dweindl in #152
- Added abstraction for (SBML) models by @dweindl in #133
Fixes:
- Apply get table method before write table method to ensure correct index by @dilpath in #126
- petablint: Fix incorrect noise-parameter-mismatch error message by @dweindl in #129
- Fixed handling of NaN values for parameters in condition table by @dweindl in #150
- More informative
petab.calculateerrors by @dweindl in #151
Removals:
- Removed ancient/deprecated default file naming scheme by @dweindl in #132
- Removed ancient deprecated functions related to specifying observables/noise models inside SBML by @dweindl in #140 #131
- Removed deprecated visualization functions by @dweindl in #130
New Contributors
- @m-philipps made their first contribution in #156
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.26...v0.1.27
- Fix SBML Rule handling logic by @dweindl in #120
- Fix for pytest 7.1 by @yannikschaelte in #112
- Fix jinja version by @dilpath in #115
- Add steady state constant by @dilpath in #114
- Omit measurement processing if not relevant for parameter mapping by @FFroehlich in #117
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.24...v0.1.25
- Added method to generate condition-specific SBML models by @dweindl in #108
- GHA: Regular package installation instead of -e by @dweindl in #106
- Fixed unclosed file warnings by @dilpath in #107
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.23...v0.1.24
- Added command line interface for plotting by @dweindl in #98
- Fixed petab.visualize.data_overview.create_report by @dweindl in #96, #104
- Vis: Fixed cropped errorbars by @dweindl in #99
- Fixed pandas deprecation warning by @dweindl in #103
... and other changes by @plakrisenko, @dweindl
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.22...v0.1.23
- Allow zero bounds for log parameters by @FFroehlich in #83
- Adapt to Matplotlib 3.5 by @dweindl in #86
- Allow specifying file format for visualization by @dweindl in #85
- Visualization: Don't mess with rcParams by @dweindl in #90
- Linter: Check condition IDs are unique by @dweindl in #92
- Add support for
pathlibfor reading PEtab tables by @dweindl, @dilpath in #93, #91 - Run tests also on Python 3.10 by @dweindl in #88
- Fix remote file retrieval on Windows @dweindl, @dilpath in #91
- Fix test suite for Windows @dweindl, @dilpath in #91
Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.21...v0.1.22
- PEtab spec compliance: measurements must now be not null, and numeric (#76)
- Users who relied on null measurements for simulation/plotting are recommended to store these dummy simulation-only measurements in an additional file, separate to real measurements used for calibration
- Improve Unicode support (#79, fixes #77)
- Convenience methods to scale or unscale a parameter vector (#78)
- Visualization: plot additional simulation points (not only at measurements) (#62), bugfix (#68)
- Documentation: visualization, observables, simulation, Sphinx fixes (#67)
- Lint: ensure valid parameter IDs in observable and noise parameters (#69)
- Convenience method for quick export of a PEtab problem to files (#71)
- Visualization: refactoring (#58) including various bug fixes
- Validation: Fixed detection of missing observable/noise parameter overrides (#64)
- Optional relative paths in generated YAML (#57)
- Fixed various documentation issues
- Parameter mapping: Added option to ignore time-point specific noiseParameters (#51)
- Updated package URL
- Fixed noise formula check (#49)
- Fixed override check and add noise formula check (#48)
- Fixed timepoint override check (#47)
Update python version for pypi deployment, no further changes
NOTE: The original PEtab format + petab package repository has been split up (#41). This repository now only contains the petab Python package. The PEtab specifications and related information are available at https://github.com/PEtab-dev/PEtab.
- Improved
petab.flatten_timepoint_specific_output_overrides(#42) - Validator: output message in case of successful check is added (PEtab-dev/PEtab#487)
- Update how-to-cite (Closes PEtab-dev/PEtab#432) (PEtab-dev/PEtab#509)
- Broadcast and mapping of scale and unscale functions (PEtab-dev/PEtab#505)
- Update Python requirement (3.7.1) (PEtab-dev/PEtab#502)
- Fix
petab.get_required_parameters_for_parameter_table(#43) - Fix
petab.measurement_table_has_timepoint_specific_mappings(#44)
- Fix sampling of priors in
parameterScale(PEtab-dev/PEtab#492) - Clarify documentation of
parameterScalepriors - Improvements in
petab.simulate(PEtab-dev/PEtab#479):- Fix default noise distributions
- Add option for non-negative synthetic data
- Fix for pandas 1.2.0 -- use
get_handleinstead ofget_filepath_or_buffer - Fix erroneous
petab_test_suitesymlink (all PEtab-dev/PEtab#493)
- Documentation update:
- Added SBML2Julia to list of tools supporting PEtab
- Extended PEtab introduction
- Tutorial for creating PEtab files
- Minor fix: Default argument for optional 'model' parameter in `petab.lint.check_condition_df`` (PEtab-dev/PEtab#477)
- Function for generating synthetic data (PEtab-dev/PEtab#472)
- Minor documentation updates (PEtab-dev/PEtab#470)
- Fixed deployment setup, no further changes.*
Library:
- Allow URL as filenames for YAML files and SBML models (Closes PEtab-dev/PEtab#187) (PEtab-dev/PEtab#459)
- Allow model time in observable formulas (PEtab-dev/PEtab#445)
- Make float parsing from CSV round-trip (PEtab-dev/PEtab#444)
- Validator: Error message for missing IDs, with line numbers. (PEtab-dev/PEtab#467)
- Validator: Detect duplicated observable IDs (PEtab-dev/PEtab#446)
- Some documentation and CI fixes / updates
- Visualization: Add option to save visualization specification (PEtab-dev/PEtab#457)
- Visualization: Column XValue not mandatory anymore (PEtab-dev/PEtab#429)
- Visualization: Add sorting of indices of dataframes for the correct sorting of x-values (PEtab-dev/PEtab#430)
- Visualization: Default value for the column x_label in vis_spec (PEtab-dev/PEtab#431)
Library:
- Use
core.is_emptyto check for empty values (PEtab-dev/PEtab#434) - Move tests to python 3.8 (PEtab-dev/PEtab#435)
- Update to libcombine 0.2.6 (PEtab-dev/PEtab#437)
- Make float parsing from CSV round-trip (PEtab-dev/PEtab#444)
- Lint: Allow model time in observable formulas (PEtab-dev/PEtab#445)
- Lint: Detect duplicated observable ids (PEtab-dev/PEtab#446)
- Fix likelihood calculation with missing values (PEtab-dev/PEtab#451)
Documentation:
- Move format documentation to restructuredtext format (PEtab-dev/PEtab#452)
- Document all noise distributions and observable scales (PEtab-dev/PEtab#452)
- Fix documentation for prior distribution (PEtab-dev/PEtab#449)
Visualization:
- Make XValue column non-mandatory (PEtab-dev/PEtab#429)
- Apply correct condition sorting (PEtab-dev/PEtab#430)
- Apply correct default x label (PEtab-dev/PEtab#431)
Documentation:
- Update coverage and links of supporting tools
- Update explanatory figure
Library:
- Fix handling of empty columns for residual calculation (PEtab-dev/PEtab#392)
- Allow optional fixing of fixed parameters in parameter mapping (PEtab-dev/PEtab#399)
- Fix function to flatten out time-point specific overrides (PEtab-dev/PEtab#404)
- Add function to create a problem yaml file (PEtab-dev/PEtab#398)
- Allow merging of multiple parameter files (PEtab-dev/PEtab#407)
Documentation:
- In README, add to the overview table the coverage for the supporting tools, and links and usage examples (various commits)
- Show README on readthedocs documentation front page (PEtab-dev/PEtab#400)
- Correct description of observable and noise formulas (PEtab-dev/PEtab#401)
- Update documentation on optional visualization values (PEtab-dev/PEtab#405, PEtab-dev/PEtab#419)
Visualization:
- Fix sorting problem (PEtab-dev/PEtab#396)
- More generously handle optional values (PEtab-dev/PEtab#405, PEtab-dev/PEtab#419)
- Create dataset id also for simulation dataframe (PEtab-dev/PEtab#408)
- Extend test suite for visualization (PEtab-dev/PEtab#418)
Library:
- New create empty observable function (issue 386) (PEtab-dev/PEtab#387)
- Deprecate petab.sbml.globalize_parameters (PEtab-dev/PEtab#381)
- Fix computing log10 likelihood (PEtab-dev/PEtab#380)
- Documentation update and typehints for visualization (PEtab-dev/PEtab#372)
- Ordered result of
petab.get_output_parameters - Fix missing argument to parameters.create_parameter_df
Documentation:
- Add overview of supported PEtab feature in toolboxes
- Add contribution guide
- Fix optional values in documentation (PEtab-dev/PEtab#378)
Library:
-
Fixes / updates in functions for computing llh and chi2
-
Allow and require output parameters defined in observable table to be defined in parameter table
-
Fix merge_preeq_and_sim_pars_condition which incorrectly assumed lists instead of dicts
-
Update parameter mapping to deal with species and compartments in condition table
-
Removed
petab.migrations.sbml_observables_to_tableFor converting older PEtab files to observable table format, use one of the previous releases
-
Visualization:
- Fix various issues with get_data_to_plot
- Fixed various issues with expected presence of optional columns
File format:
- Updated documentation
- Observables table in YAML file now mandatory in schema (was implicitly mandatory before, as observable table was required already)
Library:
- petablint:
- Fix: allow specifying observables file via CLI (Closes PEtab-dev/PEtab#302)
- Fix: nominalValue is optional unless estimated!=1 anywhere (Fixes PEtab-dev/PEtab#303)
- Fix: handle undefined observables more gracefully (Closes PEtab-dev/PEtab#300) (PEtab-dev/PEtab#351)
- Parameter mapping:
- Fix / refactor parameter mapping (breaking change) (PEtab-dev/PEtab#344) (now performing parameter value and scale mapping together)
- check optional measurement cols in mapping (PEtab-dev/PEtab#350)
- allow calculating llhs (PEtab-dev/PEtab#349), chi2 values (PEtab-dev/PEtab#348) and residuals (PEtab-dev/PEtab#345)
- Visualization
- Basic Scatterplots & lot of bar plot fixes (PEtab-dev/PEtab#270)
- Fix incorrect length of bool
bool_preequwhen subsetting with ind_meas (Closes PEtab-dev/PEtab#322)
- make libcombine optional (PEtab-dev/PEtab#338)
Library:
- Extensions and fixes for the visualization functions (PEtab-dev/PEtab#255, PEtab-dev/PEtab#262)
- Allow to extract fixed|free and scaled|non-scaled parameters (PEtab-dev/PEtab#256, PEtab-dev/PEtab#268, PEtab-dev/PEtab#273)
- Various fixes (esp. PEtab-dev/PEtab#264)
- Add function to get observable ids (PEtab-dev/PEtab#269)
- Improve documentation (esp. PEtab-dev/PEtab#289)
- Set default column for simulation results to 'simulation'
- Add support for COMBINE archives (PEtab-dev/PEtab#271)
- Fix sbml observables to table
- Improve prior and dataframe tests (PEtab-dev/PEtab#285, PEtab-dev/PEtab#286, PEtab-dev/PEtab#297)
- Add function to get parameter table with all default values (PEtab-dev/PEtab#288)
- Move tests to github actions (PEtab-dev/PEtab#281)
- Check for valid identifiers
- Fix handling of empty values in dataframes
- Allow to get numeric values in parameter mappings in scaled form (PEtab-dev/PEtab#308)
Library:
- Fix parameter mapping: include output parameters not present in SBML model
- Fix missing
petab/petab_schema.yamlin source distribution - Let get_placeholders return an (ordered) list of placeholders
- Deprecate
petab.problem.from_folderand related functions (obsolete after introducing more flexible YAML files for grouping tables and models)
Data format:
- Introduce observables table instead of SBML assignment rules for defining observation model (PEtab-dev/PEtab#244) (moves observableTransformation and noiseModel from the measurement table to the observables table)
- Allow initial concentrations / sizes in condition table (PEtab-dev/PEtab#238)
- Fixes and clarifications in the format documentation
- Changes in prior columns of the parameter table (PEtab-dev/PEtab#222)
- Introduced separate version number of file format, this release being version 1
Library:
- Adaptations to new file formats
- Various bugfixes and clean-up, especially in visualization and validator
- Parameter mapping changed to include all model parameters and not only those differing from the ones defined inside the SBML model
- Introduced constants for all field names and string options, replacing most string literals in the code (PEtab-dev/PEtab#228)
- Added unit tests and additional format validation steps
- Optional parallelization of parameter mapping (PEtab-dev/PEtab#205)
- Extended documentation (in-source and example Jupyter notebooks)
Bugfix release
- Fix
petablinterror - Fix minor issues in
petab.visualize
Data format:
- Update format and documentation with respect to data and parameter scales (PEtab-dev/PEtab#169)
- Define YAML schema for grouping PEtab files, also allowing for more complex combinations of files (PEtab-dev/PEtab#183)
Library:
- Refactor library. Reorganize
petab.corefunctions. - Fix visualization w/o condition names PEtab-dev/PEtab#142
- Extend validator
- Removed deprecated functions petab.Problem.get_constant_parameters and petab.sbml.constant_species_to_parameters
- Minor fixes and extensions
Data format: No changes
Library:
- Extended visualization support
- Add helper function and test case to deal with timepoint-specific parameters flatten_timepoint_specific_output_overrides (PEtab-dev/PEtab#128) (Closes PEtab-dev/PEtab#125)
- Fix get_noise_distributions: so far we got 'normal' everywhere due to wrong grouping (PEtab-dev/PEtab#147)
- Fix create_parameter_df: Exclude rule targets (PEtab-dev/PEtab#149)
- Verify condition table column names occur as model parameters (Closes PEtab-dev/PEtab#150) (PEtab-dev/PEtab#151)
- More informative error messages in case of wrongly set observable and noise parameters (Closes PEtab-dev/PEtab#118) (PEtab-dev/PEtab#155)
- Update doc for copasi import and github installation (PEtab-dev/PEtab#158)
- Extend validator to check if all required parameters are present in parameter table (Closes PEtab-dev/PEtab#43) (PEtab-dev/PEtab#159)
- Setup documentation for RTD (PEtab-dev/PEtab#161)
- Handle None in petab.core.split_parameter_replacement_list (Closes PEtab-dev/PEtab#121)
- Fix(lint) correct handling of optional columns. Check before access.
- Remove obsolete generate_experiment_id.py (Closes PEtab-dev/PEtab#111) PEtab-dev/PEtab#166
See git history