Releases: AMICI-dev/AMICI
AMICI v0.34.2
Bugfix release.
- Python 3.14 compatibility
- Swig 4.4.0 compatibility
- Fixes a bug that resulted in incorrect processing of initial assignments
containing (amici-)splines - Fixes an SBML import error during the handling of algebraic rules
- Fixes a CMake error with certain CMake versions
- Fixes type annotations in swig wrappers
Full Changelog: v0.34.1...v0.34.2
AMICI v0.34.1
Bugfix release.
- Fixed a bug that would lead to incorrect model initialization in SBML models
with initial assignments that depend on dynamic entities
(by @dweindl in #2939)
Full Changelog: v0.34.0...v0.34.1
AMICI v0.34.0
The amici 0.34.0 release contains a number of bug fixes and new features.
Note that this will probably be the last release to include the MATLAB interface.
Fixes
- Breaking changes Events are now also handled during pre-equilibration, presimulation, and post-equilibration.
This may be a breaking change, as it may lead to different results for models with events that may trigger during these periods. This change is considered a bugfix, as it was not intended to ignore events during these periods.
(by @dweindl in #2777, #2780, #2859, #2881, #2889, #2920, #2921, #2925) - Fixed various issues related to adjoint sensitivity analysis for models with events.
While many cases are now supported, it is still highly recommended to check the ASA results for models with events against forward sensitivities or finite differences.- Adjoint sensitivities for Python-imported models with events (by @paulstapor & @dweindl in #1539)
- Fix Model::addAdjointQuadratureEventUpdate (by @dweindl in #2787)
- Fix indexing errors for adjoint quadratures during event updates (by @dweindl in #2796)
- Fix deltaxB dimensions (by @dweindl in #2803)
- Fix (some) ASA event handling (by @dweindl in #2797)
- Fixed a number of issues related to the handling of events or discontinuities in general:
- Fixed sign of residuals (by @dweindl in #2896)
- Updated the steady state notebook to match the current implementation (by @plakrisenko & @dweindl in #2891)
- Improved sigma<=0 error reporting (by @FFroehlich in #2829)
- Fixed sensitivities for the total abundances of conservation laws (only relevant if
AMICI_EXPERIMENTAL_SBML_NONCONST_CLSis enabled) (by @dweindl in #2782) - Fix sensitivities w.r.t. unused log-scaled NaN parameters (by @dweindl in #2903)
Features
- AMICI should now be pip-installable without pre-installing SWIG or BLAS (by @dweindl in #2774, #2772)
- Event/discontinuity handling for JAX models
- Track discontinuities in JAX & fix gradient for models with parameter dependent roots (by @FFroehlich in #2815)
- Improve JAX event integration (by @FFroehlich in #2841)
- mask event functions in jax (by @FFroehlich in #2863)
- Handle state-independent, parameter-dependent event triggers without root-finding (by @dweindl in #2913)
- Presimulation is now also supported in combination with adjoint sensitivities (by @dweindl in #2786)
- It is now possible to set a separate
$t_0$ for pre-equilibration and main simulation (by @dweindl in #2793) - Sensitivity analysis for
AlgebraicRule/ DAE models is now also supported for Python-imported models
(by @dweindl in #2101) - An optional random generator seed can now be passed to
ExpData::ExpData(ReturnData const&, ...)when generating synthetic measurements (by @dweindl in #2802) - Added
ReturnData::plist(by @dweindl in #2874)
... and extended tests, documentation, and many changes under the hood.
Full Changelog: v0.33.0...v0.34.0
AMICI v0.33.0
Note that this release requires Python >= 3.11.
Fixes
-
Fixed an issue in SBML AlgebraicRule processing leading to import failure if a species occurred in multiple AlgebraicRules
-
Fixed a potential segfault when running forward sensitivity analysis for models without state variables
by @FFroehlich in #2749
-
Fixed a dimension bug for presimulation parameters in ExpDataView
by @FFroehlich in #2746
-
Fixed incorrect initialization for initial assignments with explicit time dependence
Features
-
AMICI now supports SBML events with
use_values_from_trigger_time=true -
AMICI now supports SBML events with constant priorities
Other changes
-
doc: Added a caveats section listing some known issues and potentially unexpected behavior in AMICI
-
Added warnings for presimulation and steady state simulation with events. So far, events were not fully supported in these modes. This is subject to change.
Full Changelog: v0.32.0...v0.33.0
AMICI v0.32.0
Breaking changes
-
Removed deprecated
amici.petab_*modules (now underamici.petab.*) -
Removed deprecated CLI options to
amici_import_petab
Changed requirements
-
AMICI now requires a C++20-compatible compiler
-
AMICI now requires swig>=4.1
-
AMICI now uses the sbmlmath package for sympification of SBML math constructs
Fixes
-
Fixed Heaviside functions for
<,><=,>=which could have lead to incorrect simulation results.Note that
>and>=, as well as<and<=can't be distinguished in some cases (see #2707). Avoid situations where this would matter. -
Prevent segfaults under pytest after swig4.3 wrapping
-
Fixed
SetuptoolsDeprecationWarning: \project.license` as a TOML table is deprecated` -
Updated Dockerfile, use Ubuntu 24.04 LTS
-
SBML import: Handle unsolvable event triggers
-
Added RTFUNC_FAIL simulation status
-
doc: Enable building docs with Python 3.13
-
Fixed crash for models without state variables
-
SBML import: avoid repeated xdot==0 checks
-
Fixed Boolean to float conversion issues during SBML import
Features
-
Support for XOR,
==and!=operators in SBML modelsNote that not all (combinations of) Boolean functions will work well with AMICI's root-finding. It's recommended to verify the results.
Full Changelog: v0.31.2...v0.32.0
AMICI v0.31.2
Bugfix-only release.
- SBML import: Handle unsolvable event triggers
by @dweindl in #2686 - Fixed a clang compiler warning related to variable length arrays
by @FFroehlich in #2688 - Temporarily require interpax<=0.3.6
by @dweindl in #2678 - Update OpenBLAS installation script to work with CMake>=4
by @dweindl in #2679 - GHA: Don't run cron jobs on forks by @dweindl in #2669
- Fixed Matlab documentation build with CMake 4.0
by @dweindl in #2676
Full Changelog: v0.31.1...v0.31.2
AMICI v0.31.1
Bugfix-only release.
Full Changelog: v0.31.0...v0.31.1
AMICI v0.31.0
- Added
RDataReporting::observables_likelihoodfor computing observables, likelihood and the respective sensitivities
by @dweindl in #2627, #2633 - JAX:
- Updated diffrax & jaxlib
by @FFroehlich in #2632 - Avoid silent preequilibration failure in JAX
by @FFroehlich in #2631 - jax vectorisation
by @FFroehlich in #2636 - No flattening of timepoint specific overrides in jax
by @FFroehlich in #2641
- Updated diffrax & jaxlib
- Faster PEtab parameter mapping
by @dweindl in #2638, #2640
Full Changelog: v0.30.1...v0.31.0
AMICI v0.30.1
Bugfix-only release.
- Removed
eqx.debug.nan, fixes #2629
by @FFroehlich in #2630 - Fixes an SBML import issue that led to incorrect results for models with
species-dependent initial assignments (fixes #2642)
by @FFroehlich in #2643 - Fixed
CVodeGetSensDkyerror message
by @dweindl in #2644 - Disabled
CvodeFcheckpointing to prevent certain rare crashes when forward
integration takes exactlymaxstepsintegration steps, plus some additional
yet unclear condition.
by @dweindl in #2645 - Fixed rare crashes due to uncaught exceptions in
~FinalStateStorer
by @dweindl in #2647
Full Changelog: v0.30.0...v0.30.1
AMICI v0.30.0
Please note that the amici JAX model generation introduced in v0.29.0 is experimental, the API may substantially change in the future. Use at your own risk and do not expect backward compatibility.
Features
-
Added serialisation for JAX models
by @FFroehlich in #2608
-
Disabled building the C++ extension by default when generating a JAX model
by @FFroehlich in #2609
-
Separate pre-equilibration and dynamic simulation in jax
by @FFroehlich in #2617
-
State reinitialisation in JAX
by @FFroehlich in #2619
Fixes
-
Fixed ModelStateDerived copy ctor (fixes potential segfaults)
-
PEtab parameter mapping: fill in fixed parameter values for initial values
-
nan-safe log÷ for JAX modelsby @FFroehlich in #2611
Full Changelog: v0.29.0...v0.30.0