Skip to content

Releases: AMICI-dev/AMICI

AMICI v0.28.0

11 Nov 08:19
c3bbdd9
Compare
Choose a tag to compare

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 previously integrateIfNewtonFails).

    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 in ValueErrors (#2563).

    by @dweindl in #2562

  • Fixed potentially incorrect disabling of Newton's method

    by @dweindl in #2576

  • Fixed ModelStateDerived copy ctor, where previously dangling pointers could lead to crashes in some situations

    by @dweindl in #2583

  • Added missing simulation status codes

    by @dweindl in #2560

  • Check for unsupported observable IDs in sigma expressions

    by @dweindl in #2563

Features

Full Changelog: v0.27.0...v0.28.0

AMICI v0.27.0

21 Oct 09:53
638c3ee
Compare
Choose a tag to compare

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

    by @dweindl in #2555

  • CMake: Fixes compilation errors for models named model

    by @dweindl in #2547

  • Updated CMake export config, making it easier to use AMICI in CMake projects
    and fixing some potential issues with interferring packages

    by @dweindl in #2540

  • CMake: Set policies for CMake 3.31

    by @dweindl in #2539

  • Documentation fixes by @FFroehlich, @ChocolateCharlie, @dweindl

Full Changelog: v0.26.3...v0.27.0

AMICI v0.26.3

03 Oct 16:25
e89a1de
Compare
Choose a tag to compare

Fixes

  • Skip building SuiteSparse shared libraries and build all subprojects together for slightly faster package installation

    by @dweindl in #2514 and #2519

  • Got rid of petab DeprecationWarnings when using the amici_import_petab CLI

    by @dweindl in #2517

  • Now also sundials and suitesparse are built in debug mode when installing with ENABLE_AMICI_DEBUGGING=TRUE

    by @dweindl in #2515

Full Changelog: v0.26.2...v0.26.3

AMICI v0.26.2

26 Sep 10:28
3dca16e
Compare
Choose a tag to compare

Fixes

  • Fixed a sympy float comparison issue in spline code that would cause an AssertionError

    by @dweindl in #2499

  • Fixed some warnings from recent CMake versions

    by @dweindl in #2492

  • Fixed a potential issue when including AMICI in a CMake project

    by @dweindl in #2493

Full Changelog: v0.26.1...v0.26.2

AMICI v0.26.1

11 Jul 09:32
b0d79ff
Compare
Choose a tag to compare

Fixes

  • Fixed some C++ exception handling that previously could crash Python under certain conditions

    by @dweindl in #2484

  • Disabled turning warnings into errors when building amici on GitHub Actions in downstream projects

    by @dweindl in #2481

  • Fixed CMP0167 warning with CMake 3.30

    by @dweindl in #2480

AMICI v0.26.0

02 Jul 13:15
b958cce
Compare
Choose a tag to compare

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 a petab.Problem instance instead.

    by @dweindl in #2464

Fixes

  • Fixed a bug where during installation of AMICI, an incorrect sundials CMake
    would be used resulting in installation errors.

    by @dweindl in #2468

Full Changelog: v0.25.2...v0.26.0

AMICI v0.25.2

16 Jun 18:20
88a5454
Compare
Choose a tag to compare

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

17 May 13:32
17d6e77
Compare
Choose a tag to compare

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

08 May 13:48
7487607
Compare
Choose a tag to compare

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 that isinstance(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

22 Apr 07:55
29b7ee8
Compare
Choose a tag to compare

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 via FindBLAS
    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 via Model.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