From 09f4f904af23a34d68d5d78482a5b9e12d9a9494 Mon Sep 17 00:00:00 2001
From: Johannes Ranke This evaluation is taken from the example section of mkinfit. When using an mkin version equal to or greater than 0.9-36 and a C compiler (gcc) is available, you will see a message that the model is being compiled from autogenerated C code when defining a model using mkinmod. The We see that using the compiled model is by a factor of 8.3 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs: We see that using the compiled model is by a factor of 8.7 faster than using the R version with the default ode solver, and it is even faster than the Eigenvalue based solution implemented in R which does not need iterative solution of the ODEs: This evaluation is also taken from the example section of mkinfit. Here we get a performance benefit of a factor of 10.4 using the version of the differential equation model compiled from C code! Here we get a performance benefit of a factor of 9.7 using the version of the differential equation model compiled from C code! This vignette was built with mkin 0.9.44.9000 on GPL If a compiler (gcc) is installed, use a version of the differential equation model compiled from C code, which is a huge performance boost for models where only the deSolve method works. NAMESPACE: export S3 methods plot.mkinfit, summary.mkinfit and print.summary.mkinfit to satisfy R CMD check on R-devel The formatting of differential equations in the summary was improved by wrapping overly long lines The FOCUS_Z vignette was rebuilt with the above improvement and using a width of 70 to avoid output outside of the grey areaExample evaluation of FOCUS Example Dataset D
Johannes Ranke
- 2016-11-03
+ 2016-11-04
diff --git a/docs/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html
index 55caa22e..6a9c6ba5 100644
--- a/docs/articles/FOCUS_L.html
+++ b/docs/articles/FOCUS_L.html
@@ -24,13 +24,7 @@
Example evaluation of FOCUS Laboratory Data L1 to L3
Johannes Ranke
- 2016-11-03
+ 2016-11-04
@@ -63,15 +57,15 @@ FOCUS_2006_L1_mkin <- summary(m.L1.SFO)
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:48 2016
-## Date of summary: Thu Nov 3 17:47:48 2016
+## Date of fit: Fri Nov 4 15:38:03 2016
+## Date of summary: Fri Nov 4 15:38:03 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 37 model solutions performed in 0.093 s
+## Fitted with method Port using 37 model solutions performed in 0.089 s
##
## Weighting: none
##
@@ -156,8 +150,8 @@ FOCUS_2006_L1_mkin <-
summary(m.L1.FOMC, data = FALSE)
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:49 2016
-## Date of summary: Thu Nov 3 17:47:49 2016
+## Date of fit: Fri Nov 4 15:38:04 2016
+## Date of summary: Fri Nov 4 15:38:04 2016
##
##
## Warning: Optimisation by method Port did not converge.
@@ -169,7 +163,7 @@ FOCUS_2006_L1_mkin <-
summary(m.L2.FOMC, data = FALSE)
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:49 2016
-## Date of summary: Thu Nov 3 17:47:49 2016
+## Date of fit: Fri Nov 4 15:38:05 2016
+## Date of summary: Fri Nov 4 15:38:05 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 81 model solutions performed in 0.189 s
+## Fitted with method Port using 81 model solutions performed in 0.19 s
##
## Weighting: none
##
@@ -323,8 +317,8 @@ FOCUS_2006_L2_mkin <-
summary(m.L2.DFOP, data = FALSE)
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:50 2016
-## Date of summary: Thu Nov 3 17:47:50 2016
+## Date of fit: Fri Nov 4 15:38:06 2016
+## Date of summary: Fri Nov 4 15:38:06 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -333,7 +327,7 @@ FOCUS_2006_L2_mkin <-
summary(mm.L3[["DFOP", 1]])
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:51 2016
-## Date of summary: Thu Nov 3 17:47:52 2016
+## Date of fit: Fri Nov 4 15:38:07 2016
+## Date of summary: Fri Nov 4 15:38:07 2016
##
## Equations:
## d_parent = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -422,7 +416,7 @@ mm.L3 <-
summary(mm.L4[["SFO", 1]], data = FALSE)
## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:52 2016
-## Date of summary: Thu Nov 3 17:47:52 2016
+## Date of fit: Fri Nov 4 15:38:07 2016
+## Date of summary: Fri Nov 4 15:38:08 2016
##
## Equations:
## d_parent = - k_parent_sink * parent
##
## Model predictions using solution type analytical
##
-## Fitted with method Port using 46 model solutions performed in 0.107 s
+## Fitted with method Port using 46 model solutions performed in 0.112 s
##
## Weighting: none
##
@@ -572,8 +566,8 @@ mm.L4 <-
summary(mm.L4[["FOMC", 1]], data = FALSE)
+plot_sep(f_SFO_SFO_SFO, lpos = c("topright", "bottomright", "bottomright"))## mkin version: 0.9.44.9000
## R version: 3.3.2
-## Date of fit: Thu Nov 3 17:47:52 2016
-## Date of summary: Thu Nov 3 17:47:52 2016
+## Date of fit: Fri Nov 4 15:38:08 2016
+## Date of summary: Fri Nov 4 15:38:08 2016
##
## Equations:
## d_parent = - (alpha/beta) * 1/((time/beta) + 1) * parent
diff --git a/docs/articles/compiled_models.R b/docs/articles/compiled_models.R
index 4f544b0d..5ce343cb 100644
--- a/docs/articles/compiled_models.R
+++ b/docs/articles/compiled_models.R
@@ -1,3 +1,16 @@
+## ---- include = FALSE----------------------------------------------------
+library(knitr)
+opts_chunk$set(tidy = FALSE, cache = FALSE)
+
+## ----check_gcc-----------------------------------------------------------
+Sys.which("gcc")
+
+## ----create_SFO_SFO------------------------------------------------------
+library("mkin")
+SFO_SFO <- mkinmod(
+ parent = mkinsub("SFO", "m1"),
+ m1 = mkinsub("SFO"))
+
## ----benchmark_SFO_SFO, fig.height = 3-----------------------------------
library("microbenchmark")
library("ggplot2")
diff --git a/docs/articles/compiled_models.html b/docs/articles/compiled_models.html
index 5a04168e..09039f62 100644
--- a/docs/articles/compiled_models.html
+++ b/docs/articles/compiled_models.html
@@ -24,13 +24,7 @@
Performance benefit by using compiled model definitions in mkin
Johannes Ranke
- 2016-11-03
+ 2016-11-04
Benchmark for a model that can also be solved with Eigenvalues
+ Model that can also be solved with Eigenvalues
mkinmod()
function checks for presence of the gcc compiler usingSys.which("gcc")
## gcc
@@ -78,25 +72,25 @@ mb.1 <- micr
print(mb.1)
+## 6692.5522 3 c
+## 953.1240 3 b
+## 761.7474 3 a
## Unit: milliseconds
## expr min lq mean median uq
-## deSolve, not compiled 6306.4527 6340.7895 6403.5937 6375.1264 6452.1643
-## Eigenvalue based 918.0808 929.7217 948.9742 941.3626 964.4210
-## deSolve, compiled 736.1337 753.6016 773.5605 771.0696 792.2739
+## deSolve, not compiled 6581.1731 6598.7831 6630.0395 6616.3931 6654.4726
+## Eigenvalue based 880.1617 890.3517 911.2758 900.5416 926.8328
+## deSolve, compiled 739.4343 749.6078 753.6543 759.7813 760.7643
## max neval cld
-## 6529.2022 3 b
-## 987.4793 3 a
-## 813.4783 3 a
autoplot(mb.1)
rownames(smb.1) <- smb.1$expr
smb.1["median"]/smb.1["deSolve, compiled", "median"]
## median
-## deSolve, not compiled 8.267900
-## Eigenvalue based 1.220853
+## deSolve, not compiled 8.708286
+## Eigenvalue based 1.185264
## deSolve, compiled 1.000000
Benchmark for a model that can not be solved with Eigenvalues
+ Model that can not be solved with Eigenvalues
FOMC_SFO <- mkinmod(
parent = mkinsub("FOMC", "m1"),
@@ -114,18 +108,18 @@ smb.1["median"]/smbprint(mb.2)
+## 13.995838 3 b
+## 1.429913 3 a
## Unit: seconds
## expr min lq mean median uq
-## deSolve, not compiled 13.604720 13.667244 13.689764 13.729768 13.732286
-## deSolve, compiled 1.305077 1.311124 1.328943 1.317172 1.340876
+## deSolve, not compiled 13.756286 13.813205 13.874083 13.870125 13.932982
+## deSolve, compiled 1.323196 1.372916 1.391915 1.422635 1.426274
## max neval cld
-## 13.734804 3 b
-## 1.364579 3 a
smb.2["median"]/smb.2["deSolve, compiled", "median"]
## median
## 1 NA
## 2 NA
autoplot(mb.2)
## R version 3.3.2 (2016-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
@@ -138,8 +132,8 @@ smb.1["median"]/smb
mkin - Kinetic evaluation of chemical degradation data
Johannes Ranke
- 2016-11-03
+ 2016-11-04
@@ -70,7 +64,7 @@ d_SFO_SFO_SFO_err <- mkinfit(m_SFO_SFO_SFO, d_SFO_SFO_SFO_err[[1]], quiet = TRUE)
-plot_sep(f_SFO_SFO_SFO, lpos = c("topright", "bottomright", "bottomright"))Links
https://cran.r-project.org/package=mkin
http://github.com/jranke/mkin
http://github.com/jranke/mkin/issuesLicense
Bug fixes
print.summary.mkinfit()
: Avoid an error that occurred when printing summaries generated with mkin versions before 0.9-36print.summary.mkinfit()
: Avoid an error that occurred when printing summaries generated with mkin versions before 0.9-36
Major changes
-summary.mkinfit()
: A one-sided t-test for significant difference of untransformed parameters from zero is now always shown, based on the assumption of normal distribution for estimators of all untransformed parameters. Use with caution, as this assumption is unrealistic e.g. for rate constants in these nonlinear kinetic models.summary.mkinfit()
: A one-sided t-test for significant difference of untransformed parameters from zero is now always shown, based on the assumption of normal distribution for estimators of all untransformed parameters. Use with caution, as this assumption is unrealistic e.g. for rate constants in these nonlinear kinetic models.mkinmod()
: Create a list component $cf (of class CFuncList) in the list returned by mkinmod, if a version can be compiled from autogenerated C code (see above).mkinfit()
: Set the default solution_type
to deSolve
when a compiled version of the model is present, except when an analytical solution is possible.
Bug fixes
mkinparplot()
: Avoid warnings that occurred when not all confidence intervals were available in the summary of the fitprint.summary.mkinfit()
: Fix printing the summary for the case that the number of iterations is not availableprint.summary.mkinfit()
: Fix printing the summary for the case that the number of iterations is not availablemkinparplot()
: Avoid warning in R CMD check about undeclared global variable Lower
mkinfit()
: The internally fitted parameter for g
was named g_ilr
even when transform_fractions=FALSE
mkinfit()
: The initial value (state.ini) for the parent compound was not set when the parent was not the (only) variable with the highest value in the observed data.mkinerrmin()
: When checking for degrees of freedom for metabolites, check if their time zero value is fixed instead of checking if the observed value is zero. This ensures correct calculation of degrees of freedom also in cases where the metabolite residue at time zero is greater zero.plot.mkinfit()
: Avoid a warning message about only using the first component of ylim that occurred when ylim was specified explicitlyplot.mkinfit()
: Avoid a warning message about only using the first component of ylim that occurred when ylim was specified explicitly
Minor changes
print.summary.mkinfit()
: Avoid a warning that occurred when gmkin showed summaries ofinitial fits without iterationsprint.summary.mkinfit()
: Avoid a warning that occurred when gmkin showed summaries ofinitial fits without iterationsmkinfit()
: Avoid a warning that occurred when summarising a fit that was performed with maxitmodFit = 0 as done in gmkin for configuring new fits.
The function is used internally by summary.mkinfit
.
The function is used internally by summary.mkinfit
.
Function to plot the confidence intervals obtained using - mkinfit
+ list(list("mkinfit")) @@ -124,6 +119,16 @@ + +Plot the observed data and the fitted model of an mkinfit object
+ + +Summary method for class "mkinfit"
+Functions working with aggregated results
@@ -176,6 +181,11 @@print.mkinds
Metabolism data set used for checking the software quality of KinGUI
+ +Synthetic datasets for one parent compound with two metabolites
synthetic_data_for_UBA_2014
geometric_mean
Function to perform isometric log-ratio transformation
+ +Convert a dataframe from long to wide format
mkin_long_to_wide
Functions to transform and backtransform kinetic parameters for fitting
+Parent only model solutions
diff --git a/docs/reference/mccall81_245T.html b/docs/reference/mccall81_245T.html index 8309a23e..d32acb5b 100644 --- a/docs/reference/mccall81_245T.html +++ b/docs/reference/mccall81_245T.html @@ -61,12 +61,7 @@This function is used internally by summary.mkinfit
.
This function is used internally by summary.mkinfit
.
ilr
transformation.
+ ilr
transformation.
A list with "mkinfit" and "modFit" in the class attribute.
- A summary can be obtained by summary.mkinfit
.
summary.mkinfit
.
Plotting methods plot.mkinfit
and
+
Plotting methods plot.mkinfit
and
mkinparplot
.
Fitting of several models to several datasets in a single call to
mmkin
.
Deprecated function. It now only calls the plot method plot.mkinfit
.
Deprecated function. It now only calls the plot method plot.mkinfit
.
mkinplot(fit, ...)@@ -96,7 +91,7 @@
plot.mkinfit
.
+ further arguments passed to plot.mkinfit
.
This function plots the residuals for the specified subset of the
observed variables from an mkinfit object. A combined plot of the fitted
- model and the residuals can be obtained using plot.mkinfit
+ model and the residuals can be obtained using plot.mkinfit
using the argument show_residuals = TRUE
.
plot.mkinfit
and mkinresplot
.
+ Further arguments passed to plot.mkinfit
and mkinresplot
.
@@ -88,7 +83,7 @@ constants and other paramters that can only take on positive values, a simple log transformation is used. For compositional parameters, such as the formations fractions that should always sum up to 1 and can not be - negative, the#> mkin version: 0.9.44.9000 #> R version: 3.3.2 -#> Date of fit: Thu Nov 3 17:46:35 2016 -#> Date of summary: Thu Nov 3 17:46:35 2016 +#> Date of fit: Fri Nov 4 15:36:49 2016 +#> Date of summary: Fri Nov 4 15:36:49 2016 #> #> Equations: #> d_parent = - k_parent_sink * parent #> #> Model predictions using solution type analytical #> -#> Fitted with method Port using 35 model solutions performed in 0.08 s +#> Fitted with method Port using 35 model solutions performed in 0.086 s #> #> Weighting: none #> diff --git a/docs/reference/synthetic_data_for_UBA.html b/docs/reference/synthetic_data_for_UBA.html index a46a5781..333b3dbf 100644 --- a/docs/reference/synthetic_data_for_UBA.html +++ b/docs/reference/synthetic_data_for_UBA.html @@ -61,12 +61,7 @@diff --git a/docs/reference/transform_odeparms.html b/docs/reference/transform_odeparms.html index ccd56ca4..5ee1e9cc 100644 --- a/docs/reference/transform_odeparms.html +++ b/docs/reference/transform_odeparms.html @@ -61,12 +61,7 @@
ilr
transformation is used.
+ negative, the ilr
transformation is used.
The transformation of sets of formation fractions is fragile, as it supposes the same ordering of the components in forward and backward transformation. @@ -114,7 +109,7 @@
mkinmod
, containing the names of
the model variables that are needed for grouping the formation fractions
- before ilr
transformation, the parameter names and
+ before ilr
transformation, the parameter names and
the information if the pathway to sink is included in the model.
ilr
+ transformation used for these transformations is the ilr
transformation.
@@ -151,8 +146,8 @@
fit <- mkinfit(SFO_SFO, FOCUS_2006_D, quiet = TRUE)
summary(fit, data=FALSE) # See transformed and backtransformed parameters