Skip to content

Releases: AMICI-dev/AMICI

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

AMICI v0.23.1

11 Mar 15:32
4d40911
Compare
Choose a tag to compare

Fixes

  • Fixes installation issues related to building SuiteSparse on some systems
    by @dweindl in #2375

AMICI v0.23.0

07 Mar 22:57
815a50d
Compare
Choose a tag to compare

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

  • Upgraded to SuiteSparse 7.6
    by @dweindl in #2316

  • 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 failures
    • Solver.setMaxNonlinIters(): maximum number of non-linear solver iterations
    • Solver.setMaxStepSize(): maximum step size
    • Solver.setConstraints(): for setting (non)negativity/positivity constraints on state variables

    by @dweindl in #2335, #2360, #2340

  • 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

26 Feb 10:56
7a06016
Compare
Choose a tag to compare

Features

  • PEtab import: User option to fail if model needs to be compiled
    by @dilpath in #2289

    The force_compile argument is now deprecated. Use compile_ 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 contain rateOf-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 from Model_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

06 Feb 17:41
fa7c0bd
Compare
Choose a tag to compare

Bugfix release:

  • Fixed Solver copyctor issues with swig4.2 that resulted in installation errors
    by @dweindl in #2276
  • Fixed error when calling amici.ExpData()
    by @dweindl in #2280
  • Fixed invalid-type-error when loading an antimony model from file
    by @dweindl in #2281

Full Changelog: v0.21.1...v0.21.2

AMICI v0.21.1

16 Jan 23:13
Compare
Choose a tag to compare

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

16 Jan 22:44
224e9be
Compare
Choose a tag to compare

Deprecations

  • Moved PEtab-related functionality from amici.petab_* to the
    petab-subpackage amici.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 and ModelPtr deepcopyable
    by @dweindl in #2247
  • Made Solver and SolverPtr 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 to dir() 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

...

Full Changelog: v0.20.0...v0.21.0

AMICI v0.20.0

21 Nov 19:05
ffcbf66
Compare
Choose a tag to compare

Fixes

  • Fixed CMake cmake_minimum_required deprecation warning
    by @dweindl in #2183
  • Fixed misleading preequilibration failure messages
    by @dweindl in #2181
  • Removed setuptools<64 restriction
    by @dweindl in #2180
  • Fixed ExpData equality operator for Python
    by @dweindl in #2194
  • Enabled deepcopy for ExpData(View)
    by @dweindl in #2196
  • Allowed subsetting simulation conditions in simulate_petab
    by @dweindl in #2199
  • Set CMake CMP0144 to prevent warning
    by @dweindl in #2209

Features

  • Possibility to evaluate and plot symbolic expressions based on simulation results
    by @dweindl in #2152
  • Easier access to timepoints via ExpDataView
    by @dweindl in #2193
  • Nicer __repr__ for ReturnDataView
    by @dweindl in #2192

Documentation

Full Changelog: v0.19.0...v0.20.0

AMICI v0.19.0

26 Aug 06:14
7d161a6
Compare
Choose a tag to compare

Features

  • SBML import now supports rateOf
    by @dweindl in #2120

  • Added Model.{get,set}SteadyStateComputationMode (analogous to SteadyStateSensitivityMode)
    which allows to choose how steady state is computed.
    by @plakrisenko in #2074

    Note: The default SteadyStateSensitivityMode changed from newtonOnly to integrateIfNewtonFails.

  • SBML import: Allow hardcoding of numerical values
    by @dweindl in #2134

  • Added antimony2amici for more convenient antimony import
    (simplifies working with raw ODEs, see documentation)
    by @dweindl in #2142

  • Added AMICI_TRY_ENABLE_HDF5 environment variable to control whether to search for HDF5 or not
    by @dweindl in #2148

Fixes

  • Fixed SBML import for events with trigger functions depending on parameters that are initial
    assignment targets
    by @dweindl in #2145
  • Fixed SBML import for event-assigned parameters with non-float initial assignments
    by @dweindl in #2156
  • Fixed unistd.h dependency of hdf5.cpp that led to compilation
    failures on Windows
    by @dweindl in #2154
  • Set CMake policies for cmake 3.27 by @dweindl in #2162
  • Fixed a lib/ vs lib64/ issue, leading to SUNDIALSConfig.cmake-not-found issues
    on some systems
    by @dweindl in #2165
  • CMake: fixed scope of -DHAS_BOOST_CHRONO which may have lead to a mix of
    boost::chrono::thread_clock and std::clock being used in programs using amici,
    and potentially segmentation faults
    by @dweindl in #2163

Performance

  • Combined code for sparse model functions and their index files for slightly faster
    compilation of small models
    by @dweindl in #2159

  • Removed complex / complex long KLU functions for slightly faster amici package installation
    by @dweindl in #2160

Full Changelog: v0.18.1...v0.19.0

AMICI v0.18.1

26 Jun 10:32
a12d173
Compare
Choose a tag to compare

Fixes:

Full Changelog: v0.18.0...v0.18.1