Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.5.5 #1545

Draft
wants to merge 35 commits into
base: main
Choose a base branch
from
Draft

Release v0.5.5 #1545

wants to merge 35 commits into from

Conversation

PaulJonasJost
Copy link
Collaborator

@PaulJonasJost PaulJonasJost commented Jan 8, 2025

dweindl and others added 29 commits November 5, 2024 16:00
Fixes a bug in ESSOptimizer that lead to incorrect priorities for the selection of candidate solutions for local searches.
A numpy array was incorrectly initialized from a generator, which led to the `balance` hyperparameter being practically ignored, and candidate solutions being ranked only by objective function value.
For further background, see #1448.

We don't have to compute the full gradient in every model simulation. Some entries might not be required because of fixed parameter or some condition-specific objective parameter mapping. The former was supported (however, not tested), the latter was not supported. Now both are tested an supported.

There was no good way to communicate the fixed parameters to AmiciCalculator where ExpData.plist gets set. Passing this information is currently only possible through the parameter mapping, based on which the required sensitivities are determined. Therefore, in addition to the general parameter mapping, there is now a parameter mapping that accounts for the fixed parameters. Not sure what could be a more elegant way to handle that.
* let users supply calibration results

* handle calibrated model via petab select

* custom petab select branch

* functionality moved to petab-select

* update method for next petab_select version

* update for petab select

* update for next petab-select version

---------

Co-authored-by: Doresic <[email protected]>
…mula & viceversa (#1504)

* Search for observable inner pars in noise formulas & vice-versa

* Fix if statements

* Fix different censoring_types are allowed
* Remove inner rdatas from relative calculator

* Remove inner_rdatas from C.py
* let users supply calibration results

* minimize method maker for sacess

* doc

* user-supplied constructor args

* doc how to specify e.g. `max_walltime_s`

* allow saving of sacess histories

* handle calibrated model via petab select

* custom petab select branch

* functionality moved to petab-select

* change Iterable import

* update method for next petab_select version

* update for petab select

* update for next petab-select version

* fix tmpdir

* handle no user tmpdir

* test SacessMinimizeMethod partially

* include fides dependency in select tests

* Update pypesto/select/misc.py

Co-authored-by: Daniel Weindl <[email protected]>

---------

Co-authored-by: Dilan Pathirana <[email protected]>
Co-authored-by: Dilan Pathirana <[email protected]>
Co-authored-by: Doresic <[email protected]>
Co-authored-by: Doresic <[email protected]>
Co-authored-by: Daniel Weindl <[email protected]>
Fixes `ValueError: min() arg is an empty sequence)` that may cause deadlocks.
…1509)

Fixes a warning `RuntimeWarning: The following problem parameters were not used: {[...]}
  amici.petab.conditions.fill_in_parameters(` in case of fixed parameters.
The warning was issued since #1493. 

This also fills in the fixed parameter values in the parameter mapping for the fixed parameters that was missing in #1493.
Add example, background, cross-references, ...

---------

Co-authored-by: Dilan Pathirana <[email protected]>
Follow-up to #1493 and #1509, which only filled in PEtab-fixed parameters for simulation but not preequilibration in the parameter mapping.

Adding Weber_BMC2015 to the PEtab tests, where this issue popped up.
We want to avoid nlopt-python 2.9.0 because it does not match nlopt v2.9.0 and is affected by stevengj/nlopt#575.

Closes #1511.
* Fix test_deepcopy_objective (Fixes #1520)
* Fix test_preeq_guesses 

Failures were related to changes in amici's default steady-state settings.
* ArmisteadHoe2024

* LakrisenkoPat2024

* ..
An incorrect value was used for `local_options`.
Previously, uncaught exceptions in SacessOptimizer worker processes would have resulted in deadlocks in `SacessOptimizer.minimize`.

These changes will (in most cases) prevent deadlocks and other errors due to missing results from individual workers.
Furthermore, this will lead to termination of minimize() relatively soon after an error occurred on some worker - not only after some other exit criterion is met.

Closes #1512.
…1523)

* Don't cache the amici installation.
  We are using amici/develop on purpose to detect problems early on. E.g., #1520 should have been detected much earlier.
* Ignore `amici_models` when collecting tests
* Use external BNGPATH if set
Co-authored-by: Vincent Wieland <[email protected]>
Not necessary when using `amici.import_model_module`.
Changes:
*  `OptimizeResult`, `OptimizerResult`(s) can be written by `OptimizationResultHDF5Writer.write()` (Closes #1526)
*  `OptimizerResult`s can be written incrementally by `OptimizationResultHDF5Writer.write_optimizer_result()` (Closes #1527)
* Fixed an `AttributeError` in `pypesto.store.save_to_hdf5.check_overwrite` with `h5py.Group`s
…ker.io (#1083)

* Adding proposal to deploy to docker hub.

* Fix path to Dockerfile.

* Update publish_dockerhub.yml

* Update publish_dockerhub.yml

* Update publish_dockerhub.yml

---------

Co-authored-by: Yannik Schälte <[email protected]>
Co-authored-by: Paul Jonas Jost <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix flatten of axes if only one obs

* Same for other, implement tests of both

* Decrease maxiter of visualize tests
Tests fail because of incompatible un-released changes in petab-select.
Don't write old local optima again and again in every iteration to save time and to avoid huge fragmented files.

Some other smaller modifications/fixes:
* make sacess_history plotting more robust. 
* Set SacessOptimizer.exit_flag
Documentation did not match the code.
* Bump codecov/codecov-action from 4 to 5

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](codecov/codecov-action@v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update ci.yml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weindl <[email protected]>
* Update publish_dockerhub.yml

* Update publish_dockerhub.yml

Corrected workflow.
@codecov-commenter
Copy link

codecov-commenter commented Jan 8, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

Attention: Patch coverage is 81.05263% with 54 lines in your changes missing coverage. Please review.

Project coverage is 84.39%. Comparing base (3b97e34) to head (9f0b6f1).

Files with missing lines Patch % Lines
pypesto/optimize/ess/sacess.py 83.52% 14 Missing ⚠️
pypesto/hierarchical/petab.py 60.00% 8 Missing ⚠️
pypesto/select/misc.py 74.19% 8 Missing ⚠️
pypesto/store/save_to_hdf5.py 80.55% 7 Missing ⚠️
pypesto/visualize/select.py 37.50% 5 Missing ⚠️
pypesto/select/postprocessors.py 50.00% 3 Missing ⚠️
pypesto/visualize/optimizer_history.py 50.00% 3 Missing ⚠️
pypesto/select/method.py 88.23% 2 Missing ⚠️
pypesto/visualize/observable_mapping.py 33.33% 2 Missing ⚠️
pypesto/optimize/ess/ess.py 93.33% 1 Missing ⚠️
... and 1 more

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1545      +/-   ##
==========================================
+ Coverage   82.77%   84.39%   +1.62%     
==========================================
  Files         163      163              
  Lines       13896    13987      +91     
==========================================
+ Hits        11502    11805     +303     
+ Misses       2394     2182     -212     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

dweindl and others added 6 commits January 8, 2025 11:25
Some tests were incompatible with the recently release `scipy==1.15`. Fixed here.
Fix incorrect package URL. Link available options.
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Jonas Jost <[email protected]>
* Update parameters.py

Fix issue #1535

* Update parameters.py

* Update parameters.py

Linting

* Update parameters.py

Revert changes.

* Update read_from_hdf5.py

Decode byte str to str.
* switch to the new `Models` class

* use feature branch

* fixme: use petab select PR branch

* deprecate model_id_binary_postprocessor

* update method.py

* add `ModelProblem` to `pypesto.select` interface

* update for new `end_iteration` and `Problem.state`

* fix tests

* temp fix reqs

* update notebook

* update temp fix petab-select

* deprecate `pypesto.visualize.select` in favor of `petab_select.plot`

* install petab_select[plot]

* remove tests for deprecated viz methods

* move test cases to pypesto

* unfix petab-select

* update notebook; clear cell outputs

* disable other tests

* print debug

* increase logging

* print debug

* update petab-select version

* try explicit return

* check only famos_cli

* fail fast

* pass env var; undo debug code

* add other tests

* review: clarify reloading the problem

* review: numpy class attribute docstring typehints

* review: typo

* fix doc type hint refs, bump petab-select version

* add save/load info and postprocessors to notebook
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants