Description Usage Format Simulation Source Examples
This PDMP models the most simple situation of gene regulation,
where we have one gene and a constant activation rate without
a further regulation mechanism. Transcription and translation
are considered as one step and are not modeled separately.
In PROM, this model is referred to as Model K,
therefore it is named genePdmpK
and genePolyK
here.
1 2 3 |
genePdmpK
is an object of class pdmpModel
,
genePolyK
is an object of class polyPdmpModel
.
The simulations in PROM were done with slot times
set to
from = 0, to = 1000, by = 0.1.
The following parameter sets were simulated:
k01 = 0.01, k10 = 0.01, a = 1, b = 0.06
k01 = 0.01, k10 = 0.01, a = 1, b = 0.005
k01 = 0.01, k10 = 0.03, a = 1, b = 0.025
k01 = 0.03, k10 = 0.01, a = 1, b = 0.025
The model, including most of the parameter sets, are described in [RajCo2006] and [Zeiser2009]. The parameter values do not rely on real data.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | library(spray)
#------ code to generate the pdmpModel version -----
genePdmpK <- new("pdmpModel",
descr = "Model K: constant activation",
parms = list(b = 0.005, a = 1, k10 = 0.01, k01 = 0.01),
init = c(f = 0, d = 1),
discStates = list(d = 0:1),
dynfunc = function(t, x, parms) {
df <- with(as.list(c(x, parms)), a*d - b*f)
return(c(df, 0))
},
ratefunc = function(t, x, parms) {
return(with(as.list(c(x, parms)), switch(d + 1, k01, k10)))
},
jumpfunc = function(t, x, parms, jtype) {
c(x[1], 1 - x[2])
},
times = c(from = 0, to = 100, by = 0.1),
solver = "lsodar")
#------ code to generate the polyPdmpModel version -----
genePolyK <- new("polyPdmpModel",
descr = "Model K: constant activation (polynomial version)",
parms = list(b = 0.005, a = 1, k10 = 0.01, k01 = 0.01),
init = c(f = 0, d = 1),
discStates = list(d = 0:1),
dynpolys = quote(list(
list(overall = linear(c(-b, a)))
)),
ratepolys = quote(list(
list(k01, k10)
)),
jumpfunc = function(t, x, parms, jtype) {
c(x[1], 1 - x[2])
},
times = c(from = 0, to = 100, by = 0.1),
solver = "lsodar")
#------- comparison of the models --------------
identical(sim(genePdmpK, outSlot = FALSE, seed = 20),
sim(genePolyK, outSlot = FALSE, seed = 20))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.