Skip to content

Commit 1a99308

Browse files
authored
Merge pull request #2019 from AMICI-dev/release_0.16.1
Release 0.16.1
2 parents ed36b2d + faab162 commit 1a99308

File tree

645 files changed

+13383
-32327
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

645 files changed

+13383
-32327
lines changed

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
2+
3+
# default owners
4+
* @AMICI-dev/amici-maintainers
5+

.github/workflows/deploy_protected.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- release**
88
pull_request:
99
paths:
10-
- docker/Dockerfile
10+
- container/Dockerfile
1111
workflow_dispatch:
1212

1313
jobs:
@@ -27,7 +27,7 @@ jobs:
2727
with:
2828
python-version: ${{ matrix.python-version }}
2929
- uses: actions/checkout@v3
30-
- run: git archive -o docker/amici.tar.gz --format=tar.gz HEAD
30+
- run: git archive -o container/amici.tar.gz --format=tar.gz HEAD
3131
- name: Set up QEMU
3232
uses: docker/setup-qemu-action@v2
3333
- name: Set up Docker Buildx
@@ -38,7 +38,7 @@ jobs:
3838
name: dweindl/amici
3939
username: ${{ secrets.DOCKER_USERNAME }}
4040
password: ${{ secrets.DOCKER_PASSWORD }}
41-
workdir: docker/
41+
workdir: container/
4242
dockerfile: Dockerfile
4343
tag_names: true
4444
platforms: linux/amd64,linux/arm64

.github/workflows/test_python_cplusplus.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,8 @@ jobs:
162162
brew install hdf5 swig gcc cppcheck libomp boost \
163163
&& brew ls -v boost \
164164
&& brew ls -v libomp \
165-
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.80.0/lib/" >> $GITHUB_ENV \
166-
&& echo CPPFLAGS="-I/usr/local/Cellar/boost/1.80.0/include/" >> $GITHUB_ENV
165+
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.81.0_1/lib/" >> $GITHUB_ENV \
166+
&& echo CPPFLAGS="-I /usr/local/Cellar/boost/1.81.0_1/include/" >> $GITHUB_ENV
167167
168168
- name: Build AMICI
169169
run: |

.github/workflows/test_windows.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ jobs:
1515
env:
1616
AMICI_SKIP_CMAKE_TESTS: "TRUE"
1717
openBLAS_version: "0.3.19"
18-
AMICI_DLL_DIRS: "C:\\BLAS\\bin"
18+
AMICI_DLL_DIRS: "C:\\BLAS\\OpenBLAS\\bin"
19+
LIB: "C:/BLAS/OpenBLAS/lib"
20+
CFLAGS: "-nologo"
21+
CXXFLAGS: "-nologo"
22+
LDFLAGS: "-nologo"
1923

2024
strategy:
2125
matrix:
@@ -33,11 +37,11 @@ jobs:
3337
- shell: bash
3438
run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
3539
- shell: bash
36-
run: echo "C:\\BLAS\\bin" >> $GITHUB_PATH
40+
run: echo "C:\\BLAS\\OpenBLAS\\bin" >> $GITHUB_PATH
3741
- shell: bash
38-
run: echo "BLAS_LIBS=/LIBPATH:C:/BLAS/lib openblas.lib" >> $GITHUB_ENV
42+
run: echo "BLAS_LIBS=-LIBPATH:C:/BLAS/OpenBLAS/lib openblas.lib" >> $GITHUB_ENV
3943
- shell: bash
40-
run: echo "BLAS_CFLAGS=-IC:/BLAS/OpenBLAS-${openBLAS_version}/OpenBLAS-${openBLAS_version}" >> $GITHUB_ENV
44+
run: echo "BLAS_CFLAGS=-IC:/BLAS/OpenBLAS/include/openblas/" >> $GITHUB_ENV
4145

4246
# Developer Command Prompt for Microsoft Visual C++
4347
- uses: ilammy/msvc-dev-cmd@v1
@@ -53,6 +57,11 @@ jobs:
5357
shell: powershell
5458
run: scripts/installOpenBLAS
5559

60+
- uses: actions/upload-artifact@v3
61+
with:
62+
name: OpenBLAS
63+
path: C:\BLAS\OpenBLAS
64+
5665
- name: Create sdist
5766
working-directory: python/sdist
5867
run: pip install build && python -m build --sdist

CHANGELOG.md

Lines changed: 81 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,86 @@
22

33
## v0.X Series
44

5+
### v0.16.1 (2023-02-24)
6+
7+
Fixes:
8+
* Additional package names for finding blas via pkg-config
9+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1959
10+
* Changed default interpolation type from hermite to polynomial
11+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1960
12+
* PySB import: Change default simplify to work with multiprocessing
13+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1961
14+
* Add --no-validate to amici_import_petab
15+
@dweindl in https://github.com/AMICI-dev/AMICI/pull/1963
16+
* Fix get_model for direct import of swig interface
17+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1969
18+
* Fix PytestReturnNotNoneWarning in test_conserved_quantities_demartino.py
19+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1968
20+
* Fix MSVC builds / remove -W* flags
21+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1972
22+
* Add option to use IDs when plotting trajectories
23+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1974
24+
* Fix assignmentRules2observables - skip non-assignment-rule targets
25+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1973
26+
* Use std::clock for measuring solver time
27+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1982
28+
(*Note that this uses cpu-time consumed by all threads*)
29+
* Fix narrowing-conversion-warning
30+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1983
31+
* PEtab import: allow specifying default values for output parameters
32+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1987
33+
* Print stacktraces only with debug logging level
34+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1985
35+
* Change default ReturnData::status to AMICI_NOT_RUN
36+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1984
37+
* Reduce time-tracking overhead
38+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1988
39+
* Fix equilibraton status discrepancy
40+
by @plakrisenko in https://github.com/AMICI-dev/AMICI/pull/1991
41+
* Pass model_name to _create_model_output_dir_name
42+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/1994
43+
* CMake: Build with OpenMP support if available
44+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2000
45+
* Fix SuiteSparse Makefiles for compiler-paths
46+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2003
47+
* CMake: Build with HDF5 support if available
48+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1999
49+
* CMake: Fix reading version file on Windows
50+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2001
51+
* CMake: raise minimum required version to 3.15
52+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2002
53+
* Fix/extend runtime logging
54+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2005
55+
* Fix error logging in steadystate solver
56+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2008
57+
* Don't pass `-py3` to swig after 4.1.0
58+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2010
59+
* SWIG __repr__s for different templated vector classes
60+
by @FFroehlich in https://github.com/AMICI-dev/AMICI/pull/2009
61+
* Matlab: If mex fails, print mex arguments
62+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2013
63+
* Simplify OpenBLAS installation on Windows
64+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2016
65+
* Remove model name prefix in generated model files
66+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2015
67+
* ...
68+
69+
Documentation:
70+
* Restructure sphinx doc
71+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1978
72+
* Instructions for AMICI with singularity
73+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1964
74+
* Illustrate options for potentially speeding up model import/simulation
75+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1965
76+
* ...
77+
78+
Dependencies:
79+
* Updated SuiteSparse to v7.0.1
80+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2018
81+
82+
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.16.0...v0.16.1
83+
84+
585
### v0.16.0 (2023-01-25)
686

787
Features
@@ -453,7 +533,7 @@ https://github.com/AMICI-dev/AMICI/compare/v0.11.22...v0.11.23
453533

454534
### v0.11.22 (2021-12-02)
455535

456-
* **Require sympy>=1.9,pysb>=1.13.1** by @FFroehlich, @dweindl
536+
* **Require sympy>=1.9,pysb>=1.13.1* by @FFroehlich, @dweindl
457537
in https://github.com/AMICI-dev/AMICI/pull/1599
458538
* Fixed sympy deprecation warning by @dweindl in
459539
https://github.com/AMICI-dev/AMICI/pull/1600

CMakeLists.txt

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,7 @@
11
#
22
# Build AMICI library
33
#
4-
cmake_minimum_required(VERSION 3.3)
5-
6-
if(POLICY CMP0077)
7-
cmake_policy(SET CMP0077 NEW)
8-
endif(POLICY CMP0077)
9-
if(POLICY CMP0074)
10-
# Use package_ROOT environment variables
11-
cmake_policy(SET CMP0074 NEW)
12-
endif(POLICY CMP0074)
4+
cmake_minimum_required(VERSION 3.15)
135

146
project(amici)
157

@@ -38,12 +30,21 @@ endforeach(FLAG)
3830
# find dependencies
3931
include(GNUInstallDirs)
4032

41-
option(ENABLE_HDF5 "Build with HDF5 support?" ON)
33+
find_package(OpenMP)
34+
35+
option(AMICI_TRY_ENABLE_HDF5 "Build with HDF5 support if available?" ON)
36+
option(ENABLE_HDF5 "Build with HDF5 support?" OFF)
37+
4238
if(ENABLE_HDF5)
4339
find_package(
4440
HDF5
4541
COMPONENTS C HL CXX
4642
REQUIRED)
43+
elseif(AMICI_TRY_ENABLE_HDF5)
44+
find_package(HDF5 COMPONENTS C HL CXX)
45+
endif()
46+
47+
if(HDF5_FOUND)
4748
set(HDF5_LIBRARIES ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES}
4849
${HDF5_CXX_LIBRARIES})
4950
endif()
@@ -52,11 +53,11 @@ set(SUITESPARSE_DIR "${CMAKE_SOURCE_DIR}/ThirdParty/SuiteSparse/")
5253
set(SUITESPARSE_INCLUDE_DIRS "${SUITESPARSE_DIR}/include"
5354
"${CMAKE_SOURCE_DIR}/ThirdParty/sundials/src")
5455
set(SUITESPARSE_LIBRARIES
55-
${SUITESPARSE_DIR}/KLU/Lib/libklu${CMAKE_STATIC_LIBRARY_SUFFIX}
56-
${SUITESPARSE_DIR}/COLAMD/Lib/libcolamd${CMAKE_STATIC_LIBRARY_SUFFIX}
57-
${SUITESPARSE_DIR}/BTF/Lib/libbtf${CMAKE_STATIC_LIBRARY_SUFFIX}
58-
${SUITESPARSE_DIR}/AMD/Lib/libamd${CMAKE_STATIC_LIBRARY_SUFFIX}
59-
${SUITESPARSE_DIR}/SuiteSparse_config/libsuitesparseconfig${CMAKE_STATIC_LIBRARY_SUFFIX}
56+
${SUITESPARSE_DIR}/lib/libklu${CMAKE_STATIC_LIBRARY_SUFFIX}
57+
${SUITESPARSE_DIR}/lib/libcolamd${CMAKE_STATIC_LIBRARY_SUFFIX}
58+
${SUITESPARSE_DIR}/lib/libbtf${CMAKE_STATIC_LIBRARY_SUFFIX}
59+
${SUITESPARSE_DIR}/lib/libamd${CMAKE_STATIC_LIBRARY_SUFFIX}
60+
${SUITESPARSE_DIR}/lib/libsuitesparseconfig${CMAKE_STATIC_LIBRARY_SUFFIX}
6061
)
6162

6263
find_package(
@@ -169,7 +170,7 @@ set(AMICI_SRC_LIST
169170
${CMAKE_SOURCE_DIR}/include/amici/sundials_matrix_wrapper.h
170171
${CMAKE_SOURCE_DIR}/include/amici/symbolic_functions.h
171172
${CMAKE_SOURCE_DIR}/include/amici/vector.h)
172-
if(ENABLE_HDF5)
173+
if(HDF5_FOUND)
173174
list(APPEND AMICI_SRC_LIST ${CMAKE_SOURCE_DIR}/src/hdf5.cpp)
174175
endif()
175176

@@ -216,10 +217,18 @@ target_link_libraries(
216217
PUBLIC SUNDIALS::cvodes_static
217218
PUBLIC SUNDIALS::idas_static
218219
PUBLIC ${SUITESPARSE_LIBRARIES}
219-
PUBLIC ${HDF5_LIBRARIES}
220220
PUBLIC ${BLAS_LIBRARIES}
221221
PUBLIC ${CMAKE_DL_LIBS})
222222

223+
if(HDF5_FOUND)
224+
target_include_directories(${PROJECT_NAME} PUBLIC ${HDF5_INCLUDE_DIRS})
225+
target_link_libraries(${PROJECT_NAME} PUBLIC ${HDF5_LIBRARIES})
226+
endif()
227+
228+
if(OpenMP_FOUND)
229+
target_link_libraries(${PROJECT_NAME} PUBLIC OpenMP::OpenMP_CXX)
230+
endif()
231+
223232
option(SUNDIALS_SUPERLUMT_ENABLE "Enable sundials SuperLUMT?" OFF)
224233
if(SUNDIALS_SUPERLUMT_ENABLE)
225234
set(SUNDIALS_LIBRARIES
@@ -328,12 +337,12 @@ endif()
328337

329338
option(BUILD_TESTS "Build integration tests?" ON)
330339
if(BUILD_TESTS)
331-
if(ENABLE_HDF5)
340+
if(HDF5_FOUND)
332341
enable_testing()
333342

334343
add_subdirectory(tests/cpp)
335344
else()
336-
message(WARNING "Cannot build tests with ENABLE_HDF5=OFF.")
345+
message(WARNING "Cannot build tests without HDF5 support.")
337346
endif()
338347

339348
endif()

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ forward sensitivity analysis, steady state sensitivity analysis and
2525
adjoint sensitivity analysis for likelihood-based output functions.
2626

2727
The interface was designed to provide routines for efficient gradient
28-
computation in parameter estimation of biochemical reaction models but
28+
computation in parameter estimation of biochemical reaction models, but
2929
it is also applicable to a wider range of differential equation
3030
constrained optimization problems.
3131

@@ -62,7 +62,6 @@ constrained optimization problems.
6262
* Pre-equilibration and pre-simulation conditions
6363
* Support for
6464
[discrete events and logical operations](https://academic.oup.com/bioinformatics/article/33/7/1049/2769435)
65-
(Matlab-only)
6665

6766
## Interfaces & workflow
6867

@@ -125,7 +124,7 @@ with AMICI:
125124

126125
There is a list of [publications using AMICI](https://amici.readthedocs.io/en/latest/references.html).
127126
If you used AMICI in your work, we are happy to include
128-
your project, please let us know via a Github issue.
127+
your project, please let us know via a GitHub issue.
129128

130129
When using AMICI in your project, please cite
131130
* Fröhlich, F., Weindl, D., Schälte, Y., Pathirana, D., Paszkowski, Ł., Lines, G.T., Stapor, P. and Hasenauer, J., 2021.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# line endings in repository match line endings on disc
2+
* -text

0 commit comments

Comments
 (0)