Skip to content

Commit

Permalink
Merge branch 'develop' into check_grad_sbml_test_suite
Browse files Browse the repository at this point in the history
  • Loading branch information
dweindl authored Sep 20, 2023
2 parents 78e4f3c + 5e5ec61 commit cf34778
Show file tree
Hide file tree
Showing 136 changed files with 4,444 additions and 1,686 deletions.
10 changes: 2 additions & 8 deletions .github/workflows/test_python_cplusplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
- run: echo "BNGPATH=${GITHUB_WORKSPACE}/ThirdParty/BioNetGen-2.7.0" >> $GITHUB_ENV

# sonar cloud
- run: echo "SONAR_SCANNER_VERSION=4.7.0.2747" >> $GITHUB_ENV
- run: echo "SONAR_SCANNER_VERSION=5.0.1.3006" >> $GITHUB_ENV
- run: echo "SONAR_SCANNER_HOME=${HOME}/.sonar/sonar-scanner-$SONAR_SCANNER_VERSION-linux" >> $GITHUB_ENV
- run: echo "SONAR_SCANNER_OPTS=-server" >> $GITHUB_ENV
- run: echo "${SONAR_SCANNER_HOME}/bin" >> $GITHUB_PATH
Expand Down Expand Up @@ -77,13 +77,6 @@ jobs:
run: |
CI_SONARCLOUD=TRUE scripts/buildAmici.sh
- name: Cache sonar files
id: cache-sonar
uses: actions/cache@v3
with:
path: sonar_cache
key: ${{ runner.os }}-sonar_cache

- name: C++ tests
run: |
scripts/run-cpp-tests.sh
Expand Down Expand Up @@ -157,6 +150,7 @@ jobs:
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner \
-Dsonar.cfamily.build-wrapper-output=bw-output \
Expand Down
8 changes: 5 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ repos:
hooks:
- id: isort
name: isort (python)
args: ["--profile", "black", "--filter-files"]
args: ["--profile", "black", "--filter-files", "--line-length", "79"]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
Expand All @@ -17,12 +17,14 @@ repos:
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 23.3.0
rev: 23.7.0
hooks:
- id: black
- id: black-jupyter
# It is recommended to specify the latest version of Python
# supported by your project here, or alternatively use
# pre-commit's default_language_version, see
# https://pre-commit.com/#top_level-default_language_version
language_version: python3.11
args: ["--line-length", "79"]

exclude: '^(ThirdParty|models)/'
71 changes: 70 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,84 @@

## v0.X Series

### v0.19.0 (2023-08-26)

**Features**
* SBML import now supports `rateOf`
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2120
* Added `Model.{get,set}SteadyStateComputationMode` (analogous to `SteadyStateSensitivityMode`)
which allows to choose how steady state is computed.
by @plakrisenko in https://github.com/AMICI-dev/AMICI/pull/2074

**Note: The default `SteadyStateSensitivityMode` changed from `newtonOnly` to `integrateIfNewtonFails`.**

* SBML import: Allow hardcoding of numerical values
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2134
* Added `antimony2amici` for more convenient antimony import
(simplifies working with raw ODEs, see documentation)
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2142
* Added `AMICI_TRY_ENABLE_HDF5` environment variable to control whether to search for HDF5 or not
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2148

**Fixes**

* Fixed SBML import for events with trigger functions depending on parameters that are initial
assignment targets
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2145
* Fixed SBML import for event-assigned parameters with non-float initial assignments
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2156
* Fixed `unistd.h` dependency of `hdf5.cpp` that led to compilation
failures on Windows
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2154
* Set CMake policies for cmake 3.27 by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2162
* Fixed a `lib/` vs `lib64/` issue, leading to `SUNDIALSConfig.cmake`-not-found issues
on some systems
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/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 https://github.com/AMICI-dev/AMICI/pull/2163

Performance:
* Combined code for sparse model functions and their index files for slightly faster
compilation of small models
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2159

* Removed complex / complex long KLU functions for slightly faster amici package installation
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2160

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.18.1...v0.19.0


### v0.18.1 (2023-06-26)

Fixes:
* Fixed pysb pattern matching during PEtab import
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2118
* Fixed `sp.Matrix` errors with `numpy==1.25`
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2124
* Readme: added info containers
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2125
* Fixed deprecation warnings
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2122
https://github.com/AMICI-dev/AMICI/pull/2131
* Fixed logging typo in SBML import
by @dilpath in https://github.com/AMICI-dev/AMICI/pull/2126
* Added minimum version for `pandas`
by @dilpath in https://github.com/AMICI-dev/AMICI/pull/2129

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.18.0...v0.18.1

### v0.18.0 (2023-05-26)

Features:
* More efficient handling of splines in SBML models
by @paulstapor, @lcontento, @dweindl
in https://github.com/AMICI-dev/AMICI/pull/1515
* Partial support of current PEtab2.0 draft, including support for PySB models
by @dweindl, @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1800

Fixes
Fixes:
* **Fixed incorrect forward sensitivities for models with events with**
**state-dependent trigger functions**
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2084
Expand Down
17 changes: 13 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@
# Build AMICI library
#
cmake_minimum_required(VERSION 3.15)
cmake_policy(VERSION 3.15...3.27)

project(amici)

# misc options
if(DEFINED ENV{AMICI_TRY_ENABLE_HDF5})
option(AMICI_TRY_ENABLE_HDF5 "Build with HDF5 support if available?"
$ENV{AMICI_TRY_ENABLE_HDF5})
else()
option(AMICI_TRY_ENABLE_HDF5 "Build with HDF5 support if available?" ON)
endif()
option(AMICI_PYTHON_BUILD_EXT_ONLY "Build only the Python extension?" OFF)
option(AMICI_TRY_ENABLE_HDF5 "Build with HDF5 support if available?" ON)
option(ENABLE_HDF5 "Build with HDF5 support?" OFF)
option(SUNDIALS_SUPERLUMT_ENABLE "Enable sundials SuperLUMT?" OFF)
option(EXPORT_PACKAGE "Export AMICI library to CMake package registry?" ON)
Expand Down Expand Up @@ -120,7 +126,7 @@ set(VENDORED_SUNDIALS_BUILD_DIR ${VENDORED_SUNDIALS_DIR}/build)
set(VENDORED_SUNDIALS_INSTALL_DIR ${VENDORED_SUNDIALS_BUILD_DIR})
set(SUNDIALS_PRIVATE_INCLUDE_DIRS "${VENDORED_SUNDIALS_DIR}/src")
find_package(SUNDIALS REQUIRED PATHS
"${VENDORED_SUNDIALS_INSTALL_DIR}/lib/cmake/sundials/")
"${VENDORED_SUNDIALS_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/sundials/")
message(STATUS "Found SUNDIALS: ${SUNDIALS_DIR}")

set(GSL_LITE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/gsl")
Expand Down Expand Up @@ -290,7 +296,7 @@ if("$ENV{ENABLE_AMICI_DEBUGGING}"
endif()

target_compile_definitions(
${PROJECT_NAME} PRIVATE $<$<BOOL:${Boost_CHRONO_FOUND}>:HAS_BOOST_CHRONO>)
${PROJECT_NAME} PUBLIC $<$<BOOL:${Boost_CHRONO_FOUND}>:HAS_BOOST_CHRONO>)

target_link_libraries(
${PROJECT_NAME}
Expand Down Expand Up @@ -324,7 +330,10 @@ if(HDF5_FOUND)
target_link_libraries(${PROJECT_NAME} PUBLIC hdf5::hdf5_hl_cpp hdf5::hdf5_hl
hdf5::hdf5_cpp hdf5::hdf5)
else()
message(STATUS "HDF5 library NOT found. Building AMICI WITHOUT HDF5 support.")
message(
STATUS
"HDF5 support disabled or HDF5 library not found. Building AMICI WITHOUT HDF5 support."
)
endif()

if(AMICI_PYTHON_BUILD_EXT_ONLY)
Expand Down
11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_diagnostics.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_dump.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_extract.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_factor.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_free_numeric.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_kernel.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_refactor.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_scale.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_solve.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_sort.c

This file was deleted.

11 changes: 0 additions & 11 deletions ThirdParty/SuiteSparse/KLU/Source/klu_z_tsolve.c

This file was deleted.

12 changes: 0 additions & 12 deletions ThirdParty/SuiteSparse/KLU/Source/klu_zl.c

This file was deleted.

12 changes: 0 additions & 12 deletions ThirdParty/SuiteSparse/KLU/Source/klu_zl_diagnostics.c

This file was deleted.

12 changes: 0 additions & 12 deletions ThirdParty/SuiteSparse/KLU/Source/klu_zl_dump.c

This file was deleted.

12 changes: 0 additions & 12 deletions ThirdParty/SuiteSparse/KLU/Source/klu_zl_extract.c

This file was deleted.

Loading

0 comments on commit cf34778

Please sign in to comment.