Skip to content

Latest commit

 

History

History
896 lines (669 loc) · 37.2 KB

File metadata and controls

896 lines (669 loc) · 37.2 KB

PEtab changelog

0.8 series

0.8.2

Fixes

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.8.1...v0.8.2

0.8.1

The only change in this release is requiring pandas<3 until we support the new pandas 3 API.

0.8.0

Fixes

  • Handle KeyError in CheckInitialChangeSymbols (by @dweindl in PEtab-dev#459)
  • Fix return type in petab.v2.calculate (by @dweindl in PEtab-dev#464)
  • Implement sampling for v2 prior distributions (by @dweindl in PEtab-dev#461)

Features

Other

  • Require Python>=3.11 per nep-0029 (by @dweindl in PEtab-dev#462)
  • v2: Remove log10-normal distribution per updated spec (by @dweindl in PEtab-dev#456)
  • Remove petab.v2-is-experimental warnings (by @dweindl in PEtab-dev#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

0.7 series

0.7.0

Fixes

Features

  • Added PySBModel.to_str (by @dweindl in PEtab-dev#451)
  • Added id field to v2.ProblemConfig (by @dweindl in PEtab-dev#442)
  • Updated ExperimentsToEventsConverter to changed initialization semantics (by @dweindl in PEtab-dev#443)
  • Added v2.Problem.{get_output_parameters,get_x_nominal_dict} (by @dweindl in PEtab-dev#447)
  • Extended PEtab v2 mapping table validation (by @dweindl in PEtab-dev#452)

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.6.0...v0.7.0

0.6 series

0.6.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 PEtab-dev#335)
  • Fixed get_required_parameters_for_parameter_table (by @dweindl in PEtab-dev#340)
  • Fixed Prior.from_par_dict for missing priorParameters columns (by @dweindl in PEtab-dev#341)
  • Fixed petablint v2 warning (by @dweindl in PEtab-dev#342)
  • Fixed linter failing on missing noiseFormula (by @dweindl in PEtab-dev#367)
  • Fixed v2 import Deprecation warning (by @dweindl in PEtab-dev#346)
  • petab.calculate: compare all common columns (by @dweindl in PEtab-dev#347)
  • Fixed version checks (by @dweindl in PEtab-dev#350)
  • Create output directories in write_*_df (by @dweindl in PEtab-dev#352)
  • Handle observableTransformation in petab.v1.simulate.sample_noise (by @dweindl in PEtab-dev#383)
  • Fixed residual calculation in v1.calculate (by @dweindl in PEtab-dev#395)
  • Allow empty string "" in columns to be overridden with default values in priors (by @PaulJonasJost in PEtab-dev#384)
  • Fixed goodness_of_fit plot and add color parameter (by @plakrisenko in PEtab-dev#402 & PEtab-dev#437, by @dweindl in PEtab-dev#440)
  • Plot without vis spec without ids_per_plot (by @PaulJonasJost in PEtab-dev#386)

Deprecations

  • Using any PEtab-v2-related functionality currently in petab.v1 is deprecated and will be removed in a subsequent release. Use petab.v2 instead.

    This affects, for example, PEtab-v2-specific constants petab.v1.C (use petab.v2.C instead), petab.v1.mapping, or anything mapping-table-related in petab.v1.Problem.

Features

  • Substantially extended and updated petab.v2 for 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.v2 API may change rapidly, and should not be considered stable.

  • SbmlModel enhancements (by @fbergmann in PEtab-dev#333)

  • Added SbmlModel.from_antimony (by @dweindl in PEtab-dev#331)

  • Added SbmlModel.{to_antimony,to_sbml_str} (by @dweindl in PEtab-dev#371)

  • Enable passing the base path to Problem.from_yaml (by @dweindl in PEtab-dev#327)

  • Functions for adding conditions/observables/parameter to Problem (by @dweindl in PEtab-dev#328)

  • Added evaluate: bool argument to math parser (by @dweindl in PEtab-dev#365)

  • Added petab-compatible sympy string-printer (PetabStrPrinter/petab_math_str) (by @dweindl in PEtab-dev#364)

  • Prettified linter output (by @dweindl in PEtab-dev#401)

  • Store problem configuration in Problem (by @dweindl in PEtab-dev#326)

  • Store path info in *Table objects (by @dweindl in PEtab-dev#416)

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.5.0...v0.6.0

0.5 series

0.5.0

Fixes

  • Circumvent SettingWithCopyWarning

    by @m-philipps in PEtab-dev#306

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

    by @m-philipps in PEtab-dev#316

Features

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

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.

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 PEtab-dev#278
  • Validator: check prior parameters by @dweindl in PEtab-dev#279
  • Fix validation for remote files by @dweindl in PEtab-dev#287
  • New validation API by @dweindl in PEtab-dev#288

Documentation

  • Fixed formatting / missing type annotations by @dweindl in PEtab-dev#292
  • Added versioning and deprecation policy by @dweindl in PEtab-dev#277

Other changes

  • Simplify yaml schema by @dweindl in PEtab-dev#264
  • Handle numpy types in sympify_petab by @dweindl in PEtab-dev#294
  • New get_path_prefix method to get the base path for relative paths in PEtab problem YAML by @dweindl in PEtab-dev#280

New Contributors

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 PEtab-dev#254
  • Validator: check that datasetIds referenced in visualization tables exists in measurement tables by @dweindl in PEtab-dev#255

Fixes

New Contributors

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 PEtab-dev#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 PEtab-dev#235
  • Visualization: fixed replicate sorting by @plakrisenko in PEtab-dev#232
  • Doc: Revised visualization examples by @dweindl in PEtab-dev#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 PEtab-dev#228
  • Startpoint sampling for a subset of parameters by @dweindl in PEtab-dev#230
  • Treat observableParameter overrides as placeholders in noise formulae by @dilpath in PEtab-dev#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 PEtab-dev#222
  • Fixed Handling missing nominalValue in Problem.get_x_nominal by @dweindl in PEtab-dev#223
  • Fixed pandas 2.1.0 FutureWarnings by @dweindl in PEtab-dev#226
  • Added pre-commit-config, ran black, isort, ... by @dweindl in PEtab-dev#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 PEtab-dev#214
  • Make validate_visualization_df work without matplotlib installation by @dweindl @dilpath in PEtab-dev#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 PEtab-dev#209
  • Made SbmlModel.from_file(..., model_id) optional by @dilpath in PEtab-dev#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:

Fixes

  • Vis: Don't fail on missing simulations by @dweindl in PEtab-dev#185
  • prevent strings being parsed as nan in get_visualization_df by @plakrisenko in PEtab-dev#193
  • Fix get_model_for_condition by @dweindl in PEtab-dev#194
  • Simulator: rename measurement column to simulation by @dilpath in PEtab-dev#199
  • Fix sympy symbol name clashes by @dweindl in PEtab-dev#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 PEtab-dev#175
  • Fix test dependencies: scipy by @dweindl in PEtab-dev#177
  • Add petab.Problem.__str__ by @dweindl in PEtab-dev#178
  • Fix deprecated tight layout matplotlib by @yannikschaelte in PEtab-dev#180
  • Move tests to tox by @yannikschaelte in PEtab-dev#182
  • Update deprecated functions in tests by @yannikschaelte in PEtab-dev#181
  • Use petab identifier for combine archives by @fbergmann in PEtab-dev#179

New Contributors

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 PEtab-dev#171
  • Methods to simplify PEtab problems by @dweindl in PEtab-dev#172

Fixes:

  • Fix relative paths for model files by @dilpath in PEtab-dev#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 PEtab-dev#161
  • Added Python support policy by @dweindl in PEtab-dev#162
  • Fixed typehints and deprecation warning by @dweindl in PEtab-dev#165
  • Fixed SBML validation by @dweindl in PEtab-dev#168
  • Fixed deprecation warning from get_model_for_condition by @dweindl in PEtab-dev#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 PEtab-dev#124
  • Create dummy simulation conditions dataframe for empty measurements by @dilpath in PEtab-dev#127
  • Validator: Report empty noiseFormula by @dweindl in PEtab-dev#134
  • Speedup visspec assembly / fix deprecation warning by @dweindl in PEtab-dev#135
  • Handle incomplete PEtab problems in petab.Problem.from_yaml by @dweindl in PEtab-dev#138
  • Argument forwarding for Problem.get_optimization_to_simulation_parameter_mapping by @dweindl in PEtab-dev#159
  • Added candidate schema for version 2 by @dweindl in PEtab-dev#142
  • get_parameter_df: Allow any collection of parameter tables by @dweindl in PEtab-dev#153, @m-philipps in PEtab-dev#156, @dilpath in PEtab-dev#157
  • Updated visualization example notebooks by @dweindl in PEtab-dev#137, by @plakrisenko in PEtab-dev#146, by @plakrisenko in PEtab-dev#147
  • Added support for PEtab problems with multiple condition files by @dweindl in PEtab-dev#152
  • Added abstraction for (SBML) models by @dweindl in PEtab-dev#133

Fixes:

  • Apply get table method before write table method to ensure correct index by @dilpath in PEtab-dev#126
  • petablint: Fix incorrect noise-parameter-mismatch error message by @dweindl in PEtab-dev#129
  • Fixed handling of NaN values for parameters in condition table by @dweindl in PEtab-dev#150
  • More informative petab.calculate errors by @dweindl in PEtab-dev#151

Removals:

  • Removed ancient/deprecated default file naming scheme by @dweindl in PEtab-dev#132
  • Removed ancient deprecated functions related to specifying observables/noise models inside SBML by @dweindl in PEtab-dev#140 PEtab-dev#131
  • Removed deprecated visualization functions by @dweindl in PEtab-dev#130

New Contributors

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

0.1.26

0.1.25

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 PEtab-dev#108
  • GHA: Regular package installation instead of -e by @dweindl in PEtab-dev#106
  • Fixed unclosed file warnings by @dilpath in PEtab-dev#107

Full Changelog: https://github.com/PEtab-dev/libpetab-python/compare/v0.1.23...v0.1.24

0.1.23

... 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 PEtab-dev#83
  • Adapt to Matplotlib 3.5 by @dweindl in PEtab-dev#86
  • Allow specifying file format for visualization by @dweindl in PEtab-dev#85
  • Visualization: Don't mess with rcParams by @dweindl in PEtab-dev#90
  • Linter: Check condition IDs are unique by @dweindl in PEtab-dev#92
  • Add support for pathlib for reading PEtab tables by @dweindl, @dilpath in PEtab-dev#93, PEtab-dev#91
  • Run tests also on Python 3.10 by @dweindl in PEtab-dev#88
  • Fix remote file retrieval on Windows @dweindl, @dilpath in PEtab-dev#91
  • Fix test suite for Windows @dweindl, @dilpath in PEtab-dev#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 (PEtab-dev#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