Skip to content

Commit b958cce

Browse files
authored
Merge pull request #2473 from dweindl/release_0.26.0
Release 0.26.0
2 parents 88a5454 + 3882d94 commit b958cce

36 files changed

+300
-101
lines changed

.github/workflows/test_benchmark_collection_models.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ jobs:
5252
AMICI_PARALLEL_COMPILE="" pip3 install -v --user \
5353
$(ls -t python/sdist/dist/amici-*.tar.gz | head -1)[petab,test,vis]
5454
55+
- run: |
56+
python3 -m pip uninstall -y petab && python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@develop \
57+
&& python3 -m pip install -U sympy
58+
5559
# retrieve test models
5660
- name: Download and test benchmark collection
5761
run: |

.github/workflows/test_petab_test_suite.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ jobs:
5858
- name: Install petab
5959
run: |
6060
source ./venv/bin/activate \
61-
&& pip3 install wheel pytest shyaml pytest-cov pysb
61+
&& pip3 install wheel pytest shyaml pytest-cov pysb>=1.16
6262
6363
# retrieve test models
6464
- name: Download and install PEtab test suite
@@ -68,11 +68,20 @@ jobs:
6868
&& source ./venv/bin/activate \
6969
&& cd petab_test_suite && pip3 install -e .
7070
71+
- name: Install petab
72+
run: |
73+
source ./venv/bin/activate \
74+
&& python3 -m pip uninstall -y petab \
75+
&& python3 -m pip install git+https://github.com/petab-dev/libpetab-python.git@develop \
76+
&& python3 -m pip install git+https://github.com/FFroehlich/pysb@fix_pattern_matching \
77+
&& python3 -m pip install sympy>=1.12.1
78+
79+
7180
- name: Run PEtab-related unit tests
7281
run: |
7382
source ./venv/bin/activate \
7483
&& pytest --cov-report=xml:coverage.xml \
75-
--cov=./ python/tests/test_*petab*.py python/tests/petab/
84+
--cov=./ python/tests/test_*petab*.py python/tests/petab_/
7685
7786
# run test models
7887
- name: Run PEtab test suite

.github/workflows/test_python_ver_matrix.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ jobs:
5757
- run: source venv/bin/activate && pip3 install git+https://github.com/sympy/sympy.git@master
5858
if: matrix.python-version == '3.12'
5959

60+
- run: source venv/bin/activate && pip3 install "sympy>=1.12.1"
61+
if: matrix.python-version != '3.12'
62+
6063
- name: Python tests
6164
run: |
6265
source venv/bin/activate \

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,37 @@
11
# Changelog
22

3+
See also our [versioning policy](https://amici.readthedocs.io/en/latest/versioning_policy.html).
4+
35
## v0.X Series
46

7+
### v0.26.0 (2024-07-06)
8+
9+
AMICI v0.26.0 requires sympy>=1.12.1 and petab>=0.4.0.
10+
11+
**Policy changes**
12+
13+
* Updated AMICI's [versioning / deprecation policy](https://amici.readthedocs.io/en/develop/versioning_policy.html)
14+
15+
We will start removing deprecated features that had a deprecation warning
16+
for longer than six months in the next minor release.
17+
18+
**Deprecations**
19+
20+
* Passing individual tables to `amici_import_petab` is now deprecated.
21+
Use a `petab.Problem` instance instead.
22+
23+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2464
24+
25+
**Fixes**
26+
27+
* Fixed a bug where during installation of AMICI, an incorrect sundials CMake
28+
would be used resulting in installation errors.
29+
30+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2468
31+
32+
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.25.2...v0.26.0
33+
34+
535
### v0.25.2 (2024-06-16)
636

737
**Fixes**

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ else()
142142
set(VENDORED_SUNDIALS_BUILD_DIR ${VENDORED_SUNDIALS_DIR}/build)
143143
set(VENDORED_SUNDIALS_INSTALL_DIR ${VENDORED_SUNDIALS_BUILD_DIR})
144144
endif()
145+
set(SUNDIALS_ROOT "${VENDORED_SUNDIALS_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}")
145146
find_package(
146-
SUNDIALS REQUIRED PATHS
147-
"${VENDORED_SUNDIALS_INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/cmake/sundials/")
147+
SUNDIALS REQUIRED CONFIG PATHS "${SUNDIALS_ROOT}/cmake/sundials/")
148148
message(STATUS "Found SUNDIALS: ${SUNDIALS_DIR}")
149149

150150
set(GSL_LITE_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/gsl")

documentation/amici_refs.bib

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,18 +1069,19 @@ @Article{LakrisenkoSta2023
10691069
}
10701070
10711071
@Article{ContentoCas2023,
1072-
author = {Lorenzo Contento and Noemi Castelletti and Elba Raimúndez and Ronan {Le Gleut} and Yannik Schälte and Paul Stapor and Ludwig Christian Hinske and Michael Hoelscher and Andreas Wieser and Katja Radon and Christiane Fuchs and Jan Hasenauer},
1073-
journal = {Epidemics},
1074-
title = {Integrative modelling of reported case numbers and seroprevalence reveals time-dependent test efficiency and infectious contacts},
1075-
year = {2023},
1076-
issn = {1755-4365},
1077-
pages = {100681},
1078-
volume = {43},
1079-
abstract = {Mathematical models have been widely used during the ongoing SARS-CoV-2 pandemic for data interpretation, forecasting, and policy making. However, most models are based on officially reported case numbers, which depend on test availability and test strategies. The time dependence of these factors renders interpretation difficult and might even result in estimation biases. Here, we present a computational modelling framework that allows for the integration of reported case numbers with seroprevalence estimates obtained from representative population cohorts. To account for the time dependence of infection and testing rates, we embed flexible splines in an epidemiological model. The parameters of these splines are estimated, along with the other parameters, from the available data using a Bayesian approach. The application of this approach to the official case numbers reported for Munich (Germany) and the seroprevalence reported by the prospective COVID-19 Cohort Munich (KoCo19) provides first estimates for the time dependence of the under-reporting factor. Furthermore, we estimate how the effectiveness of non-pharmaceutical interventions and of the testing strategy evolves over time. Overall, our results show that the integration of temporally highly resolved and representative data is beneficial for accurate epidemiological analyses.},
1080-
creationdate = {2023-04-15T07:59:57},
1081-
doi = {10.1016/j.epidem.2023.100681},
1082-
keywords = {Compartmental model, Parameter estimation, Uncertainty quantification, COVID-19},
1083-
url = {https://www.sciencedirect.com/science/article/pii/S1755436523000178},
1072+
author = {Lorenzo Contento and Noemi Castelletti and Elba Raimúndez and Ronan {Le Gleut} and Yannik Schälte and Paul Stapor and Ludwig Christian Hinske and Michael Hoelscher and Andreas Wieser and Katja Radon and Christiane Fuchs and Jan Hasenauer},
1073+
journal = {Epidemics},
1074+
title = {Integrative modelling of reported case numbers and seroprevalence reveals time-dependent test efficiency and infectious contacts},
1075+
year = {2023},
1076+
issn = {1755-4365},
1077+
pages = {100681},
1078+
volume = {43},
1079+
abstract = {Mathematical models have been widely used during the ongoing SARS-CoV-2 pandemic for data interpretation, forecasting, and policy making. However, most models are based on officially reported case numbers, which depend on test availability and test strategies. The time dependence of these factors renders interpretation difficult and might even result in estimation biases. Here, we present a computational modelling framework that allows for the integration of reported case numbers with seroprevalence estimates obtained from representative population cohorts. To account for the time dependence of infection and testing rates, we embed flexible splines in an epidemiological model. The parameters of these splines are estimated, along with the other parameters, from the available data using a Bayesian approach. The application of this approach to the official case numbers reported for Munich (Germany) and the seroprevalence reported by the prospective COVID-19 Cohort Munich (KoCo19) provides first estimates for the time dependence of the under-reporting factor. Furthermore, we estimate how the effectiveness of non-pharmaceutical interventions and of the testing strategy evolves over time. Overall, our results show that the integration of temporally highly resolved and representative data is beneficial for accurate epidemiological analyses.},
1080+
creationdate = {2023-04-15T07:59:57},
1081+
doi = {10.1016/j.epidem.2023.100681},
1082+
keywords = {Compartmental model, Parameter estimation, Uncertainty quantification, COVID-19},
1083+
modificationdate = {2024-06-28T08:27:57},
1084+
url = {https://www.sciencedirect.com/science/article/pii/S1755436523000178},
10841085
}
10851086
10861087
@Article{FroehlichGer2023,
@@ -1332,6 +1333,31 @@ @PhdThesis{Mutsuddy2024
13321333
url = {https://tigerprints.clemson.edu/all_dissertations/3572},
13331334
}
13341335
1336+
@Misc{PhilippsKoe2024,
1337+
author = {Maren Philipps and Antonia Körner and Jakob Vanhoefer and Dilan Pathirana and Jan Hasenauer},
1338+
title = {Non-Negative Universal Differential Equations With Applications in Systems Biology},
1339+
year = {2024},
1340+
archiveprefix = {arXiv},
1341+
creationdate = {2024-06-28T08:27:59},
1342+
eprint = {2406.14246},
1343+
modificationdate = {2024-06-28T08:27:59},
1344+
primaryclass = {q-bio.QM},
1345+
url = {https://arxiv.org/abs/2406.14246},
1346+
}
1347+
1348+
@Article{BaltussenJon2024,
1349+
author = {Baltussen, Mathieu G. and de Jong, Thijs J. and Duez, Quentin and Robinson, William E. and Huck, Wilhelm T. S.},
1350+
journal = {Nature},
1351+
title = {Chemical reservoir computation in a self-organizing reaction network},
1352+
year = {2024},
1353+
issn = {1476-4687},
1354+
month = jun,
1355+
creationdate = {2024-06-29T14:03:08},
1356+
doi = {10.1038/s41586-024-07567-x},
1357+
modificationdate = {2024-06-29T14:03:08},
1358+
publisher = {Springer Science and Business Media LLC},
1359+
}
1360+
13351361
@Comment{jabref-meta: databaseType:bibtex;}
13361362
13371363
@Comment{jabref-meta: grouping:

documentation/background.rst

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,22 @@ publications:
3232

3333
* Lakrisenko, Polina, Paul Stapor, Stephan Grein, Łukasz Paszkowski,
3434
Dilan Pathirana, Fabian Fröhlich, Glenn Terje Lines, Daniel Weindl,
35-
and Jan Hasenauer. 2022.
35+
and Jan Hasenauer. 2023.
3636
**Efficient Computation of Adjoint Sensitivities at Steady-State in ODE Models
37-
of Biochemical Reaction Networks.** *bioRxiv* 2022.08.08.503176.
38-
DOI: `10.1101/2022.08.08.503176 <https://doi.org/10.1101/2022.08.08.503176>`_.
37+
of Biochemical Reaction Networks.** *PLoS Comput Biol* 19(1): e1010783.
38+
DOI: `10.1371/journal.pcbi.1010783 <https://doi.org/10.1371/journal.pcbi.1010783>`_.
39+
40+
* L. Contento, P. Stapor, D. Weindl, and J. Hasenauer. 2023.
41+
**A more expressive spline representation for SBML models improves code generation performance in AMICI**,
42+
In: Pang, J., Niehren, J. (eds) Computational Methods in Systems Biology.
43+
CMSB 2023. *Lecture Notes in Computer Science*, vol 14137. Springer, Cham.
44+
DOI: `10.1007/978-3-031-42697-1_3 <https://doi.org/10.1007/978-3-031-42697-1_3>`_.
45+
Preprint available at `bioRxiv <https://doi.org/10.1101/2023.06.29.547120>`_.
46+
47+
* Lakrisenko, Polina, Dilan Pathirana, Daniel Weindl, and Jan Hasenauer. 2024.
48+
**Exploration of methods for computing sensitivities in ODE models at dynamic and steady states.** *arXiv:2405.16524 [q-bio.QM]*.
49+
DOI: `10.48550/arXiv.2405.16524 <https://doi.org/10.48550/arXiv.2405.16524>`_.
3950

40-
* L. Contento, P. Stapor, D. Weindl, and J. Hasenauer, "A more expressive spline
41-
representation for SBML models improves code generation performance in AMICI,"
42-
bioRxiv, 2023, DOI: `10.1101/2023.06.29.547120 <https://doi.org/10.1101/2023.06.29.547120>`_.
4351

4452
.. note::
4553

documentation/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Welcome to AMICI's documentation!
2727
references
2828
background
2929
changelog
30+
versioning_policy
3031
glossary
3132
contributing
3233

documentation/python_installation.rst

Lines changed: 24 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ If this does not work for you, please follow the full instructions below.
3131
Installation on Linux
3232
+++++++++++++++++++++
3333

34-
Ubuntu 22.04
35-
------------
34+
Ubuntu 22.04 / 24.04
35+
--------------------
3636

3737
Install the AMICI dependencies via ``apt``
3838
(this requires superuser privileges):
@@ -44,8 +44,8 @@ Install the AMICI dependencies via ``apt``
4444
# optionally for HDF5 support:
4545
sudo apt install libhdf5-serial-dev
4646
47-
# optionally for boost support (thread-specific CPU times, extended math functions, serialization)
48-
libboost-chrono-dev libboost-math-dev libboost-serialization-dev
47+
# optionally for boost support (thread-specific CPU times, extended math functions, serialization)
48+
libboost-chrono-dev libboost-math-dev libboost-serialization-dev
4949
5050
Install AMICI:
5151

@@ -203,9 +203,8 @@ Newer installations could be located under
203203

204204
so that it matches your directory structure.
205205
This will download OpenBLAS and compile it, creating
206-
207-
C:\\BLAS\\OpenBLAS\\lib\\openblas.lib
208-
C:\\BLAS\\OpenBLAS\\bin\\openblas.dll
206+
``C:\\BLAS\\OpenBLAS\\lib\\openblas.lib`` and
207+
``C:\\BLAS\\OpenBLAS\\bin\\openblas.dll``.
209208

210209
You will also need to define two environment variables:
211210

@@ -231,16 +230,16 @@ Now you need to make sure that all required DLLs are within the scope of the
231230
``PATH`` variable. In particular, the following directories need to be included
232231
in ``PATH``:
233232

234-
C:\\BLAS\\OpenBLAS\\bin
235-
C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x64
233+
* ``C:\BLAS\OpenBLAS\bin``
234+
* ``C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64``
236235

237236
The first one is needed for ``openblas.dll`` and the second is needed for the
238237
Windows Universal C Runtime.
239238

240239
If any DLLs are missing in the ``PATH`` variable, Python will return the
241240
following error upon ``import amici``:
242241

243-
ImportError: DLL load failed: The specified module could not be found.
242+
``ImportError: DLL load failed: The specified module could not be found.``
244243

245244
Almost all of the DLLs are standard Windows DLLs and should be included in
246245
either Windows or Visual Studio. But, in case it is necessary to test this,
@@ -361,16 +360,19 @@ environment variables:
361360
| | Default: ``ON`` | |
362361
+----------------------------+----------------------------------+---------------------------------+
363362

364-
Installation under Anaconda
365-
---------------------------
363+
Installation under conda
364+
------------------------
365+
366+
There is no amici conda recipe available yet. However, you can install AMICI
367+
using pip in a conda environment.
366368

367-
To use an Anaconda installation of Python
368-
`https://www.anaconda.com/distribution/ <https://www.anaconda.com/distribution/>`_,
369-
Python>=3.7), proceed as follows:
369+
.. note::
370+
371+
It is possible, but we currently don't recommend using conda for installing
372+
AMICI, as it commonly leads to conflicts with system installations of
373+
libraries and compilers.
370374

371-
Since Anaconda provides own versions of some packages which might not
372-
work with AMICI (in particular the ``gcc`` compiler), create a minimal
373-
virtual environment via:
375+
Create a minimal conda environment via:
374376

375377
.. code-block:: bash
376378
@@ -416,7 +418,7 @@ Now, you are ready to use AMICI in the virtual environment.
416418

417419
.. note::
418420

419-
**Anaconda on Mac**
421+
**conda on Mac**
420422

421423
If the above installation does not work for you, try installing AMICI via:
422424

@@ -438,6 +440,9 @@ Now, you are ready to use AMICI in the virtual environment.
438440
439441
(For further discussion see https://github.com/AMICI-dev/AMICI/issues/357)
440442

443+
Known issues:
444+
445+
* ``CMAKE_AR-NOTFOUND: not found``: Try ``conda install binutils``.
441446

442447
Optional Boost support
443448
----------------------

documentation/recreate_reference_list.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ def main():
7575
)
7676
f.write(
7777
"If you applied AMICI in your work and your publication is "
78-
"missing, please let us know via a new GitHub issue.\n\n"
78+
"missing, please let us know via a new\n"
79+
"[GitHub issue](https://github.com/AMICI-dev/AMICI/issues/new"
80+
"?labels=documentation&title=Add+publication"
81+
"&body=AMICI+was+used+in+this+manuscript:+DOI).\n\n"
7982
)
8083
f.write(
8184
"""

0 commit comments

Comments
 (0)