Releases: AMICI-dev/AMICI
AMICI v0.28.0
Breaking changes
-
Changed the default steady-state method to
integrationOnly
(by @dweindl in #2574)The default mode for computing steady states and sensitivities at steady state was changed to
integrationOnly
(from previouslyintegrateIfNewtonFails
).This was done for a more robust default behavior. 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 behavior, use:
amici_model.setSteadyStateComputationMode(amici.SteadyStateComputationMode.integrateIfNewtonFails) amici_model.setSteadyStateSensitivityMode(amici.SteadyStateSensitivityMode.integrateIfNewtonFails)
Fixes
-
PEtab import: Fixed potentially incorrect sensitivities with observable/state-dependent sigmas.
This was fixed for all cases amici can handle, others cases will now result inValueError
s (#2563). -
Fixed potentially incorrect disabling of Newton's method
-
Fixed
ModelStateDerived
copy ctor, where previously dangling pointers could lead to crashes in some situations -
Added missing simulation status codes
-
Check for unsupported observable IDs in sigma expressions
Features
Full Changelog: v0.27.0...v0.28.0
AMICI v0.27.0
This release comes with an updated version of the SUNDIALS package (7.1.1) (#2513).
For C++ users of some of AMICI's internal RAII classes, this may include some breaking changes.
The Python API is not affected.
Note regarding editable installations (pip install -e ...
): Due to the SUNDIALS update, it will be necessary to clean out some temporary build directories (at least ThirdParty/sundials/build/
, python/sdist/build/
) before rebuilding the package.
Fixes
-
Fixed a bug that led to program termination if a root-after-reinitialization
error (potentially also others) occurred at an output timepoint -
CMake: Fixes compilation errors for models named
model
-
Updated CMake export config, making it easier to use AMICI in CMake projects
and fixing some potential issues with interferring packages -
CMake: Set policies for CMake 3.31
-
Documentation fixes by @FFroehlich, @ChocolateCharlie, @dweindl
Full Changelog: v0.26.3...v0.27.0
AMICI v0.26.3
Fixes
-
Skip building SuiteSparse shared libraries and build all subprojects together for slightly faster package installation
-
Got rid of petab
DeprecationWarnings
when using theamici_import_petab
CLI -
Now also sundials and suitesparse are built in debug mode when installing with
ENABLE_AMICI_DEBUGGING=TRUE
Full Changelog: v0.26.2...v0.26.3
AMICI v0.26.2
Fixes
-
Fixed a sympy float comparison issue in spline code that would cause an
AssertionError
-
Fixed some warnings from recent CMake versions
-
Fixed a potential issue when including AMICI in a CMake project
Full Changelog: v0.26.1...v0.26.2
AMICI v0.26.1
AMICI v0.26.0
AMICI v0.26.0 requires sympy>=1.12.1 and petab>=0.4.0.
Policy changes
-
Updated AMICI's versioning / deprecation policy
We will start removing deprecated features that had a deprecation warning
for longer than six months in the next minor release.
Deprecations
-
Passing individual tables to
amici_import_petab
is now deprecated.
Use apetab.Problem
instance instead.
Fixes
-
Fixed a bug where during installation of AMICI, an incorrect sundials CMake
would be used resulting in installation errors.
Full Changelog: v0.25.2...v0.26.0
AMICI v0.25.2
Fixes
- Fixed a bug in PEtab import which led to incorrect gradients
w.r.t. estimated initial values specified via the condition table
BREAKING CHANGE:
amici.petab.sbml_import.{import_model_sbml,import_model}
no longer supports
passing individual PEtab tables, but only the PEtab problem object.
This functionality was deprecated since v0.12.0 (2022-08-26). - Fixes for numpy 2.0 compatibility
NOTE: As long as some amici dependencies don't support numpy 2.0 yet,
you may need to pin numpy to <2.0 in your requirements
(pip install amici "numpy<2.0"
).
Full Changelog: v0.25.1...v0.25.2
AMICI v0.25.1
Fixes
- Avoid clashes with sympy-entities in
plot_expressions
by @dweindl in #2440 - PEtab: fix KeyErrors for missing parameters in
fill_in_parameters
(default values are now used if only a subset of parameters is provided)
by @dweindl in #2449 - CMake: Fix Intel MKL detection when not using environment modules
by @dweindl in #2443 - CMake: Fix some issues with multi-config generators
by @dweindl in #2445
Full Changelog: v0.25.0...v0.25.1
AMICI v0.25.0
This release requires Python >= 3.10.
Fixes
- Fixed a bug in event handling that could lead to incorrect simulation
results for models with events that assign to compartments and have
additional event assignments
by @dweindl in #2428 - SBML import: handle
useValuesFromTriggerTime
attribute on events.
This attribute was previously ignored. It is possible that now AMICI fails
to import models that it previously imported successfully. For cases where
useValuesFromTriggerTime=True
made a difference, AMICI might have produced
incorrect results before.
by @dweindl in #2429 - Faster code generation for models with events if they don't have
state-dependent triggers
by @dweindl in #2417 - Most warnings now come with a more informative code location
by @dweindl in #2421 amici.ExpData
was changed so thatisinstance(edata, amici.ExpData)
works
by @dweindl in #2396
Features
- Event-assignments to compartments are now supported. Previously, this only
worked for compartments that were rate rule targets.
by @dweindl in #2425 - Releases are now deployed to Docker Hub
by @dweindl in #2413
Full Changelog: v0.24.0...v0.25.0
AMICI v0.24.0
This will be the last release supporting Python 3.9.
Future releases will require Python 3.10.
Fixes
- Fix cmake error
cannot create directory: /cmake/Amici
during model import in cases where BLAS was not found viaFindBLAS
by @dweindl in #2389 - Added status code
AMICI_CONSTR_FAIL
by @dweindl in #2379 - Fixed certain initial state issues with PEtab
by @dweindl in #2382 - Fixed Solver
operator==
and copyctor
(constraints were not copied correctly)
by @dweindl in #2388 - Avoid confusing warnings about non-finite timepoints
by @dweindl in #2395 - Fixed incorrect exception types / messages for
IDASolver
by @dweindl in #2398 - cmake: set SUNDIALS path hint for python package to help CMake find
the correct SUNDIALS installation
by @dweindl in #2397
Features
- Optionally include measurements in
plot_observable_trajectories
by @dweindl in #2381 - Improved type annotations in swig-wrappers
by @dweindl in #2401 - Additional attributes are accessible directly via
ReturnDataView
and
ExpDataView
, e.g.ReturnDataView.ny
,ReturnDataView.nx
by @dweindl in #2405 - Allow subselection of state variables for convergence check during
steady-state simulations viaModel.set_steadystate_mask([1, 0, ..., 1])
(positive value: check; non-positive: don't check).
by @dweindl in #2387
Full Changelog: v0.23.1...v0.24.0