Releases: AMICI-dev/AMICI
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
AMICI v0.23.1
AMICI v0.23.0
Features
-
SBML
InitialAssignment
are no longer absorbed into other model expressions, but are available as parameters or expressions (w
) in the amici model
by @dweindl in #2304, #2305, #2345, #2359 -
Model expressions
w
are now split into static and dynamic expressions, and only evaluated as needed
by @dweindl in #2303 -
Exposed additional solver settings:
Solver.setMaxConvFails()
: maximum number of non-linear solver convergence failuresSolver.setMaxNonlinIters()
: maximum number of non-linear solver iterationsSolver.setMaxStepSize()
: maximum step sizeSolver.setConstraints()
: for setting (non)negativity/positivity constraints on state variables
-
Improved output for debugging simulation failures:
ReturnData.{xdot,J}
now contain the respective values from the timepoint of failure, not the last output timepoint. NaN/Inf warnings now always include the timepoint at which the issue occurred. Note that C++ stacktraces are now only logged for debug builds.
by @dweindl in #2349, #2347, #2366 -
Updated dataframes import/export to include parameter values and scales
by @FFroehlich in #2351
Fixes
- CMake: Updated BLAS detection and some minor fixes
by @dweindl in #2318 and #2357 - Deterministic ordering of source files in generated
CMakeLists.txt
by @dweindl in #2322 - Fixed size check in
Model::setStateIsNonNegative
by @dweindl in #2332 - Fixed uncaught C++ exception in
runAmiciSimulation
that may crash Python in case of invalid values for standard deviations
by @dweindl in #2338 - Fixed missing import in
amici/petab/petab_import.py
by @plakrisenko in #2342 - Fixed
ReturnDataView
AttributeError: messages
by @dweindl in #2341 - Added a missing return code constant
LSETUP_FAIL
by @dweindl in #2353 - Fixed in-place building of model wheels
by @dweindl in #2352 - Made is-zero-checks compatible with the upcoming sympy>1.12
by @dweindl in #2350 - Fixed issues with paths containing blanks for sundials
by @dweindl in #2361 - Added
amici.petab.conditions
to the API documentation
by @PaulJonasJost in #2364 - Improved type annotations in swig-wrappers
by @dweindl in #2344, #2365
Full Changelog: v0.22.0...v0.23.0
AMICI v0.22.0
Features
-
PEtab import: User option to fail if model needs to be compiled
by @dilpath in #2289The
force_compile
argument is now deprecated. Usecompile_
instead. -
Model import now adds a
.gitignore
file to the model output directory
by @dweindl in #2301
Fixes
- Fixed a bug that may have caused wrong simulation results for certain
SBML models that containrateOf
-expressions
by @dweindl in #2291 - More informative error message for
ReturnDataView.by_id
by @dweindl in #2295 - Fixed
ENABLE_AMICI_DEBUGGING=TRUE
not working with MSVC
by @dweindl in #2296 - Fixed MANIFEST.in warning by @dweindl in #2297
- (performance) Skip unnecessary toposorting in
DEModel._collect_heaviside_roots
by @dweindl in #2299 - (performance) Fix redundant calls to
Model::fdwdx
fromModel_ODE::fJ
(only relevant for dense and banded solvers)
by @dweindl in #2298
Full Changelog: v0.21.2...v0.22.0
AMICI v0.21.2
AMICI v0.21.1
Fixed package configuration for PyPI upload. No further changes.
See https://github.com/AMICI-dev/AMICI/releases/tag/v0.21.0.
AMICI v0.21.0
Deprecations
- Moved PEtab-related functionality from
amici.petab_*
to the
petab-subpackageamici.petab.*
. The old public functions are still
available but will be removed in a future release.
by @dweindl in #2205, #2211, #2252
Features
- Handle events occurring at fixed timepoints without root-finding.
This avoids event-after-reinitialization errors in many cases brings a
slight performance improvement.
by @dweindl in #2227 - Added
PetabProblem
class for handling PEtab-defined simulation conditions,
making it easier to perform customized operations based on PEtab-defined
simulation conditions.
by @dweindl in #2255 - code-gen: Simplified
switch
statements, leading to reduced file sizes and
faster compilation for certain models.
by @dweindl in #2240 - Made
Model
andModelPtr
deepcopyable
by @dweindl in #2247 - Made
Solver
andSolverPtr
deepcopyable
by @dweindl in #2245 - Added a debugging helper
get_model_for_preeq
for debugging simulation
issues during pre-equilibration.
by @dweindl in #2250 - Added
SwigPtrView
fields todir()
outputs
by @dweindl in #2244 - Use proper labels for in plotting functions if IDs are available in
ReturnData
.
by @dweindl in #2249 - Added
ExpData::clear_observations
to set all measurements/sigmas to NaN
by @dweindl in #2258
Fixes
- Fixed AMICI hiding all warnings. Previously, importing
amici
resulted
in all warnings being hidden in the rest of the program.
by @dweindl in #2243 - CMake: Fixed model debug builds
by @dweindl in #2222 - Fixed CMake potentially using incorrect Python library for building model
extension
by @dweindl in #2220 - CMake: fixed cxx flag check
by @dweindl in #2225 - Fixed potential out-of-bounds read in
Model::checkFinite
for
matlab-imported models
by @dweindl in #2232 - Fixed piecewise/Heaviside handling
by @dweindl in #2234 - Deterministic order of event assignments
by @dweindl in #2242 - Proper error message in case of unsupported state-dependent sigmas
by @dweindl in #2239 - Fixed swig shadow warning + other linting issues
by @dweindl in #2261 - Fixed
SwigPtrView.__getattr__
by @dweindl in #2259 simulate_petab
: Avoid warning when simulating with default parameters
by @dweindl in #2265
Documentation
- Updated Python package installation instructions for Arch Linux
by @willov in #2212 - Updated
ExpData
documentation
by @dweindl in #2254 - Documented simulation starting time
t0
by @dweindl in #2263 - Updated PEtab example
by @dweindl in #2255
...
Full Changelog: v0.20.0...v0.21.0