Skip to content

Latest commit

 

History

History
743 lines (550 loc) · 30.3 KB

CHANGELOG.md

File metadata and controls

743 lines (550 loc) · 30.3 KB

PEtab changelog

0.5 series

0.5.0

Fixes

  • Circumvent SettingWithCopyWarning

    by @m-philipps in #306

  • If flatten_timepoint_specific_output_overrides makes the visualization table invalid, remove it from Problem

    by @m-philipps in #316

Features

  • Added petab.v2.models by @dweindl in #302

  • Added petab.v1.priors.priors_to_measurements(...) for replacing objectivePrior* by observables/measurements

    by @dweindl in #309, #315, #317

  • Make model id optional for PySBModel

    by @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

0.4 series

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.

0.4.1

  • 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

0.4.0

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_prefix method 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

0.3 series

0.3.0

This release requires python>=3.10

Features

  • Visualization: Make line plot lines configurable via petab.visualize.plotter.measurement_line_kwargs and petab.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

New Contributors

  • @PaulJonasJost made their first contribution in #250

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.2.9...v0.3.0

0.2 series

0.2.9

  • Fixed a bug in SbmlModel.get_free_parameter_ids_with_values that led to potentially wrong initial values in the parameter mapping for parameters that are targets of initialAssignments (the value from their value was taken instead of the initial assignment) by @dweindl in #248

0.2.8

0.2.7

  • 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

0.2.6

  • Fixed flatten_timepoint_specific_output_overrides not 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

0.2.5

  • Fix accessing preequilibrationConditionId without checking for presence by @dweindl in #228
  • Startpoint sampling for a subset of parameters by @dweindl in #230
  • Treat observableParameter overrides 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

0.2.4

  • Made figure sizes for visualization functions customizable via petab.visualize.plotting.DEFAULT_FIGSIZE by @dweindl in #222
  • Fixed Handling missing nominalValue in Problem.get_x_nominal by @dweindl in #223
  • Fixed pandas 2.1.0 FutureWarnings by @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

0.2.3

  • 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

0.2.2

  • 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

0.2.1

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

0.2.0

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

0.1 series

0.1.30

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

0.1.29

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

0.1.28

  • 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_condition by @dweindl in #169

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.27...v0.1.28

0.1.27

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_yaml by @dweindl in #138
  • Argument forwarding for Problem.get_optimization_to_simulation_parameter_mapping by @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.calculate errors 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

0.1.26

  • Fix SBML Rule handling logic by @dweindl in #120

0.1.25

  • 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

0.1.24

  • 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

0.1.23

  • 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

0.1.22

  • 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 pathlib for 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

0.1.21

  • 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)

0.1.20

  • 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)

0.1.19

  • Visualization: refactoring (#58) including various bug fixes
  • Validation: Fixed detection of missing observable/noise parameter overrides (#64)
  • Optional relative paths in generated YAML (#57)

0.1.18

  • Fixed various documentation issues
  • Parameter mapping: Added option to ignore time-point specific noiseParameters (#51)

0.1.17

  • Updated package URL
  • Fixed noise formula check (#49)
  • Fixed override check and add noise formula check (#48)
  • Fixed timepoint override check (#47)

0.1.16

Update python version for pypi deployment, no further changes

0.1.15

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.

0.1.14

  • Fix sampling of priors in parameterScale (PEtab-dev/PEtab#492)
  • Clarify documentation of parameterScale priors
  • Improvements in petab.simulate (PEtab-dev/PEtab#479):
    • Fix default noise distributions
    • Add option for non-negative synthetic data

0.1.13

  • Fix for pandas 1.2.0 -- use get_handle instead of get_filepath_or_buffer
  • Fix erroneous petab_test_suite symlink (all PEtab-dev/PEtab#493)

0.1.12

  • 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)

0.1.11

0.1.10

  • Fixed deployment setup, no further changes.*

0.1.9

Library:

0.1.8

Library:

Documentation:

Visualization:

0.1.7

Documentation:

  • Update coverage and links of supporting tools
  • Update explanatory figure

0.1.6

Library:

Documentation:

Visualization:

0.1.5

Library:

Documentation:

  • Add overview of supported PEtab feature in toolboxes
  • Add contribution guide
  • Fix optional values in documentation (PEtab-dev/PEtab#378)

0.1.4

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_table

    For 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

0.1.3

File format:

  • Updated documentation
  • Observables table in YAML file now mandatory in schema (was implicitly mandatory before, as observable table was required already)

Library:

0.1.2

Library:

0.1.1

Library:

  • Fix parameter mapping: include output parameters not present in SBML model
  • Fix missing petab/petab_schema.yaml in source distribution
  • Let get_placeholders return an (ordered) list of placeholders
  • Deprecate petab.problem.from_folder and related functions (obsolete after introducing more flexible YAML files for grouping tables and models)

0.1.0

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)

0.0.2

Bugfix release

  • Fix petablint error
  • Fix minor issues in petab.visualize

0.0.1

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.core functions.
  • 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

0.0 series

0.0.0a17

Data format: No changes

Library:

0.0.0a16 and earlier

See git history