UQSA -- An R-Package for Uncertainty Quantification and Sensitivity Analysis for Biochemical Reaction Network Models
Andrei Kramer, Federica Milinanni, Jeanette Hellgren Kotaleski, Pierre Nyquist, Alexandra Jauhiainen, Olivia Eriksson
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/icpm-kth/uqsaOfficialIn papernone★ 3
Abstract
Biochemical reaction models describing subcellular processes generally come with a large uncertainty. To be able to account for this during the modeling process, we have developed the R-package UQSA, performing uncertainty quantification and sensitivity analysis in an integrated fashion. UQSA is designed for fast sampling of complicated multi-dimensional parameter distributions, using efficient Markov chain Monte Carlo (MCMC) sampling techniques and Vine-copulas to model complicated joint distributions. We perform MCMC sampling both from stochastic and deterministic models, in either likelihood-free or likelihood-based settings. In the likelihood-free case, we use Approximate Bayesian Computation (ABC), while for likelihood-based sampling we provide different algorithms, including the fast geometry-informed algorithm SMMALA (Simplified Manifold Metropolis-Adjusted Langevin Algorithm). The uncertainty quantification can be followed by a variance decomposition-based global sensitivity analysis. We are aiming for biochemical models, but UQSA can be used for any type of reaction networks. The use of Vine-copulas allows us to describe, evaluate, and sample from complicated parameter distributions, as well as adding new datasets in a sequential manner without redoing the previous parameter fit. The code is written in R, with C as a backend to improve speed. We use the SBtab table format for Systems Biology projects for the model description as well as the experimental data. An event system allows the user to model complicated transient input, common within, e.g., neuroscience. UQSA has an extensive documentation with several examples describing different types of models and data. The code has been tested on up to 2000 cores on several nodes on a computing cluster, but we also include smaller examples that can be run on a laptop. Source code: https://github.com/icpm-kth/uqsa