21 research outputs found
AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models
Ordinary differential equation models facilitate the understanding of
cellular signal transduction and other biological processes. However, for large
and comprehensive models, the computational cost of simulating or calibrating
can be limiting. AMICI is a modular toolbox implemented in C++/Python/MATLAB
that provides efficient simulation and sensitivity analysis routines tailored
for scalable, gradient-based parameter estimation and uncertainty
quantification.
AMICI is published under the permissive BSD-3-Clause license with source code
publicly available on https://github.com/AMICI-dev/AMICI. Citeable releases are
archived on Zenodo
pyPESTO: A modular and scalable tool for parameter estimation for dynamic models
Mechanistic models are important tools to describe and understand biological
processes. However, they typically rely on unknown parameters, the estimation
of which can be challenging for large and complex systems. We present pyPESTO,
a modular framework for systematic parameter estimation, with scalable
algorithms for optimization and uncertainty quantification. While tailored to
ordinary differential equation problems, pyPESTO is broadly applicable to
black-box parameter estimation problems. Besides own implementations, it
provides a unified interface to various popular simulation and inference
methods. pyPESTO is implemented in Python, open-source under a 3-Clause BSD
license. Code and documentation are available on GitHub
(https://github.com/icb-dcm/pypesto)
PEtab -- interoperable specification of parameter estimation problems in systems biology
Reproducibility and reusability of the results of data-based modeling studies
are essential. Yet, there has been -- so far -- no broadly supported format for
the specification of parameter estimation problems in systems biology. Here, we
introduce PEtab, a format which facilitates the specification of parameter
estimation problems using Systems Biology Markup Language (SBML) models and a
set of tab-separated value files describing the observation model and
experimental data as well as parameters to be estimated. We already implemented
PEtab support into eight well-established model simulation and parameter
estimation toolboxes with hundreds of users in total. We provide a Python
library for validation and modification of a PEtab problem and currently 20
example parameter estimation problems based on recent studies. Specifications
of PEtab, the PEtab Python library, as well as links to examples, and all
supporting software tools are available at https://github.com/PEtab-dev/PEtab,
a snapshot is available at https://doi.org/10.5281/zenodo.3732958. All original
content is available under permissive licenses
Predicting blood pressure in aortas treated for coarctation
Coarctation of the aorta is a narrowing of the aorta that is present at birth. Treatments for coarctation of the aorta affect the aorta wall stiffness. This study uses a 1D model to predict the effects of altered wall stiffness. Stent treatments increase both blood pressure and the radial change of the aorta wall over a heartbeat cycle, compared to both healthy aortas and the resection and end-to-end anastomosis treatment.
References A. M. Rudolph, M. A. Heymann, and U. Spitznas. Hemodynamic considerations in the development of narrowing of the aorta. Am. J. Cardiol. 30(5):514–525, 1972. doi:10.1016/0002-9149(72)90042-2 N. S. Talner and M. A. Berman. Postnatal development of obstruction in coarctation of the aorta: role of the ductus arteriosus. Pediatrics, 56(4):562–569, 1975. http://pediatrics.aappublications.org/content/56/4/562 P. S. Rao. Coarctation of the aorta. Curr. Cardiol. Rep., 7(6):425–434, 2005. doi:10.1007/s11886-005-0060-0 Z. Keshavarz-Motamed, E. R. Edelman, P. K. Motamed, J. Garcia, N. Dahdah, and L. Kadem. The role of aortic compliance in determination of coarctation severity: Lumped parameter modeling, in vitro study and clinical evaluation. J. Biomech. 48(16):4229–4237, 2015. doi:10.1016/j.jbiomech.2015.10.017 M. Campbell. Natural history of coarctation of the aorta. Br. Heart J. 32(5):633–640, 1970. doi:10.1136/hrt.32.5.633 L. M. S. Padua, L. C. Garcia, C. J. Rubira, and P. E. de Oliveira Carvalho. Stent placement versus surgery for coarctation of the thoracic aorta. Cochrane Db. Syst. Rev. 5:CD008204, 2012. doi:10.1002/14651858.CD008204.pub2 R. Jurcut, A. M. Daraban, A. Lorber, D. Deleanu, M. S. Amzulescu, C. Zara, B. A. Popescu, and C. Ginghina. Coarctation of the aorta in adults: what is the best treatment? Case report and literature review. J. Med. Life, 4(2):189–195, 2011. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3124275/ J. Alastruey, T. Passerini, L. Formaggia, and J. Peiro. Physical determining factors of the arterial pulse waveform: theoretical analysis and calculation using the 1-D formulation. J. Eng. Math. 77(1):19–37, 2012. doi:10.1007/s10665-012-9555-z J. Alastruey, M. Willemet, K. Lau, S. Epstein, and S. Vennin. Nektar1D, Haemodynamic Modelling Research Group, Kings College London, 2016. http://haemod.uk/nektar J. Alastruey, K. H. Parker, and S. J. Sherwin. Arterial pulse wave haemodynamics. 11th International Conference on Pressure Surges, pg. 401–442, 2012. http://wwwf.imperial.ac.uk/ssherw/spectralhp/papers/PulseSurges_2012.pdf N. P. Smith, A. J. Pullan, and P. J. Hunter. An anatomically based model of transient coronary blood flow in the heart. SIAM J. Appl. Math. 62(3):990–1018, 2002. doi:10.1137/S0036139999355199 N. Westerhof, F. Bosman, C. J. De Vries, and A. Noordergraaf. Analog studies of the human systemic arterial tree. J. Biomech. 2(2):121–134, 1969. doi:10.1016/0021-9290(69)90024-4 N. Xiao, J. Alastruey, and C. A. Figueroa. A systematic comparison between 1-D and 3-D hemodynamics in compliant arterial models. Int. J. Numer. Meth. Biomed. Eng. 30(2):204–231, 2014. doi:10.1002/cnm.2598 C. A. Figueroa, I. E. Vignon-Clementel, K. E. Jansen, T. J. R. Hughes, and C. A. Taylor. A coupled momentum method for modeling blood flow in three-dimensional deformable arteries. Comput. Meth. Appl. Mech. Eng. 195(41\T1\textendash 43):5685–5706, 2006. doi:10.1016/j.cma.2005.11.011 E. Boileau, P. Nithiarasu, P. J. Blanco, L. O. Muller, F. E. Fossan, L. R. Hellevik, W. P. Donders, W. Huberts, M. Willemet, and J. Alastruey. A benchmark study of numerical schemes for one-dimensional arterial blood flow modelling. Int. J. Numer. Meth. Biomed. Eng. 31(10):e02732, 2015. doi:10.1002/cnm.273
A protocol for dynamic model calibration
Ordinary differential equation models are nowadays widely used for the mechanistic description of biological processes and their temporal evolution. These models typically have many unknown and nonmeasurable parameters, which have to be determined by fitting the model to experimental data. In order to perform this task, known as parameter estimation or model calibration, the modeller faces challenges such as poor parameter identifiability, lack of sufficiently informative experimental data and the existence of local minima in the objective function landscape. These issues tend to worsen with larger model sizes, increasing the computational complexity and the number of unknown parameters. An incorrectly calibrated model is problematic because it may result in inaccurate predictions and misleading conclusions. For nonexpert users, there are a large number of potential pitfalls. Here, we provide a protocol that guides the user through all the steps involved in the calibration of dynamic models. We illustrate the methodology with two models and provide all the code required to reproduce the results and perform the same analysis on new models. Our protocol provides practitioners and researchers in biological modelling with a one-stop guide that is at the same time compact and sufficiently comprehensive to cover all aspects of the problemFinanciado para publicación en acceso aberto: Universidade de Vigo/CISUGMinisterio de Ciencia e Innovación | Ref. PID2020-117271RB-C22Ministerio de Asuntos Económicos y Transformación Digital | Ref. DPI2017-82896-C2-2-RMinisterio de Ciencia e Innovación | Ref. RYC-2019-027537-IXunta de Galicia | Ref. ED431F 2021/00
AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models
<p><strong>Deprecations</strong></p>
<ul>
<li>Moved PEtab-related functionality from <code>amici.petab_*</code> to the
petab-subpackage <code>amici.petab.*</code>. The old public functions are still
available but will be removed in a future release.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2205, https://github.com/AMICI-dev/AMICI/pull/2211, https://github.com/AMICI-dev/AMICI/pull/2252</li>
</ul>
<p><strong>Features</strong></p>
<ul>
<li>Handle events occurring at fixed timepoints without root-finding.
This avoids event-after-reinitialization errors in many cases a brings a
slight performance improvement.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2227</li>
<li>Added <code>PetabProblem</code> class for handling PEtab-defined simulation conditions,
making it easier to perform customized operations based on PEtab-defined
simulation conditions.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2255</li>
<li>code-gen: Simplified <code>switch</code> statements, leading to reduced file sizes and
faster compilation for certain models.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2240</li>
<li>Made <code>Model</code> and <code>ModelPtr</code> deepcopyable
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2247</li>
<li>Made <code>Solver</code> and <code>SolverPtr</code> deepcopyable
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2245</li>
<li>Added a debugging helper <code>get_model_for_preeq</code> for debugging simulation
issues during pre-equilibration.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2250</li>
<li>Added <code>SwigPtrView</code> fields to <code>dir()</code> outputs
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2244</li>
<li>Use proper labels for in plotting functions if IDs are available in
<code>ReturnData</code>.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2249</li>
<li>Added <code>ExpData::clear_observations</code> to set all measurements/sigmas to NaN
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2258</li>
</ul>
<p><strong>Fixes</strong></p>
<ul>
<li>Fixed AMICI hiding all warnings. Previously, importing <code>amici</code> resulted
in all warnings being hidden in the rest of the program.
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2243</li>
<li>CMake: Fixed model debug builds
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2222</li>
<li>Fixed CMake potentially using incorrect Python library for building model
extension
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2220</li>
<li>CMake: fixed cxx flag check
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2225</li>
<li>Fixed potential out-of-bounds read in <code>Model::checkFinite</code> for
matlab-imported models
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2232</li>
<li>Fixed piecewise/Heaviside handling
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2234</li>
<li>Deterministic order of event assignments
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2242</li>
<li>Proper error message in case of unsupported state-dependent sigmas
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2239</li>
<li>Fixed swig shadow warning + other linting issues
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2261</li>
<li>Fixed <code>SwigPtrView.__getattr__</code>
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2259</li>
<li><code>simulate_petab</code>: Avoid warning when simulating with default parameters
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2265</li>
</ul>
<p><strong>Documentation</strong></p>
<ul>
<li>Updated Python package installation instructions for Arch Linux
by @willov in https://github.com/AMICI-dev/AMICI/pull/2212</li>
<li>Updated <code>ExpData</code> documentation
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2254</li>
<li>Documented simulation starting time <code>t0</code>
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2263</li>
<li>Updated PEtab example
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2255</li>
</ul>
<p>...</p>
<p><strong>Full Changelog</strong>: https://github.com/AMICI-dev/AMICI/compare/v0.20.0...v0.21.0</p>If you use this software, please cite both the article from preferred-citation and the software itself
AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models
<p>Fixed package configuration for PyPI upload. No further changes.</p>
<p>See https://github.com/AMICI-dev/AMICI/releases/tag/v0.21.0.</p>If you use this software, please cite both the article from preferred-citation and the software itself
AMICI: High-Performance Sensitivity Analysis for Large Ordinary Differential Equation Models
<p><strong>Fixes</strong></p>
<ul>
<li>Fixed CMake cmake_minimum_required deprecation warning
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2183</li>
<li>Fixed misleading preequilibration failure messages
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2181</li>
<li>Removed setuptools<64 restriction
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2180</li>
<li>Fixed ExpData equality operator for Python
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2194</li>
<li>Enabled deepcopy for ExpData(View)
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2196</li>
<li>Allowed subsetting simulation conditions in simulate_petab
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2199</li>
<li>Set CMake CMP0144 to prevent warning
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2209</li>
</ul>
<p><strong>Features</strong></p>
<ul>
<li>Possibility to evaluate and plot symbolic expressions based on simulation results
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2152</li>
<li>Easier access to timepoints via ExpDataView
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2193</li>
<li>Nicer <code>__repr__</code> for ReturnDataView
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2192</li>
</ul>
<p><strong>Documentation</strong></p>
<ul>
<li>Added installation instructions for Arch Linux
by @stephanmg in https://github.com/AMICI-dev/AMICI/pull/2173</li>
<li>Updated reference list
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2172</li>
<li>Installation guide: optional requirements
by @dweindl in https://github.com/AMICI-dev/AMICI/pull/2207</li>
</ul>
<p><strong>Full Changelog</strong>: https://github.com/AMICI-dev/AMICI/compare/v0.19.0...v0.20.0</p>If you use this software, please cite both the article from preferred-citation and the software itself