Skip to content

Releases: AMICI-dev/AMICI

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

AMICI v0.18.0

26 May 14:28
0fc51c0
Compare
Choose a tag to compare

Features

Fixes

  • Fixed incorrect forward sensitivities for models with events with state-dependent trigger functions
    by @dweindl in #2084
  • Model import: Don't create spl.h and sspl.h for models without splines
    by @dweindl in #2088
  • SBML import - faster processing of SpeciesReference IDs
    by @dweindl in #2094
  • Update swig ignores
    by @FFroehlich in #2098
  • CMake: Fixed choosing SWIG via SWIG env variable
    by @dweindl in #2100
  • CMake: Try FindBLAS if no other information was provided
    by @dweindl in #2104
  • Fixed cblas error for models without solver states in combination with forward sensitivities
    by @dweindl in #2108
  • Fixed compilation error for models with events and xdot=0
    by @dweindl in #2111
  • Fixed import error for models with events and 0 states
    by @dweindl in #2112

Full Changelog: v0.17.1...v0.18.0

AMICI v0.17.1

10 May 09:35
81d32e7
Compare
Choose a tag to compare

This release fixes two bugs:

  • One bug introduced in v0.17.0, that causes an ImportError
    on macOS (#2075).
  • An AttributeError in petab_import_pysb with petab>=0.2.0
    #2079

AMICI v0.17.0

09 May 19:06
e524930
Compare
Choose a tag to compare

AMICI v0.17.0 requires Python>=3.9 and a C++17 compatible compiler

Features

Fixes

  • Fixed CPU time tracking with multi-threading (partially)
    by @dweindl in #2023
  • Fixed HDF5 ambiguous overload
    by @dweindl in #2031
  • Fixed varying cmake libdir lib(64)/
    by @dweindl in #2033
  • Fixed Equilibration cpu time computation
    by @plakrisenko in #2035
  • CMake: add header files to library sources for generated models
    by @dweindl in #2047
  • CMake: Handle header-dependency of swig files
    by @dweindl in #2046
  • Don't try to detect conservation laws for models with Species-AssignmentRules
    by @dweindl in #2056
  • Smith benchmark and SBML initialization fix
    by @FFroehlich in #2034
  • SBML import: Fixed check for required packages
    by @dweindl in #2064
  • Nan observables
    by @FFroehlich in #2065
  • Fixed check for discontinuities for conservation law computation
    by @dweindl in #2068
  • Specify visualization dependencies
    by @dweindl in #2070
  • Fixed sympy symbol name clashes during PEtab import
    by @dweindl in #2069
  • Fixed ReturnData::{preeq_wrms,posteq_wrms} with FSA and check_sensi_steadystate_conv_=True
    by @dweindl in #2071

Extended / updated documentation, for example:

New Contributors

Full Changelog: v0.16.1...v0.17.0

AMICI v0.16.1

24 Feb 12:34
1a99308
Compare
Choose a tag to compare

Fixes:

  • Additional package names for finding blas via pkg-config
    by @dweindl in #1959
  • Changed default interpolation type from hermite to polynomial
    by @dweindl in #1960
  • PySB import: Change default simplify to work with multiprocessing
    by @dweindl in #1961
  • Add --no-validate to amici_import_petab
    by @dweindl in #1963
  • Fix get_model for direct import of swig interface
    by @dweindl in #1969
  • Fix PytestReturnNotNoneWarning in test_conserved_quantities_demartino.py
    by @dweindl in #1968
  • Fix MSVC builds / remove -W* flags
    by @dweindl in #1972
  • Add option to use IDs when plotting trajectories
    by @dweindl in #1974
  • Fix assignmentRules2observables - skip non-assignment-rule targets
    by @dweindl in #1973
  • Use std::clock for measuring solver time
    by @dweindl in #1982
    (Note that this uses cpu-time consumed by all threads)
  • Fix narrowing-conversion-warning
    by @dweindl in #1983
  • PEtab import: allow specifying default values for output parameters
    by @dweindl in #1987
  • Print stacktraces only with debug logging level
    by @dweindl in #1985
  • Change default ReturnData::status to AMICI_NOT_RUN
    by @dweindl in #1984
  • Reduce time-tracking overhead
    by @dweindl in #1988
  • Fix equilibraton status discrepancy
    by @plakrisenko in #1991
  • Pass model_name to _create_model_output_dir_name
    by @FFroehlich in #1994
  • CMake: Build with OpenMP support if available
    by @dweindl in #2000
  • Fix SuiteSparse Makefiles for compiler-paths
    by @dweindl in #2003
  • CMake: Build with HDF5 support if available
    by @dweindl in #1999
  • CMake: Fix reading version file on Windows
    by @dweindl in #2001
  • CMake: raise minimum required version to 3.15
    by @dweindl in #2002
  • Fix/extend runtime logging
    by @FFroehlich in #2005
  • Fix error logging in steadystate solver
    by @FFroehlich in #2008
  • Don't pass -py3 to swig after 4.1.0
    by @FFroehlich in #2010
  • SWIG __repr__s for different templated vector classes
    by @FFroehlich in #2009
  • Matlab: If mex fails, print mex arguments
    by @dweindl in #2013
  • Simplify OpenBLAS installation on Windows
    by @dweindl in #2016
  • Remove model name prefix in generated model files
    by @dweindl in #2015
  • ...

Documentation:

  • Restructure sphinx doc
    by @dweindl in #1978
  • Instructions for AMICI with singularity
    by @dweindl in #1964
  • Illustrate options for potentially speeding up model import/simulation
    by @dweindl in #1965
  • ...

Dependencies:

Full Changelog: v0.16.0...v0.16.1

AMICI v0.16.0

25 Jan 15:35
ed36b2d
Compare
Choose a tag to compare

Features

Fixes

Documentation:

  • Added a notebook demonstrating common simulation failures and show how to analyze / fix them by @dweindl in #1946
  • various minor fixes / updates

Full Changelog: v0.15.0...v0.16.0

AMICI v0.15.0

12 Jan 08:20
0859bde
Compare
Choose a tag to compare

Features

  • Improved logging by @dweindl in #1907

    For Python: Don't print messages to stdout, but collect them in ReturnData
    and forward them to python logging, making it easier to filter specific
    messages or to disable output completely. Messages are also available via
    ReturnData.messages.

    breaking change for C++ interface:
    Messages aren't printed to stdout by default, but are collected in
    ReturnData. The user has to decide what to do with them.

  • MultiArch docker build by @FFroehlich in #1903

  • Added cmake target for cmake-format by @dweindl in #1909

  • Updated clang-format style, fixed clang-format target by @dweindl in #1908

  • Subsetting ReturnData fields by ID via ReturnDataView.by_id by @dweindl in #1911 #1916

Fixes

  • PEtab import: fixed handling of fixed parameters for rule targets by @dweindl in #1915
  • Fixed compiler warnings for matlab interface by @dweindl in #1919
  • Fixed pandas DeprecationWarning for Series.iteritems() by @dweindl in #1921
  • Fixed circular import in amici.petab_import_pysb by @dweindl in #1922
  • Fixed 'operator ==' swig warning by @dweindl in #1923
  • Prevent swig4.0.1 segfault by @dweindl in #1924

Full Changelog: v0.14.0...v0.15.0