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 0.28.0 #2581

Merged
merged 16 commits into from
Nov 11, 2024
Merged

Release 0.28.0 #2581

merged 16 commits into from
Nov 11, 2024

Conversation

dweindl
Copy link
Member

@dweindl dweindl commented Nov 10, 2024

No description provided.

dweindl and others added 11 commits October 23, 2024 19:08
…ndent sigmas (AMICI-dev#2562)

Due to PEtab not allowing and observables in noiseFormula and
AMICI not allowing state variables in sigma expressions, we are trying
to replace any state variables by matching observables during PEtab import.

However, if there were multiple observables with the same observableFormula,
or one observableFormula was contained in another one, the substition
of observableFormula for observableId could - depending on the ordering -
result in noiseFormulas depending on other observables, which could lead to
incorrect sensitivities due to AMICI-dev#2561.

This change ensures that we are only using the observableId from the same
row of the observable table as the noiseFormula.

---------

Co-authored-by: Dilan Pathirana <[email protected]>
* Fix instance vs class attribute for step sizes
* Only flatten problems where necessary
Set PYTHONFAULTHANDLER=1 for more output on crashes (AMICI-dev#2565). So far, this was only set for Ubuntu tests.
* Refactor tests/benchmark-models/test_benchmark_collection.sh into pytest cases
* Unify with gradient checks in `tests/benchmark-models/test_petab_benchmark.py`
* Test some additional benchmark problems

For now, just consolidating the old tests. To be cleaned up further later on.

Closes AMICI-dev#2510.
* Reference value wasn't found for Fiedler_BMCSystBiol2016, because it was recently renamed
* Print all rows from gradient check results
Ignore warnings during macos pytest runs.
It looks like all our dependencies are now Python3.13-ready
(https://github.com/AMICI-dev/AMICI/actions/runs/11753436377/job/32746292107),
so we should require Python3.13 tests to pass.
…eSensitivityMode::integrationOnly` (AMICI-dev#2576)

Fixes a bug that would result in disabling Newton's method for
steady-state computation when steady-state sensitivity mode is set
to `integrationOnly`, even if no senitivities are computed.

This was because only the sensitivity method was checked, but not the sensitivity order.

Fixes AMICI-dev#2575.
**Breaking change**

Change the default mode for computing steady states and sensitivities
at steady state to `integrationOnly` (from previously `integrateIfNewtonFails`).

This is done for a more robust default behaviour. For example, the
evaluation in https://doi.org/10.1371/journal.pone.0312148 shows
that - at least for some models - Newton's method may easily lead to
physically impossible solutions.

To keep the previous behaviour, use:
```python
amici_model.setSteadyStateComputationMode(amici.SteadyStateComputationMode.integrateIfNewtonFails)
amici_model.setSteadyStateSensitivityMode(amici.SteadyStateSensitivityMode.integrateIfNewtonFails)
```

Closes AMICI-dev#2571.
@dweindl dweindl changed the base branch from develop to master November 10, 2024 10:39
@dweindl dweindl changed the title Update changelog, bump version Release 0.28.0 Nov 10, 2024
Copy link

codecov bot commented Nov 10, 2024

Codecov Report

Attention: Patch coverage is 88.37209% with 5 lines in your changes missing coverage. Please review.

Project coverage is 78.00%. Comparing base (638c3ee) to head (307fb23).
Report is 17 commits behind head on master.

Files with missing lines Patch % Lines
include/amici/model_state.h 88.46% 0 Missing and 3 partials ⚠️
include/amici/sundials_matrix_wrapper.h 66.66% 0 Missing and 1 partial ⚠️
include/amici/vector.h 66.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2581      +/-   ##
==========================================
+ Coverage   77.76%   78.00%   +0.24%     
==========================================
  Files         325      325              
  Lines       21858    21852       -6     
  Branches     1473     1456      -17     
==========================================
+ Hits        16997    17046      +49     
+ Misses       4834     4795      -39     
+ Partials       27       11      -16     
Flag Coverage Δ
cpp 76.46% <81.39%> (+2.82%) ⬆️
cpp_python 34.21% <23.25%> (+<0.01%) ⬆️
petab 37.16% <83.33%> (+0.08%) ⬆️
python 72.72% <81.39%> (+0.30%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
include/amici/model.h 76.19% <ø> (ø)
python/sdist/amici/petab/conditions.py 97.43% <100.00%> (ø)
python/sdist/amici/petab/import_helpers.py 85.93% <100.00%> (-0.22%) ⬇️
python/sdist/amici/sbml_import.py 80.21% <100.00%> (+0.73%) ⬆️
src/amici.cpp 79.16% <ø> (ø)
src/solver_cvodes.cpp 70.76% <ø> (ø)
src/steadystateproblem.cpp 84.07% <100.00%> (+0.03%) ⬆️
include/amici/sundials_matrix_wrapper.h 76.13% <66.66%> (-0.34%) ⬇️
include/amici/vector.h 77.08% <66.66%> (-7.37%) ⬇️
include/amici/model_state.h 97.00% <88.46%> (+18.55%) ⬆️

... and 2 files with indirect coverage changes

@dweindl dweindl self-assigned this Nov 10, 2024
`amici.petab.conditions.fill_in_parameters` emits a warnings if parameters are supplied that don't occur in the parameter mapping.
This is to point out potential issues with the parameter mapping.
However, sometimes it's more convenient to silently ignore those extra parameters. Therefore, make this warning optional.
Update `fixes`, ignore test models.
When copying SUNDIALS objects, we need to make sure they have a valid `SUNContext` set.
When copying `ModelStateDerived`, the `SUNContext` needs to be updated. Otherwise,
dangling SUNContext pointers likely result in segfaults later on (AMICI-dev#2579).

This was done only for a subset of objects. In particular the ones added only during
AMICI-dev#2505 were missing, because of other changes
happening in parallel.

To make this less messy: Add `set_ctx(.)` functions all our sundials vector/matrix
wrappers.

Closes AMICI-dev#2579.
@dweindl dweindl marked this pull request as ready for review November 10, 2024 17:54
@dweindl dweindl requested a review from a team as a code owner November 10, 2024 17:54
@dweindl dweindl merged commit c3bbdd9 into AMICI-dev:master Nov 11, 2024
34 checks passed
@dweindl dweindl deleted the release_0.28.0 branch November 11, 2024 08:16
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.

2 participants