Skip to content

Releases: AMICI-dev/AMICI

AMICI v0.30.0

10 Dec 17:36
2d58f54
Compare
Choose a tag to compare

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

Fixes

  • Fixed ModelStateDerived copy ctor (fixes potential segfaults)

    by @dweindl in #2612

  • PEtab parameter mapping: fill in fixed parameter values for initial values

    by @dweindl in #2613

  • nan-safe log&divide for JAX models

    by @FFroehlich in #2611

Full Changelog: v0.29.0...v0.30.0

AMICI v0.29.0

28 Nov 11:45
d2fbf91
Compare
Choose a tag to compare

Fixes

  • Fixed race conditions in froot, which could have resulted in incorrect
    simulation results for models with events/heavisides/piecewise, for
    multi-threaded simulations.

    by @dweindl in #2587

  • Fixed race conditions for the max-time check, which could have resulted in
    incorrect termination of simulations in case of multi-threaded simulations
    in combination with a time limit.

    by @dweindl in #2587

  • Added missing fields in ExpData HDF5 I/O

    by @dweindl in #2593

  • Added missing fields in ReturnData HDF5 output

    by @dweindl in #2602

Features

  • Generate models in a JAX-compatible format (example)

    by @FFroehlich in #1861

  • Faster fill_in_parameters_for_condition

    by @dweindl in #2586

  • Added Python function writeSimulationExpData for writing ExpData to HDF5

    by @dweindl in #2588

  • Improved import of amici-generated models via amici.import_model_module().

    So far, it was not possible to import different model modules with the same
    name. This is now possible if they are in different directories.
    Overwriting an already imported module is still not possible (and never
    was); any attempts to do so will raise a RuntimeError.
    While model packages can, in principle, be imported using regular
    imports, it is strongly recommended to use amici.import_model_module().

    by @dweindl in #2604, #2603, #2596

Full Changelog: v0.28.0...v0.29.0

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