aboutsummaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2020-05-09 21:18:42 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2020-05-09 21:18:42 +0200
commitefab37957381919c21d874906ce870f4941c760a (patch)
treed485fa148ec1513a0c0810780a1ed10c4f9097d2 /man
parent47ef00e3d0a961f8fbecf0bd5da0283bed21bb96 (diff)
Avoid the call to merge for analytical solutions
This increases performance up to a factor of five!
Diffstat (limited to 'man')
-rw-r--r--man/mkinfit.Rd6
-rw-r--r--man/mkinmod.Rd2
-rw-r--r--man/mkinpredict.Rd35
-rw-r--r--man/plot.mkinfit.Rd1
4 files changed, 22 insertions, 22 deletions
diff --git a/man/mkinfit.Rd b/man/mkinfit.Rd
index b728aded..db3f5f3e 100644
--- a/man/mkinfit.Rd
+++ b/man/mkinfit.Rd
@@ -26,7 +26,6 @@ mkinfit(
quiet = FALSE,
atol = 1e-08,
rtol = 1e-10,
- n.outtimes = 10,
error_model = c("const", "obs", "tc"),
error_model_algorithm = c("auto", "d_3", "direct", "twostep", "threestep",
"fourstep", "IRLS", "OLS"),
@@ -141,11 +140,6 @@ is 1e-8, lower than in \code{\link{lsoda}}.}
\item{rtol}{Absolute error tolerance, passed to \code{\link{ode}}. Default
is 1e-10, much lower than in \code{\link{lsoda}}.}
-\item{n.outtimes}{The length of the dataseries that is produced by the model
-prediction function \code{\link{mkinpredict}}. This impacts the accuracy
-of the numerical solver if that is used (see \code{solution_type}
-argument.}
-
\item{error_model}{If the error model is "const", a constant standard
deviation is assumed.
diff --git a/man/mkinmod.Rd b/man/mkinmod.Rd
index 2ba917d6..a5736be7 100644
--- a/man/mkinmod.Rd
+++ b/man/mkinmod.Rd
@@ -82,7 +82,7 @@ The IORE submodel is not well tested for metabolites. When using this
\examples{
# Specify the SFO model (this is not needed any more, as we can now mkinfit("SFO", ...)
-SFO <- mkinmod(parent = list(type = "SFO"))
+SFO <- mkinmod(parent = mkinsub("SFO"))
# One parent compound, one metabolite, both single first order
SFO_SFO <- mkinmod(
diff --git a/man/mkinpredict.Rd b/man/mkinpredict.Rd
index f7e4acfc..1ba5b5f8 100644
--- a/man/mkinpredict.Rd
+++ b/man/mkinpredict.Rd
@@ -91,7 +91,7 @@ FALSE).}
solver is used.}
}
\value{
-A matrix in the same format as the output of \code{\link{ode}}.
+A data frame with the solution in wide format
}
\description{
This function produces a time series for all the observed variables in a
@@ -131,30 +131,35 @@ mkinpredict(SFO, c(k_degradinol = 0.3), c(degradinol = 100),
# 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"), use_of_ff = "min")
+ m1 = list(type = "SFO"), use_of_ff = "max")
if(require(rbenchmark)) {
- benchmark(
- eigen = mkinpredict(SFO_SFO, c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01),
+ benchmark(replications = 10, order = "relative", columns = c("test", "relative", "elapsed"),
+ eigen = mkinpredict(SFO_SFO,
+ c(k_parent = 0.15, f_parent_to_m1 = 0.5, k_m1 = 0.01),
c(parent = 100, m1 = 0), seq(0, 20, by = 0.1),
solution_type = "eigen")[201,],
- deSolve_compiled = mkinpredict(SFO_SFO,
- c(k_parent_m1 = 0.05, k_parent_sink = 0.1, k_m1_sink = 0.01),
+ deSolve_compiled = mkinpredict(SFO_SFO,
+ c(k_parent = 0.15, f_parent_to_m1 = 0.5, k_m1 = 0.01),
c(parent = 100, m1 = 0), seq(0, 20, by = 0.1),
solution_type = "deSolve")[201,],
- deSolve = 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,],
- replications = 10)
+ deSolve = mkinpredict(SFO_SFO,
+ c(k_parent = 0.15, f_parent_to_m1 = 0.5, k_m1 = 0.01),
+ c(parent = 100, m1 = 0), seq(0, 20, by = 0.1),
+ solution_type = "deSolve", use_compiled = FALSE)[201,],
+ analytical = mkinpredict(SFO_SFO,
+ c(k_parent = 0.15, f_parent_to_m1 = 0.5, k_m1 = 0.01),
+ c(parent = 100, m1 = 0), seq(0, 20, by = 0.1),
+ solution_type = "analytical", use_compiled = FALSE)[201,])
}
-
-# Since mkin 0.9.49.11 we also have analytical solutions for some models, including SFO-SFO
-# deSolve = 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 = "analytical", use_compiled = FALSE)[201,],
+ analytical = mkinpredict(SFO_SFO,
+ c(k_parent = 0.15, f_parent_to_m1 = 0.5, k_m1 = 0.01),
+ c(parent = 100, m1 = 0), seq(0, 20, by = 0.1),
+ solution_type = "analytical", use_compiled = FALSE)[201,]
\dontrun{
# Predict from a fitted model
f <- mkinfit(SFO_SFO, FOCUS_2006_C, quiet = TRUE)
+ f <- mkinfit(SFO_SFO, FOCUS_2006_C, quiet = TRUE, solution_type = "analytical")
head(mkinpredict(f))
}
diff --git a/man/plot.mkinfit.Rd b/man/plot.mkinfit.Rd
index c3f3134a..4235557e 100644
--- a/man/plot.mkinfit.Rd
+++ b/man/plot.mkinfit.Rd
@@ -144,6 +144,7 @@ latex is being used for the formatting of the chi2 error level, if
\dontrun{
SFO_SFO <- mkinmod(parent = mkinsub("SFO", "m1", full = "Parent"),
m1 = mkinsub("SFO", full = "Metabolite M1" ))
+fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE, error_model = "tc")
plot(fit)
plot_res(fit)

Contact - Imprint