Skip to content

Commit

Permalink
Merge pull request #2019 from AMICI-dev/release_0.16.1
Browse files Browse the repository at this point in the history
Release 0.16.1
  • Loading branch information
dweindl authored Feb 24, 2023
2 parents ed36b2d + faab162 commit 1a99308
Show file tree
Hide file tree
Showing 645 changed files with 13,383 additions and 32,327 deletions.
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

# default owners
* @AMICI-dev/amici-maintainers

6 changes: 3 additions & 3 deletions .github/workflows/deploy_protected.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- release**
pull_request:
paths:
- docker/Dockerfile
- container/Dockerfile
workflow_dispatch:

jobs:
Expand All @@ -27,7 +27,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v3
- run: git archive -o docker/amici.tar.gz --format=tar.gz HEAD
- run: git archive -o container/amici.tar.gz --format=tar.gz HEAD
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
Expand All @@ -38,7 +38,7 @@ jobs:
name: dweindl/amici
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
workdir: docker/
workdir: container/
dockerfile: Dockerfile
tag_names: true
platforms: linux/amd64,linux/arm64
4 changes: 2 additions & 2 deletions .github/workflows/test_python_cplusplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ jobs:
brew install hdf5 swig gcc cppcheck libomp boost \
&& brew ls -v boost \
&& brew ls -v libomp \
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.80.0/lib/" >> $GITHUB_ENV \
&& echo CPPFLAGS="-I/usr/local/Cellar/boost/1.80.0/include/" >> $GITHUB_ENV
&& echo LDFLAGS="-L/usr/local/lib/ -L/usr/local/Cellar/boost/1.81.0_1/lib/" >> $GITHUB_ENV \
&& echo CPPFLAGS="-I /usr/local/Cellar/boost/1.81.0_1/include/" >> $GITHUB_ENV
- name: Build AMICI
run: |
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/test_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ jobs:
env:
AMICI_SKIP_CMAKE_TESTS: "TRUE"
openBLAS_version: "0.3.19"
AMICI_DLL_DIRS: "C:\\BLAS\\bin"
AMICI_DLL_DIRS: "C:\\BLAS\\OpenBLAS\\bin"
LIB: "C:/BLAS/OpenBLAS/lib"
CFLAGS: "-nologo"
CXXFLAGS: "-nologo"
LDFLAGS: "-nologo"

strategy:
matrix:
Expand All @@ -33,11 +37,11 @@ jobs:
- shell: bash
run: echo "AMICI_DIR=$(pwd)" >> $GITHUB_ENV
- shell: bash
run: echo "C:\\BLAS\\bin" >> $GITHUB_PATH
run: echo "C:\\BLAS\\OpenBLAS\\bin" >> $GITHUB_PATH
- shell: bash
run: echo "BLAS_LIBS=/LIBPATH:C:/BLAS/lib openblas.lib" >> $GITHUB_ENV
run: echo "BLAS_LIBS=-LIBPATH:C:/BLAS/OpenBLAS/lib openblas.lib" >> $GITHUB_ENV
- shell: bash
run: echo "BLAS_CFLAGS=-IC:/BLAS/OpenBLAS-${openBLAS_version}/OpenBLAS-${openBLAS_version}" >> $GITHUB_ENV
run: echo "BLAS_CFLAGS=-IC:/BLAS/OpenBLAS/include/openblas/" >> $GITHUB_ENV

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

- uses: actions/upload-artifact@v3
with:
name: OpenBLAS
path: C:\BLAS\OpenBLAS

- name: Create sdist
working-directory: python/sdist
run: pip install build && python -m build --sdist
Expand Down
82 changes: 81 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,86 @@

## v0.X Series

### v0.16.1 (2023-02-24)

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

Documentation:
* Restructure sphinx doc
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1978
* Instructions for AMICI with singularity
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1964
* Illustrate options for potentially speeding up model import/simulation
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/1965
* ...

Dependencies:
* Updated SuiteSparse to v7.0.1
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2018

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.16.0...v0.16.1


### v0.16.0 (2023-01-25)

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

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

* **Require sympy>=1.9,pysb>=1.13.1** by @FFroehlich, @dweindl
* **Require sympy>=1.9,pysb>=1.13.1* by @FFroehlich, @dweindl
in https://github.com/AMICI-dev/AMICI/pull/1599
* Fixed sympy deprecation warning by @dweindl in
https://github.com/AMICI-dev/AMICI/pull/1600
Expand Down
47 changes: 28 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,7 @@
#
# Build AMICI library
#
cmake_minimum_required(VERSION 3.3)

if(POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif(POLICY CMP0077)
if(POLICY CMP0074)
# Use package_ROOT environment variables
cmake_policy(SET CMP0074 NEW)
endif(POLICY CMP0074)
cmake_minimum_required(VERSION 3.15)

project(amici)

Expand Down Expand Up @@ -38,12 +30,21 @@ endforeach(FLAG)
# find dependencies
include(GNUInstallDirs)

option(ENABLE_HDF5 "Build with HDF5 support?" ON)
find_package(OpenMP)

option(AMICI_TRY_ENABLE_HDF5 "Build with HDF5 support if available?" ON)
option(ENABLE_HDF5 "Build with HDF5 support?" OFF)

if(ENABLE_HDF5)
find_package(
HDF5
COMPONENTS C HL CXX
REQUIRED)
elseif(AMICI_TRY_ENABLE_HDF5)
find_package(HDF5 COMPONENTS C HL CXX)
endif()

if(HDF5_FOUND)
set(HDF5_LIBRARIES ${HDF5_HL_LIBRARIES} ${HDF5_C_LIBRARIES}
${HDF5_CXX_LIBRARIES})
endif()
Expand All @@ -52,11 +53,11 @@ set(SUITESPARSE_DIR "${CMAKE_SOURCE_DIR}/ThirdParty/SuiteSparse/")
set(SUITESPARSE_INCLUDE_DIRS "${SUITESPARSE_DIR}/include"
"${CMAKE_SOURCE_DIR}/ThirdParty/sundials/src")
set(SUITESPARSE_LIBRARIES
${SUITESPARSE_DIR}/KLU/Lib/libklu${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/COLAMD/Lib/libcolamd${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/BTF/Lib/libbtf${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/AMD/Lib/libamd${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/SuiteSparse_config/libsuitesparseconfig${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/lib/libklu${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/lib/libcolamd${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/lib/libbtf${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/lib/libamd${CMAKE_STATIC_LIBRARY_SUFFIX}
${SUITESPARSE_DIR}/lib/libsuitesparseconfig${CMAKE_STATIC_LIBRARY_SUFFIX}
)

find_package(
Expand Down Expand Up @@ -169,7 +170,7 @@ set(AMICI_SRC_LIST
${CMAKE_SOURCE_DIR}/include/amici/sundials_matrix_wrapper.h
${CMAKE_SOURCE_DIR}/include/amici/symbolic_functions.h
${CMAKE_SOURCE_DIR}/include/amici/vector.h)
if(ENABLE_HDF5)
if(HDF5_FOUND)
list(APPEND AMICI_SRC_LIST ${CMAKE_SOURCE_DIR}/src/hdf5.cpp)
endif()

Expand Down Expand Up @@ -216,10 +217,18 @@ target_link_libraries(
PUBLIC SUNDIALS::cvodes_static
PUBLIC SUNDIALS::idas_static
PUBLIC ${SUITESPARSE_LIBRARIES}
PUBLIC ${HDF5_LIBRARIES}
PUBLIC ${BLAS_LIBRARIES}
PUBLIC ${CMAKE_DL_LIBS})

if(HDF5_FOUND)
target_include_directories(${PROJECT_NAME} PUBLIC ${HDF5_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} PUBLIC ${HDF5_LIBRARIES})
endif()

if(OpenMP_FOUND)
target_link_libraries(${PROJECT_NAME} PUBLIC OpenMP::OpenMP_CXX)
endif()

option(SUNDIALS_SUPERLUMT_ENABLE "Enable sundials SuperLUMT?" OFF)
if(SUNDIALS_SUPERLUMT_ENABLE)
set(SUNDIALS_LIBRARIES
Expand Down Expand Up @@ -328,12 +337,12 @@ endif()

option(BUILD_TESTS "Build integration tests?" ON)
if(BUILD_TESTS)
if(ENABLE_HDF5)
if(HDF5_FOUND)
enable_testing()

add_subdirectory(tests/cpp)
else()
message(WARNING "Cannot build tests with ENABLE_HDF5=OFF.")
message(WARNING "Cannot build tests without HDF5 support.")
endif()

endif()
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ forward sensitivity analysis, steady state sensitivity analysis and
adjoint sensitivity analysis for likelihood-based output functions.

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

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

## Interfaces & workflow

Expand Down Expand Up @@ -125,7 +124,7 @@ with AMICI:

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

When using AMICI in your project, please cite
* Fröhlich, F., Weindl, D., Schälte, Y., Pathirana, D., Paszkowski, Ł., Lines, G.T., Stapor, P. and Hasenauer, J., 2021.
Expand Down
2 changes: 2 additions & 0 deletions ThirdParty/SuiteSparse/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# line endings in repository match line endings on disc
* -text
Loading

0 comments on commit 1a99308

Please sign in to comment.