-
Notifications
You must be signed in to change notification settings - Fork 28
How to implement a moment ODE model
Moment ODEs are powerful models based on ordinary differential equations that allow to consider stochastic dynamics. This can be both intrinsics stochasticity, see in
- Lee C.H. et al., A moment closure method for stochastic reaction networks. The Journal of Chemical Physics, 130(13), 134107, 2013,
or mixtures of intrinsic and extrinsic stochasticity, see in
- Zechner, C. et al., Moment-based inference predicts bimodality in transient gene expression. PNAS, 109(21), 8340-8345, 2012.
To calibrate such models, for instance FACS data can be used.
The mathematical formulation of those model consists of ODEs for the mean of each species, of the covariance components between each species and higher order terms if desired. It can be encoded in the Data 2 Dynamics software as follows:
STATES
mu_1 C "nmol/l" "conc."
mu_2 C "nmol/l" "conc."
...
cov_1_1 C "nmol/l^2" "conc.^2"
cov_1_2 C "nmol/l^2" "conc.^2"
cov_2_2 C "nmol/l^2" "conc.^2"
...
Please note that component cov_1_2
and cov_2_1
will be identical.
ODES
"mathematical expression for mu_1"
"mathematical expression for mu_2"
...
"mathematical expression for cov_1_1"
"mathematical expression for cov_1_2"
"mathematical expression for cov_2_2"
...
The OBSERABLES
and ERRORS
section, for instance for FACS measurements of mu_1
and mu_2
, can be defined as follows
OBSERVABLES
obs_mu_1 C "au" "conc." 1 1 "scale_obs_mu_1 * (mu_1)"
obs_mu_2 C "au" "conc." 1 1 "scale_obs_mu_2 * (mu_2)"
...
ERRORS
obs_mu_1 "sqrt(cov_1_1 + sd_mu_1)"
obs_mu_2 "sqrt(cov_2_2 + sd_mu_2)"
The error model parameters sd_mu_1
and sd_mu_2
implement additional measurement noise. Please note that these OBERSERVABLES
do not take into account correlation information about mu_1
and m_2
that might be available. If such information should be considered a more complicated likelihood function has to be implemented manually.
- Installation and system requirements
- Setting up models
- First steps
- Advanced events and pre-equilibration
- Computation of integration-based prediction bands
- How is the architecture of the code and the most important commands?
- What are the most important fields of the global variable ar?
- What are the most important functions?
- Optimization algorithms available in the d2d-framework
- Objective function, likelhood and chi-square in the d2d framework
- How to set up priors?
- How to set up steady state constraints?
- How do I restart the solver upon a step input?
- How to deal with integrator tolerances?
- How to implement a bolus injection?
- How to implement washing and an injection?
- How to implement a moment ODE model?
- How to run PLE calculations on a Cluster?