Skip to content

Commit

Permalink
Release 0.22.0
Browse files Browse the repository at this point in the history
Merge pull request #2309 from dweindl/release_0.22.0
  • Loading branch information
dweindl authored Feb 26, 2024
2 parents fa7c0bd + 0440755 commit 7a06016
Show file tree
Hide file tree
Showing 20 changed files with 397 additions and 187 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/deploy_protected.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,8 @@ on:

jobs:
dockerhub:
# https://github.com/marketplace/actions/publish-docker
name: Deploy Dockerhub

if: github.event.pull_request.head.repo.fork == false
runs-on: ubuntu-22.04

strategy:
Expand All @@ -31,9 +30,9 @@ jobs:
- uses: actions/checkout@v4
- run: git archive -o container/amici.tar.gz --format=tar.gz HEAD
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: Publish to Registry
uses: elgohr/Publish-Docker-Github-Action@v4
with:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test_petab_test_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ jobs:
tests/petab_test_suite/
- name: Codecov
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test_python_cplusplus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ jobs:
${AMICI_DIR}/python/tests/test_splines.py
- name: Codecov Python
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -85,6 +86,7 @@ jobs:
&& lcov -a coverage_cpp.info -a coverage_py.info -o coverage.info
- name: Codecov CPP
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down Expand Up @@ -139,6 +141,7 @@ jobs:
${AMICI_DIR}/python/tests/test_splines_short.py
- name: Codecov Python
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand All @@ -158,6 +161,7 @@ jobs:
&& lcov -a coverage_cpp.info -a coverage_py.info -o coverage.info
- name: Codecov CPP
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test_sbml_semantic_test_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ jobs:
path: tests/amici-semantic-results

- name: Codecov SBMLSuite
if: github.event_name == 'pull_request' || github.repository_owner == 'AMICI-dev'
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,36 @@

## v0.X Series

### v0.22.0 (2024-02-23)

**Features**

* PEtab import: User option to fail if model needs to be compiled
by @dilpath in https://github.com/AMICI-dev/AMICI/pull/2289

The `force_compile` argument is now **deprecated**. Use `compile_` instead.

* Model import now adds a `.gitignore` file to the model output directory
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2301

**Fixes**

* **Fixed a bug that may have caused wrong simulation results for certain**
**SBML models that contain `rateOf`-expressions**
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2291
* More informative error message for `ReturnDataView.by_id`
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2295
* Fixed `ENABLE_AMICI_DEBUGGING=TRUE` not working with MSVC
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2296
* Fixed MANIFEST.in warning by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2297
* (performance) Skip unnecessary toposorting in `DEModel._collect_heaviside_roots`
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2299
* (performance) Fix redundant calls to `Model::fdwdx` from `Model_ODE::fJ`
(only relevant for dense and banded solvers)
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2298

**Full Changelog**: https://github.com/AMICI-dev/AMICI/compare/v0.21.2...v0.22.0

### v0.21.2 (2024-02-06)

* Fixed `Solver` copyctor issues with swig4.2 that resulted in installation
Expand Down
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,12 @@ endif()

# Debug build?
if("$ENV{ENABLE_AMICI_DEBUGGING}" OR "$ENV{ENABLE_GCOV_COVERAGE}")
add_compile_options(-UNDEBUG -O0 -g)
add_compile_options(-UNDEBUG)
if(MSVC)
add_compile_options(-DEBUG)
else()
add_compile_options(-O0 -g)
endif()
set(CMAKE_BUILD_TYPE "Debug")
endif()

Expand Down
2 changes: 1 addition & 1 deletion documentation/ExampleJax.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@
"source": [
"from amici.petab.petab_import import import_petab_problem\n",
"\n",
"amici_model = import_petab_problem(petab_problem, force_compile=True)"
"amici_model = import_petab_problem(petab_problem, compile_=True)"
]
},
{
Expand Down
68 changes: 46 additions & 22 deletions documentation/amici_refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1100,19 +1100,20 @@ @Article{FroehlichGer2023
}
@Article{FroehlichSor2022,
author = {Fröhlich, Fabian AND Sorger, Peter K.},
journal = {PLOS Computational Biology},
title = {Fides: Reliable trust-region optimization for parameter estimation of ordinary differential equation models},
year = {2022},
month = {07},
number = {7},
pages = {1-28},
volume = {18},
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.},
creationdate = {2023-04-15T08:12:41},
doi = {10.1371/journal.pcbi.1010322},
publisher = {Public Library of Science},
url = {https://doi.org/10.1371/journal.pcbi.1010322},
author = {Fröhlich, Fabian and Sorger, Peter K.},
journal = {PLOS Computational Biology},
title = {Fides: Reliable trust-region optimization for parameter estimation of ordinary differential equation models},
year = {2022},
month = {07},
number = {7},
pages = {1-28},
volume = {18},
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.},
creationdate = {2023-04-15T08:12:41},
doi = {10.1371/journal.pcbi.1010322},
modificationdate = {2024-02-23T18:10:55},
publisher = {Public Library of Science},
url = {https://doi.org/10.1371/journal.pcbi.1010322},
}
@Article{ErdemMut2022,
Expand Down Expand Up @@ -1163,15 +1164,6 @@ @InBook{Froehlich2023
url = {https://doi.org/10.1007/978-1-0716-3008-2_3},
}
@Misc{SluijsZho2023,
author = {Bob van Sluijs and Tao Zhou and Britta Helwig and Mathieu Baltussen and Frank Nelissen and Hans Heus and Wilhelm Huck},
title = {Inverse Design of Enzymatic Reaction Network States},
year = {2023},
creationdate = {2023-07-06T10:39:46},
doi = {10.21203/rs.3.rs-2646906/v1},
modificationdate = {2023-07-06T10:40:37},
}
@Article{BuckBas2023,
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},
journal = {iScience},
Expand Down Expand Up @@ -1251,6 +1243,38 @@ @Misc{HuckBal2023
publisher = {Research Square Platform LLC},
}
@Article{LangPen2024,
author = {Lang, Paul F. and Penas, David R. and Banga, Julio R. and Weindl, Daniel and Novak, Bela},
journal = {PLOS Computational Biology},
title = {Reusable rule-based cell cycle model explains compartment-resolved dynamics of 16 observables in RPE-1 cells},
year = {2024},
month = {01},
number = {1},
pages = {1-24},
volume = {20},
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.},
creationdate = {2024-01-24T20:02:16},
doi = {10.1371/journal.pcbi.1011151},
modificationdate = {2024-02-23T18:10:08},
publisher = {Public Library of Science},
url = {https://doi.org/10.1371/journal.pcbi.1011151},
}
@Article{SluijsZho2024,
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.},
journal = {Nature Communications},
title = {Iterative design of training data to control intricate enzymatic reaction networks},
year = {2024},
issn = {2041-1723},
month = feb,
number = {1},
volume = {15},
creationdate = {2024-02-23T17:09:35},
doi = {10.1038/s41467-024-45886-9},
modificationdate = {2024-02-23T17:09:35},
publisher = {Springer Science and Business Media LLC},
}
@Comment{jabref-meta: databaseType:bibtex;}
@Comment{jabref-meta: grouping:
Expand Down
Loading

0 comments on commit 7a06016

Please sign in to comment.