From 524a8bba89b95840b4e9215c403947a8bb76d7b2 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Mon, 30 Nov 2020 16:05:10 +0100 Subject: Complete rebuild of static docs of dev version --- docs/dev/articles/web_only/FOCUS_Z.html | 76 ++++++++++++------------- docs/dev/articles/web_only/NAFTA_examples.html | 2 +- docs/dev/articles/web_only/benchmarks.html | 48 ++++++++-------- docs/dev/articles/web_only/compiled_models.html | 28 ++++----- 4 files changed, 77 insertions(+), 77 deletions(-) (limited to 'docs/dev/articles/web_only') diff --git a/docs/dev/articles/web_only/FOCUS_Z.html b/docs/dev/articles/web_only/FOCUS_Z.html index 4cfe6c31..15c41eb7 100644 --- a/docs/dev/articles/web_only/FOCUS_Z.html +++ b/docs/dev/articles/web_only/FOCUS_Z.html @@ -102,7 +102,7 @@

Example evaluation of FOCUS dataset Z

Johannes Ranke

-

2020-11-19

+

2020-11-30

Source: vignettes/web_only/FOCUS_Z.rmd @@ -138,9 +138,9 @@ Parent and one metabolite

The next step is to set up the models used for the kinetic analysis. As the simultaneous fit of parent and the first metabolite is usually straightforward, Step 1 (SFO for parent only) is skipped here. We start with the model 2a, with formation and decline of metabolite Z1 and the pathway from parent directly to sink included (default in mkin).

-Z.2a <- mkinmod(Z0 = mkinsub("SFO", "Z1"),
-                Z1 = mkinsub("SFO"))
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.2a <- mkinmod(Z0 = mkinsub("SFO", "Z1"), + Z1 = mkinsub("SFO")) +
## Temporary DLL for differentials generated and loaded
 m.Z.2a <- mkinfit(Z.2a, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.2a, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -159,10 +159,10 @@
 

As obvious from the parameter summary (the component of the summary), the kinetic rate constant from parent compound Z to sink is very small and the t-test for this parameter suggests that it is not significantly different from zero. This suggests, in agreement with the analysis in the FOCUS kinetics report, to simplify the model by removing the pathway to sink.

A similar result can be obtained when formation fractions are used in the model formulation:

-Z.2a.ff <- mkinmod(Z0 = mkinsub("SFO", "Z1"),
-                   Z1 = mkinsub("SFO"),
+Z.2a.ff <- mkinmod(Z0 = mkinsub("SFO", "Z1"),
+                   Z1 = mkinsub("SFO"),
                    use_of_ff = "max")
-
## Successfully compiled differential equation model from auto-generated C code.
+
## Temporary DLL for differentials generated and loaded
 m.Z.2a.ff <- mkinfit(Z.2a.ff, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.2a.ff, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -182,9 +182,9 @@
 

A simplified model is obtained by removing the pathway to the sink.

In the following, we use the parameterisation with formation fractions in order to be able to compare with the results in the FOCUS guidance, and as it makes it easier to use parameters obtained in a previous fit when adding a further metabolite.

-Z.3 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE),
-               Z1 = mkinsub("SFO"), use_of_ff = "max")
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.3 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE), + Z1 = mkinsub("SFO"), use_of_ff = "max")
+
## Temporary DLL for differentials generated and loaded
 m.Z.3 <- mkinfit(Z.3, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.3, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -206,10 +206,10 @@
 Metabolites Z2 and Z3
 

As suggested in the FOCUS report, the pathway to sink was removed for metabolite Z1 as well in the next step. While this step appears questionable on the basis of the above results, it is followed here for the purpose of comparison. Also, in the FOCUS report, it is assumed that there is additional empirical evidence that Z1 quickly and exclusively hydrolyses to Z2.

-Z.5 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE),
-               Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-               Z2 = mkinsub("SFO"), use_of_ff = "max")
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.5 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE), + Z1 = mkinsub("SFO", "Z2", sink = FALSE), + Z2 = mkinsub("SFO"), use_of_ff = "max")
+
## Temporary DLL for differentials generated and loaded
 m.Z.5 <- mkinfit(Z.5, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.5, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -219,12 +219,12 @@
 

Finally, metabolite Z3 is added to the model. We use the optimised differential equation parameter values from the previous fit in order to accelerate the optimization.

-Z.FOCUS <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE),
-                   Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-                   Z2 = mkinsub("SFO", "Z3"),
-                   Z3 = mkinsub("SFO"),
+Z.FOCUS <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE),
+                   Z1 = mkinsub("SFO", "Z2", sink = FALSE),
+                   Z2 = mkinsub("SFO", "Z3"),
+                   Z3 = mkinsub("SFO"),
                    use_of_ff = "max")
-
## Successfully compiled differential equation model from auto-generated C code.
+
## Temporary DLL for differentials generated and loaded
 m.Z.FOCUS <- mkinfit(Z.FOCUS, FOCUS_2006_Z_mkin,
                      parms.ini = m.Z.5$bparms.ode,
@@ -266,11 +266,11 @@
 

As the FOCUS report states, there is a certain tailing of the time course of metabolite Z3. Also, the time course of the parent compound is not fitted very well using the SFO model, as residues at a certain low level remain.

Therefore, an additional model is offered here, using the single first-order reversible binding (SFORB) model for metabolite Z3. As expected, the \(\chi^2\) error level is lower for metabolite Z3 using this model and the graphical fit for Z3 is improved. However, the covariance matrix is not returned.

-Z.mkin.1 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE),
-                    Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-                    Z2 = mkinsub("SFO", "Z3"),
-                    Z3 = mkinsub("SFORB"))
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.mkin.1 <- mkinmod(Z0 = mkinsub("SFO", "Z1", sink = FALSE), + Z1 = mkinsub("SFO", "Z2", sink = FALSE), + Z2 = mkinsub("SFO", "Z3"), + Z3 = mkinsub("SFORB"))
+
## Temporary DLL for differentials generated and loaded
 m.Z.mkin.1 <- mkinfit(Z.mkin.1, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.mkin.1, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -283,10 +283,10 @@
 
## NULL

Therefore, a further stepwise model building is performed starting from the stage of parent and two metabolites, starting from the assumption that the model fit for the parent compound can be improved by using the SFORB model.

-Z.mkin.3 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE),
-                    Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-                    Z2 = mkinsub("SFO"))
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.mkin.3 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE), + Z1 = mkinsub("SFO", "Z2", sink = FALSE), + Z2 = mkinsub("SFO"))
+
## Temporary DLL for differentials generated and loaded
 m.Z.mkin.3 <- mkinfit(Z.mkin.3, FOCUS_2006_Z_mkin, quiet = TRUE)
## Warning in mkinfit(Z.mkin.3, FOCUS_2006_Z_mkin, quiet = TRUE): Observations with
@@ -297,11 +297,11 @@
 

This results in a much better representation of the behaviour of the parent compound Z0.

Finally, Z3 is added as well. These models appear overparameterised (no covariance matrix returned) if the sink for Z1 is left in the models.

-Z.mkin.4 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE),
-                    Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-                    Z2 = mkinsub("SFO", "Z3"),
-                    Z3 = mkinsub("SFO"))
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.mkin.4 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE), + Z1 = mkinsub("SFO", "Z2", sink = FALSE), + Z2 = mkinsub("SFO", "Z3"), + Z3 = mkinsub("SFO"))
+
## Temporary DLL for differentials generated and loaded
 m.Z.mkin.4 <- mkinfit(Z.mkin.4, FOCUS_2006_Z_mkin,
                       parms.ini = m.Z.mkin.3$bparms.ode,
@@ -313,11 +313,11 @@
 

The error level of the fit, but especially of metabolite Z3, can be improved if the SFORB model is chosen for this metabolite, as this model is capable of representing the tailing of the metabolite decline phase.

-Z.mkin.5 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE),
-                    Z1 = mkinsub("SFO", "Z2", sink = FALSE),
-                    Z2 = mkinsub("SFO", "Z3"),
-                    Z3 = mkinsub("SFORB"))
-
## Successfully compiled differential equation model from auto-generated C code.
+Z.mkin.5 <- mkinmod(Z0 = mkinsub("SFORB", "Z1", sink = FALSE), + Z1 = mkinsub("SFO", "Z2", sink = FALSE), + Z2 = mkinsub("SFO", "Z3"), + Z3 = mkinsub("SFORB"))
+
## Temporary DLL for differentials generated and loaded
 m.Z.mkin.5 <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
                       parms.ini = m.Z.mkin.4$bparms.ode[1:4],
diff --git a/docs/dev/articles/web_only/NAFTA_examples.html b/docs/dev/articles/web_only/NAFTA_examples.html
index c3192b37..fca15672 100644
--- a/docs/dev/articles/web_only/NAFTA_examples.html
+++ b/docs/dev/articles/web_only/NAFTA_examples.html
@@ -102,7 +102,7 @@
       

Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance

Johannes Ranke

-

2020-11-19

+

2020-11-30

Source: vignettes/web_only/NAFTA_examples.rmd diff --git a/docs/dev/articles/web_only/benchmarks.html b/docs/dev/articles/web_only/benchmarks.html index ff70847e..8e157c0f 100644 --- a/docs/dev/articles/web_only/benchmarks.html +++ b/docs/dev/articles/web_only/benchmarks.html @@ -102,7 +102,7 @@

Benchmark timings for mkin

Johannes Ranke

-

2020-11-19

+

2020-11-30

Source: vignettes/web_only/benchmarks.rmd @@ -127,14 +127,14 @@

One metabolite:

 SFO_SFO <- mkinmod(
-  parent = mkinsub("SFO", "m1"),
-  m1 = mkinsub("SFO"))
+  parent = mkinsub("SFO", "m1"),
+  m1 = mkinsub("SFO"))
 FOMC_SFO <- mkinmod(
-  parent = mkinsub("FOMC", "m1"),
-  m1 = mkinsub("SFO"))
+  parent = mkinsub("FOMC", "m1"),
+  m1 = mkinsub("SFO"))
 DFOP_SFO <- mkinmod(
-  parent = mkinsub("FOMC", "m1"),
-  m1 = mkinsub("SFO"))
+  parent = mkinsub("FOMC", "m1"),
+  m1 = mkinsub("SFO"))
 t3 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D)))[["elapsed"]]
 t4 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D),
     error_model = "tc"))[["elapsed"]]
@@ -148,14 +148,14 @@ error_model = "obs"))[["elapsed"]]

Two metabolites, synthetic data:

-m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
-                           M1 = mkinsub("SFO", "M2"),
-                           M2 = mkinsub("SFO"),
+m_synth_SFO_lin <- mkinmod(parent = mkinsub("SFO", "M1"),
+                           M1 = mkinsub("SFO", "M2"),
+                           M2 = mkinsub("SFO"),
                            use_of_ff = "max", quiet = TRUE)
 
-m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")),
-                           M1 = mkinsub("SFO"),
-                           M2 = mkinsub("SFO"),
+m_synth_DFOP_par <- mkinmod(parent = mkinsub("DFOP", c("M1", "M2")),
+                           M1 = mkinsub("SFO"),
+                           M2 = mkinsub("SFO"),
                            use_of_ff = "max", quiet = TRUE)
 
 SFO_lin_a <- synthetic_data_for_UBA_2014[[1]]$data
@@ -232,8 +232,8 @@
 
 
 0.9.50.4
-1.702
-3.717
+1.786
+3.729
 
 
 
@@ -294,9 +294,9 @@
 
 
 0.9.50.4
-1.355
-7.015
-2.729
+1.397
+7.251
+2.810
 
 
 
@@ -381,12 +381,12 @@
 
 
 0.9.50.4
-0.759
-1.245
-1.436
-3.687
-1.886
-3.028
+0.783
+1.282
+1.486
+3.815
+1.958
+3.105
 
 
 
diff --git a/docs/dev/articles/web_only/compiled_models.html b/docs/dev/articles/web_only/compiled_models.html
index 3d1c7fcd..a444f4bc 100644
--- a/docs/dev/articles/web_only/compiled_models.html
+++ b/docs/dev/articles/web_only/compiled_models.html
@@ -102,7 +102,7 @@
       

Performance benefit by using compiled model definitions in mkin

Johannes Ranke

-

2020-11-19

+

2020-11-30

Source: vignettes/web_only/compiled_models.rmd @@ -134,9 +134,9 @@
 library("mkin", quietly = TRUE)
 SFO_SFO <- mkinmod(
-  parent = mkinsub("SFO", "m1"),
-  m1 = mkinsub("SFO"))
-
## Successfully compiled differential equation model from auto-generated C code.
+ parent = mkinsub("SFO", "m1"), + m1 = mkinsub("SFO"))
+
## Temporary DLL for differentials generated and loaded
 FOCUS_D <- subset(FOCUS_2006_D, value != 0)

We can compare the performance of the Eigenvalue based solution against the compiled version and the R implementation of the differential equations using the benchmark package. In the output of below code, the warnings about zero being removed from the FOCUS D dataset are suppressed. Since mkin version 0.9.49.11, an analytical solution is also implemented, which is included in the tests below.

@@ -160,10 +160,10 @@ print("R package rbenchmark is not available") }
##                    test replications relative elapsed
-## 4            analytical            1    1.000   0.186
-## 3     deSolve, compiled            1    1.742   0.324
-## 2      Eigenvalue based            1    2.048   0.381
-## 1 deSolve, not compiled            1   42.532   7.911
+## 4 analytical 1 1.000 0.187 +## 3 deSolve, compiled 1 1.807 0.338 +## 2 Eigenvalue based 1 2.032 0.380 +## 1 deSolve, not compiled 1 43.048 8.050

We see that using the compiled model is by more than a factor of 10 faster than using deSolve without compiled code.

@@ -173,8 +173,8 @@
 if (require(rbenchmark)) {
   FOMC_SFO <- mkinmod(
-    parent = mkinsub("FOMC", "m1"),
-    m1 = mkinsub( "SFO"))
+    parent = mkinsub("FOMC", "m1"),
+    m1 = mkinsub( "SFO"))
 
   b.2 <- benchmark(
     "deSolve, not compiled" = mkinfit(FOMC_SFO, FOCUS_D,
@@ -188,11 +188,11 @@
   factor_FOMC_SFO <- NA
   print("R package benchmark is not available")
 }
-
## Successfully compiled differential equation model from auto-generated C code.
+
## Temporary DLL for differentials generated and loaded
##                    test replications relative elapsed
-## 2     deSolve, compiled            1    1.000   0.465
-## 1 deSolve, not compiled            1   30.852  14.346
-

Here we get a performance benefit of a factor of 31 using the version of the differential equation model compiled from C code!

+## 2 deSolve, compiled 1 1.000 0.483 +## 1 deSolve, not compiled 1 29.969 14.475
+

Here we get a performance benefit of a factor of 30 using the version of the differential equation model compiled from C code!

This vignette was built with mkin 0.9.50.4 on

## R version 4.0.3 (2020-10-10)
 ## Platform: x86_64-pc-linux-gnu (64-bit)
-- 
cgit v1.2.1