Skip to content

Commit 7a06016

Browse files
authored
Release 0.22.0
Merge pull request #2309 from dweindl/release_0.22.0
2 parents fa7c0bd + 0440755 commit 7a06016

20 files changed

+397
-187
lines changed

.github/workflows/deploy_protected.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ on:
1414

1515
jobs:
1616
dockerhub:
17-
# https://github.com/marketplace/actions/publish-docker
1817
name: Deploy Dockerhub
19-
18+
if: github.event.pull_request.head.repo.fork == false
2019
runs-on: ubuntu-22.04
2120

2221
strategy:
@@ -31,9 +30,9 @@ jobs:
3130
- uses: actions/checkout@v4
3231
- run: git archive -o container/amici.tar.gz --format=tar.gz HEAD
3332
- name: Set up QEMU
34-
uses: docker/setup-qemu-action@v2
33+
uses: docker/setup-qemu-action@v3
3534
- name: Set up Docker Buildx
36-
uses: docker/setup-buildx-action@v2
35+
uses: docker/setup-buildx-action@v3
3736
- name: Publish to Registry
3837
uses: elgohr/Publish-Docker-Github-Action@v4
3938
with:

.github/workflows/test_petab_test_suite.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ jobs:
8585
tests/petab_test_suite/
8686
8787
- name: Codecov
88+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
8889
uses: codecov/codecov-action@v4
8990
with:
9091
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/test_python_cplusplus.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ jobs:
6666
${AMICI_DIR}/python/tests/test_splines.py
6767
6868
- name: Codecov Python
69+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
6970
uses: codecov/codecov-action@v4
7071
with:
7172
token: ${{ secrets.CODECOV_TOKEN }}
@@ -85,6 +86,7 @@ jobs:
8586
&& lcov -a coverage_cpp.info -a coverage_py.info -o coverage.info
8687
8788
- name: Codecov CPP
89+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
8890
uses: codecov/codecov-action@v4
8991
with:
9092
token: ${{ secrets.CODECOV_TOKEN }}
@@ -139,6 +141,7 @@ jobs:
139141
${AMICI_DIR}/python/tests/test_splines_short.py
140142
141143
- name: Codecov Python
144+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
142145
uses: codecov/codecov-action@v4
143146
with:
144147
token: ${{ secrets.CODECOV_TOKEN }}
@@ -158,6 +161,7 @@ jobs:
158161
&& lcov -a coverage_cpp.info -a coverage_py.info -o coverage.info
159162
160163
- name: Codecov CPP
164+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
161165
uses: codecov/codecov-action@v4
162166
with:
163167
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/test_sbml_semantic_test_suite.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ jobs:
5454
path: tests/amici-semantic-results
5555

5656
- name: Codecov SBMLSuite
57+
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
5758
uses: codecov/codecov-action@v4
5859
with:
5960
token: ${{ secrets.CODECOV_TOKEN }}

CHANGELOG.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,36 @@
22

33
## v0.X Series
44

5+
### v0.22.0 (2024-02-23)
6+
7+
**Features**
8+
9+
* PEtab import: User option to fail if model needs to be compiled
10+
by @dilpath in https://github.com/AMICI-dev/AMICI/pull/2289
11+
12+
The `force_compile` argument is now **deprecated**. Use `compile_` instead.
13+
14+
* Model import now adds a `.gitignore` file to the model output directory
15+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2301
16+
17+
**Fixes**
18+
19+
* **Fixed a bug that may have caused wrong simulation results for certain**
20+
**SBML models that contain `rateOf`-expressions**
21+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2291
22+
* More informative error message for `ReturnDataView.by_id`
23+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2295
24+
* Fixed `ENABLE_AMICI_DEBUGGING=TRUE` not working with MSVC
25+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2296
26+
* Fixed MANIFEST.in warning by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2297
27+
* (performance) Skip unnecessary toposorting in `DEModel._collect_heaviside_roots`
28+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2299
29+
* (performance) Fix redundant calls to `Model::fdwdx` from `Model_ODE::fJ`
30+
(only relevant for dense and banded solvers)
31+
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2298
32+
33+
**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.21.2...v0.22.0
34+
535
### v0.21.2 (2024-02-06)
636

737
* Fixed `Solver` copyctor issues with swig4.2 that resulted in installation

CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,12 @@ endif()
8484

8585
# Debug build?
8686
if("$ENV{ENABLE_AMICI_DEBUGGING}" OR "$ENV{ENABLE_GCOV_COVERAGE}")
87-
add_compile_options(-UNDEBUG -O0 -g)
87+
add_compile_options(-UNDEBUG)
88+
if(MSVC)
89+
add_compile_options(-DEBUG)
90+
else()
91+
add_compile_options(-O0 -g)
92+
endif()
8893
set(CMAKE_BUILD_TYPE "Debug")
8994
endif()
9095

documentation/ExampleJax.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@
572572
"source": [
573573
"from amici.petab.petab_import import import_petab_problem\n",
574574
"\n",
575-
"amici_model = import_petab_problem(petab_problem, force_compile=True)"
575+
"amici_model = import_petab_problem(petab_problem, compile_=True)"
576576
]
577577
},
578578
{

documentation/amici_refs.bib

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1100,19 +1100,20 @@ @Article{FroehlichGer2023
11001100
}
11011101
11021102
@Article{FroehlichSor2022,
1103-
author = {Fröhlich, Fabian AND Sorger, Peter K.},
1104-
journal = {PLOS Computational Biology},
1105-
title = {Fides: Reliable trust-region optimization for parameter estimation of ordinary differential equation models},
1106-
year = {2022},
1107-
month = {07},
1108-
number = {7},
1109-
pages = {1-28},
1110-
volume = {18},
1111-
abstract = {Ordinary differential equation (ODE) models are widely used to study biochemical reactions in cellular networks since they effectively describe the temporal evolution of these networks using mass action kinetics. The parameters of these models are rarely known a priori and must instead be estimated by calibration using experimental data. Optimization-based calibration of ODE models on is often challenging, even for low-dimensional problems. Multiple hypotheses have been advanced to explain why biochemical model calibration is challenging, including non-identifiability of model parameters, but there are few comprehensive studies that test these hypotheses, likely because tools for performing such studies are also lacking. Nonetheless, reliable model calibration is essential for uncertainty analysis, model comparison, and biological interpretation. We implemented an established trust-region method as a modular Python framework (fides) to enable systematic comparison of different approaches to ODE model calibration involving a variety of Hessian approximation schemes. We evaluated fides on a recently developed corpus of biologically realistic benchmark problems for which real experimental data are available. Unexpectedly, we observed high variability in optimizer performance among different implementations of the same mathematical instructions (algorithms). Analysis of possible sources of poor optimizer performance identified limitations in the widely used Gauss-Newton, BFGS and SR1 Hessian approximation schemes. We addressed these drawbacks with a novel hybrid Hessian approximation scheme that enhances optimizer performance and outperforms existing hybrid approaches. When applied to the corpus of test models, we found that fides was on average more reliable and efficient than existing methods using a variety of criteria. We expect fides to be broadly useful for ODE constrained optimization problems in biochemical models and to be a foundation for future methods development.},
1112-
creationdate = {2023-04-15T08:12:41},
1113-
doi = {10.1371/journal.pcbi.1010322},
1114-
publisher = {Public Library of Science},
1115-
url = {https://doi.org/10.1371/journal.pcbi.1010322},
1103+
author = {Fröhlich, Fabian and Sorger, Peter K.},
1104+
journal = {PLOS Computational Biology},
1105+
title = {Fides: Reliable trust-region optimization for parameter estimation of ordinary differential equation models},
1106+
year = {2022},
1107+
month = {07},
1108+
number = {7},
1109+
pages = {1-28},
1110+
volume = {18},
1111+
abstract = {Ordinary differential equation (ODE) models are widely used to study biochemical reactions in cellular networks since they effectively describe the temporal evolution of these networks using mass action kinetics. The parameters of these models are rarely known a priori and must instead be estimated by calibration using experimental data. Optimization-based calibration of ODE models on is often challenging, even for low-dimensional problems. Multiple hypotheses have been advanced to explain why biochemical model calibration is challenging, including non-identifiability of model parameters, but there are few comprehensive studies that test these hypotheses, likely because tools for performing such studies are also lacking. Nonetheless, reliable model calibration is essential for uncertainty analysis, model comparison, and biological interpretation. We implemented an established trust-region method as a modular Python framework (fides) to enable systematic comparison of different approaches to ODE model calibration involving a variety of Hessian approximation schemes. We evaluated fides on a recently developed corpus of biologically realistic benchmark problems for which real experimental data are available. Unexpectedly, we observed high variability in optimizer performance among different implementations of the same mathematical instructions (algorithms). Analysis of possible sources of poor optimizer performance identified limitations in the widely used Gauss-Newton, BFGS and SR1 Hessian approximation schemes. We addressed these drawbacks with a novel hybrid Hessian approximation scheme that enhances optimizer performance and outperforms existing hybrid approaches. When applied to the corpus of test models, we found that fides was on average more reliable and efficient than existing methods using a variety of criteria. We expect fides to be broadly useful for ODE constrained optimization problems in biochemical models and to be a foundation for future methods development.},
1112+
creationdate = {2023-04-15T08:12:41},
1113+
doi = {10.1371/journal.pcbi.1010322},
1114+
modificationdate = {2024-02-23T18:10:55},
1115+
publisher = {Public Library of Science},
1116+
url = {https://doi.org/10.1371/journal.pcbi.1010322},
11161117
}
11171118
11181119
@Article{ErdemMut2022,
@@ -1163,15 +1164,6 @@ @InBook{Froehlich2023
11631164
url = {https://doi.org/10.1007/978-1-0716-3008-2_3},
11641165
}
11651166
1166-
@Misc{SluijsZho2023,
1167-
author = {Bob van Sluijs and Tao Zhou and Britta Helwig and Mathieu Baltussen and Frank Nelissen and Hans Heus and Wilhelm Huck},
1168-
title = {Inverse Design of Enzymatic Reaction Network States},
1169-
year = {2023},
1170-
creationdate = {2023-07-06T10:39:46},
1171-
doi = {10.21203/rs.3.rs-2646906/v1},
1172-
modificationdate = {2023-07-06T10:40:37},
1173-
}
1174-
11751167
@Article{BuckBas2023,
11761168
author = {Michèle C. Buck and Lisa Bast and Judith S. Hecker and Jennifer Rivière and Maja Rothenberg-Thurley and Luisa Vogel and Dantong Wang and Immanuel Andrä and Fabian J. Theis and Florian Bassermann and Klaus H. Metzeler and Robert A.J. Oostendorp and Carsten Marr and Katharina S. Götze},
11771169
journal = {iScience},
@@ -1251,6 +1243,38 @@ @Misc{HuckBal2023
12511243
publisher = {Research Square Platform LLC},
12521244
}
12531245
1246+
@Article{LangPen2024,
1247+
author = {Lang, Paul F. and Penas, David R. and Banga, Julio R. and Weindl, Daniel and Novak, Bela},
1248+
journal = {PLOS Computational Biology},
1249+
title = {Reusable rule-based cell cycle model explains compartment-resolved dynamics of 16 observables in RPE-1 cells},
1250+
year = {2024},
1251+
month = {01},
1252+
number = {1},
1253+
pages = {1-24},
1254+
volume = {20},
1255+
abstract = {The mammalian cell cycle is regulated by a well-studied but complex biochemical reaction system. Computational models provide a particularly systematic and systemic description of the mechanisms governing mammalian cell cycle control. By combining both state-of-the-art multiplexed experimental methods and powerful computational tools, this work aims at improving on these models along four dimensions: model structure, validation data, validation methodology and model reusability. We developed a comprehensive model structure of the full cell cycle that qualitatively explains the behaviour of human retinal pigment epithelial-1 cells. To estimate the model parameters, time courses of eight cell cycle regulators in two compartments were reconstructed from single cell snapshot measurements. After optimisation with a parallel global optimisation metaheuristic we obtained excellent agreements between simulations and measurements. The PEtab specification of the optimisation problem facilitates reuse of model, data and/or optimisation results. Future perturbation experiments will improve parameter identifiability and allow for testing model predictive power. Such a predictive model may aid in drug discovery for cell cycle-related disorders.},
1256+
creationdate = {2024-01-24T20:02:16},
1257+
doi = {10.1371/journal.pcbi.1011151},
1258+
modificationdate = {2024-02-23T18:10:08},
1259+
publisher = {Public Library of Science},
1260+
url = {https://doi.org/10.1371/journal.pcbi.1011151},
1261+
}
1262+
1263+
@Article{SluijsZho2024,
1264+
author = {van Sluijs, Bob and Zhou, Tao and Helwig, Britta and Baltussen, Mathieu G. and Nelissen, Frank H. T. and Heus, Hans A. and Huck, Wilhelm T. S.},
1265+
journal = {Nature Communications},
1266+
title = {Iterative design of training data to control intricate enzymatic reaction networks},
1267+
year = {2024},
1268+
issn = {2041-1723},
1269+
month = feb,
1270+
number = {1},
1271+
volume = {15},
1272+
creationdate = {2024-02-23T17:09:35},
1273+
doi = {10.1038/s41467-024-45886-9},
1274+
modificationdate = {2024-02-23T17:09:35},
1275+
publisher = {Springer Science and Business Media LLC},
1276+
}
1277+
12541278
@Comment{jabref-meta: databaseType:bibtex;}
12551279
12561280
@Comment{jabref-meta: grouping:

0 commit comments

Comments
 (0)