From 38f9e15f0c972c1516ae737a2bca8d7789581bbd Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Thu, 6 Oct 2016 09:19:21 +0200 Subject: Static documentation rebuilt by pkgdown::build_site() --- docs/reference/mkinpredict.html | 318 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 docs/reference/mkinpredict.html (limited to 'docs/reference/mkinpredict.html') diff --git a/docs/reference/mkinpredict.html b/docs/reference/mkinpredict.html new file mode 100644 index 00000000..730792c1 --- /dev/null +++ b/docs/reference/mkinpredict.html @@ -0,0 +1,318 @@ + + + + + + + + +mkinpredict. mkin + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + +
+
+ +

This function produces a time series for all the observed variables in a + kinetic model as specified by mkinmod, using a specific set of + kinetic parameters and initial values for the state variables.

+ + +
mkinpredict(mkinmod, odeparms, odeini, outtimes, solution_type = "deSolve",
+              use_compiled = "auto", method.ode = "lsoda", atol = 1e-08, rtol = 1e-10,
+        map_output = TRUE, ...)
+ +

Arguments

+
+
mkinmod
+
+ A kinetic model as produced by mkinmod. +
+
odeparms
+
+ A numeric vector specifying the parameters used in the kinetic model, which + is generally defined as a set of ordinary differential equations. +
+
odeini
+
+ A numeric vectory containing the initial values of the state variables of + the model. Note that the state variables can differ from the observed + variables, for example in the case of the SFORB model. +
+
outtimes
+
+ A numeric vector specifying the time points for which model predictions + should be generated. +
+
solution_type
+
+ The method that should be used for producing the predictions. This should + generally be "analytical" if there is only one observed variable, and + usually "deSolve" in the case of several observed variables. The third + possibility "eigen" is faster but not applicable to some models e.g. + using FOMC for the parent compound. +
+
method.ode
+
+ The solution method passed via mkinpredict to + ode in case the solution type is "deSolve". The default + "lsoda" is performant, but sometimes fails to converge. +
+
use_compiled
+
+ If set to FALSE, no compiled version of the mkinmod + model is used, even if is present. +
+
atol
+
+ Absolute error tolerance, passed to ode. Default is 1e-8, + lower than in lsoda. +
+
rtol
+
+ Absolute error tolerance, passed to ode. Default is 1e-10, + much lower than in lsoda. +
+
map_output
+
+ Boolean to specify if the output should list values for the observed + variables (default) or for all state variables (if set to FALSE). +
+
…
+
+ Further arguments passed to the ode solver in case such a solver is used. +
+
+ +
+

Value

+ +

A matrix in the same format as the output of ode.

+
+ +

Examples

+
SFO <- mkinmod(degradinol = list(type = "SFO")) + # Compare solution types + mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + solution_type = "analytical")
#> time degradinol +#> 1 0 100.0000000 +#> 2 1 74.0818221 +#> 3 2 54.8811636 +#> 4 3 40.6569660 +#> 5 4 30.1194212 +#> 6 5 22.3130160 +#> 7 6 16.5298888 +#> 8 7 12.2456428 +#> 9 8 9.0717953 +#> 10 9 6.7205513 +#> 11 10 4.9787068 +#> 12 11 3.6883167 +#> 13 12 2.7323722 +#> 14 13 2.0241911 +#> 15 14 1.4995577 +#> 16 15 1.1108997 +#> 17 16 0.8229747 +#> 18 17 0.6096747 +#> 19 18 0.4516581 +#> 20 19 0.3345965 +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + solution_type = "deSolve")
#> time degradinol +#> 1 0 100.0000000 +#> 2 1 74.0818221 +#> 3 2 54.8811636 +#> 4 3 40.6569660 +#> 5 4 30.1194212 +#> 6 5 22.3130160 +#> 7 6 16.5298888 +#> 8 7 12.2456428 +#> 9 8 9.0717953 +#> 10 9 6.7205513 +#> 11 10 4.9787068 +#> 12 11 3.6883167 +#> 13 12 2.7323722 +#> 14 13 2.0241911 +#> 15 14 1.4995577 +#> 16 15 1.1108996 +#> 17 16 0.8229747 +#> 18 17 0.6096747 +#> 19 18 0.4516581 +#> 20 19 0.3345965 +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + solution_type = "deSolve", use_compiled = FALSE)
#> time degradinol +#> 1 0 100.0000000 +#> 2 1 74.0818221 +#> 3 2 54.8811636 +#> 4 3 40.6569660 +#> 5 4 30.1194212 +#> 6 5 22.3130160 +#> 7 6 16.5298888 +#> 8 7 12.2456428 +#> 9 8 9.0717953 +#> 10 9 6.7205513 +#> 11 10 4.9787068 +#> 12 11 3.6883167 +#> 13 12 2.7323722 +#> 14 13 2.0241911 +#> 15 14 1.4995577 +#> 16 15 1.1108996 +#> 17 16 0.8229747 +#> 18 17 0.6096747 +#> 19 18 0.4516581 +#> 20 19 0.3345965 +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + solution_type = "eigen")
#> time degradinol +#> 1 0 100.0000000 +#> 2 1 74.0818221 +#> 3 2 54.8811636 +#> 4 3 40.6569660 +#> 5 4 30.1194212 +#> 6 5 22.3130160 +#> 7 6 16.5298888 +#> 8 7 12.2456428 +#> 9 8 9.0717953 +#> 10 9 6.7205513 +#> 11 10 4.9787068 +#> 12 11 3.6883167 +#> 13 12 2.7323722 +#> 14 13 2.0241911 +#> 15 14 1.4995577 +#> 16 15 1.1108997 +#> 17 16 0.8229747 +#> 18 17 0.6096747 +#> 19 18 0.4516581 +#> 20 19 0.3345965 +#> 21 20 0.2478752 +#>
+ + # Compare integration methods to analytical solution + mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + solution_type = "analytical")[21,]
#> time degradinol +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + method = "lsoda")[21,]
#> time degradinol +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + method = "ode45")[21,]
#> time degradinol +#> 21 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), 0:20, + method = "rk4")[21,]
#> time degradinol +#> 21 20 0.2480043 +#>
# rk4 is not as precise here + + # The number of output times used to make a lot of difference until the + # default for atol was adjusted + mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), + seq(0, 20, by = 0.1))[201,]
#> time degradinol +#> 201 20 0.2478752 +#>
mkinpredict(SFO, c(k_degradinol_sink = 0.3), c(degradinol = 100), + seq(0, 20, by = 0.01))[2001,]
#> time degradinol +#> 2001 20 0.2478752 +#>
+ # Check compiled model versions - they are faster than the eigenvalue based solutions! + SFO_SFO = mkinmod(parent = list(type = "SFO", to = "m1"), + m1 = list(type = "SFO"))
Successfully compiled differential equation model from auto-generated C code.
system.time( + print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01), + c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), + solution_type = "eigen")[201,]))
#> time parent m1 +#> 201 20 4.978707 27.46227 +#>
#> user system elapsed +#> 0.000 0.028 0.004 +#>
system.time( + print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01), + c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), + solution_type = "deSolve")[201,]))
#> time parent m1 +#> 201 20 4.978707 27.46227 +#>
#> user system elapsed +#> 0.016 0.004 0.002 +#>
system.time( + print(mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01), + c(parent = 100, m1 = 0), seq(0, 20, by = 0.1), + solution_type = "deSolve", use_compiled = FALSE)[201,]))
#> time parent m1 +#> 201 20 4.978707 27.46227 +#>
#> user system elapsed +#> 0.036 0.000 0.035 +#>
+
+
+

Author

+ + Johannes Ranke + +
+
+ + +
+ + + -- cgit v1.2.1