Bayesian model inference and parameter estimation for biological models
Using mathematical models to simulate and analyze biochemical networks requires a principled approach to estimating unknown model parameters and to discriminating between competing models. This problem has been approached from four conceptually distinct ways (leaving aside algorithmic specifics): (1) focusing on simple processes or small reaction networks for which identifiable models can be constructed (2) for non-identifiable models, using a single set of best-fit parameter values is often used, ignoring the lack of certainty about parameters (3) partly mitigating non-identifiability by using families of a few hundred fits under the assumption that properties that are invariant across sets of parameters are of the greatest (4) applying rigorous sampling methods to recover the complete probability distribution of parameters, accounting for both experimental error and model non-identifiability, and then using the distribution in model-based prediction or model discrimination. BayesSB implements the fourth approach.
BayesSB is an algorithm and Python software package for estimating parameter distributions in reaction models of cellular biochemistry and for discriminating between models having different numbers of unknown parameters. The algorithm is described in detail in Eydgahi et al. Properties of cell death models calibrated and compared using Bayesian approaches. Mol Syst Biol (in review).
The code has extensive inline documentation. Once you have installed
the package, run
pydoc bayessb and
bayessb.plot to view it.
examples directory in the source
distribution contains some simple BayesSB usage examples:
examples/earm/fit_1_3_standalone.py: Fit a real-world model of extrinsic apoptosis (EARM 1.3) to experimental single-cell data on Caspase-3 reporter activity.
examples/earm/thermodynamic_integration.py: Using the EARM 1.3 model and data mentioned above, perform thermodynamic integration to calculate the evidence, or .
examples/robertson/figs_msb_paper.py: Using a small model of a classical biochemical system, recover "true" parameter values from noisy synthetic data.
You can obtain the source code with Git by running:
git clone git://github.com/sorgerlab/bayessb.git
Alternatively, you can download the code via the TAR/ZIP links above.
We also provide the original MATLAB version of the code via GitHub.
Hoda Eydgahi (email@example.com)
William Chen (firstname.lastname@example.org)
Jeremy L. Muhlich (email@example.com)