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 pydoc
bayessb.plot
to view it.
The 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 (hoda@mit.edu)
William Chen (wwchen@post.harvard.edu)
Jeremy L. Muhlich (jmuhlich@bitflood.org)