From 6476f5f49b373cd4cf05f2e73389df83e437d597 Mon Sep 17 00:00:00 2001 From: Johannes Ranke Date: Thu, 13 Feb 2025 16:30:31 +0100 Subject: Axis legend formatting, update vignettes --- docs/dev/articles/web_only/FOCUS_Z.html | 504 --------- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../anchor-sections-1.0/anchor-sections.css | 4 - .../anchor-sections-1.0/anchor-sections.js | 33 - .../figure-html/FOCUS_2006_Z_fits_1-1.png | Bin 67444 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_10-1.png | Bin 107009 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_11-1.png | Bin 106095 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_11a-1.png | Bin 76831 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_11b-1.png | Bin 37495 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_2-1.png | Bin 67444 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_3-1.png | Bin 67259 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_5-1.png | Bin 81750 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_6-1.png | Bin 106404 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_7-1.png | Bin 105359 -> 0 bytes .../figure-html/FOCUS_2006_Z_fits_9-1.png | Bin 89119 -> 0 bytes .../FOCUS_Z_files/header-attrs-2.6/header-attrs.js | 12 - docs/dev/articles/web_only/NAFTA_examples.html | 1118 -------------------- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../anchor-sections-1.0/anchor-sections.css | 4 - .../anchor-sections-1.0/anchor-sections.js | 33 - .../NAFTA_examples_files/figure-html/p10-1.png | Bin 81540 -> 0 bytes .../NAFTA_examples_files/figure-html/p11-1.png | Bin 77600 -> 0 bytes .../NAFTA_examples_files/figure-html/p12a-1.png | Bin 83512 -> 0 bytes .../NAFTA_examples_files/figure-html/p12b-1.png | Bin 71409 -> 0 bytes .../NAFTA_examples_files/figure-html/p13-1.png | Bin 78613 -> 0 bytes .../NAFTA_examples_files/figure-html/p14-1.png | Bin 81557 -> 0 bytes .../NAFTA_examples_files/figure-html/p15a-1.png | Bin 77571 -> 0 bytes .../NAFTA_examples_files/figure-html/p15b-1.png | Bin 79748 -> 0 bytes .../NAFTA_examples_files/figure-html/p16-1.png | Bin 94540 -> 0 bytes .../NAFTA_examples_files/figure-html/p5a-1.png | Bin 83061 -> 0 bytes .../NAFTA_examples_files/figure-html/p5b-1.png | Bin 81186 -> 0 bytes .../NAFTA_examples_files/figure-html/p6-1.png | Bin 83142 -> 0 bytes .../NAFTA_examples_files/figure-html/p7-1.png | Bin 102935 -> 0 bytes .../NAFTA_examples_files/figure-html/p8-1.png | Bin 93632 -> 0 bytes .../NAFTA_examples_files/figure-html/p9a-1.png | Bin 78782 -> 0 bytes .../NAFTA_examples_files/figure-html/p9b-1.png | Bin 76883 -> 0 bytes .../header-attrs-2.6/header-attrs.js | 12 - docs/dev/articles/web_only/benchmarks.html | 1002 ------------------ .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../anchor-sections-1.0/anchor-sections.css | 4 - .../anchor-sections-1.0/anchor-sections.js | 33 - .../header-attrs-2.6/header-attrs.js | 12 - docs/dev/articles/web_only/compiled_models.html | 292 ----- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../anchor-sections-1.0/anchor-sections.css | 4 - .../anchor-sections-1.0/anchor-sections.js | 33 - .../header-attrs-2.6/header-attrs.js | 12 - docs/dev/articles/web_only/dimethenamid_2018.html | 710 ------------- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../figure-html/f_parent_mkin_dfop_const-1.png | Bin 57786 -> 0 bytes .../f_parent_mkin_dfop_const_test-1.png | Bin 57786 -> 0 bytes .../figure-html/f_parent_mkin_dfop_tc_test-1.png | Bin 59396 -> 0 bytes .../figure-html/f_parent_mkin_sfo_const-1.png | Bin 55982 -> 0 bytes .../f_parent_nlmixr_saem_dfop_const-1.png | Bin 94264 -> 0 bytes .../figure-html/f_parent_nlmixr_saem_dfop_tc-1.png | Bin 82238 -> 0 bytes .../f_parent_nlmixr_saem_dfop_tc_10k-1.png | Bin 81793 -> 0 bytes .../f_parent_nlmixr_saem_dfop_tc_1k-1.png | Bin 84973 -> 0 bytes .../f_parent_nlmixr_saem_sfo_const-1.png | Bin 71898 -> 0 bytes .../figure-html/f_parent_nlmixr_saem_sfo_tc-1.png | Bin 77093 -> 0 bytes .../figure-html/f_parent_saemix_dfop_const-1.png | Bin 36337 -> 0 bytes .../figure-html/f_parent_saemix_dfop_tc-1.png | Bin 29299 -> 0 bytes .../figure-html/f_parent_saemix_dfop_tc_10k-1.png | Bin 39487 -> 0 bytes .../figure-html/f_parent_saemix_dfop_tc_mkin-1.png | Bin 45118 -> 0 bytes .../f_parent_saemix_dfop_tc_mkin_10k-1.png | Bin 38868 -> 0 bytes .../f_parent_saemix_dfop_tc_mkin_moreiter-1.png | Bin 43391 -> 0 bytes .../f_parent_saemix_dfop_tc_moreiter-1.png | Bin 45420 -> 0 bytes .../figure-html/f_parent_saemix_sfo_const-1.png | Bin 32949 -> 0 bytes .../figure-html/f_parent_saemix_sfo_tc-1.png | Bin 28538 -> 0 bytes .../figure-html/plot_parent_nlme-1.png | Bin 59192 -> 0 bytes .../header-attrs-2.11/header-attrs.js | 12 - .../header-attrs-2.9/header-attrs.js | 12 - docs/dev/articles/web_only/multistart.html | 237 ----- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - .../figure-html/unnamed-chunk-2-1.png | Bin 59606 -> 0 bytes .../figure-html/unnamed-chunk-3-1.png | Bin 66934 -> 0 bytes .../figure-html/unnamed-chunk-4-1.png | Bin 53020 -> 0 bytes .../figure-html/unnamed-chunk-5-1.png | Bin 22355 -> 0 bytes .../figure-html/unnamed-chunk-6-1.png | Bin 53020 -> 0 bytes docs/dev/articles/web_only/saem_benchmarks.html | 639 ----------- .../accessible-code-block-0.0.1/empty-anchor.js | 15 - 80 files changed, 4827 deletions(-) delete mode 100644 docs/dev/articles/web_only/FOCUS_Z.html delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.css delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.js delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png delete mode 100644 docs/dev/articles/web_only/FOCUS_Z_files/header-attrs-2.6/header-attrs.js delete mode 100644 docs/dev/articles/web_only/NAFTA_examples.html delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.css delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.js delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png delete mode 100644 docs/dev/articles/web_only/NAFTA_examples_files/header-attrs-2.6/header-attrs.js delete mode 100644 docs/dev/articles/web_only/benchmarks.html delete mode 100644 docs/dev/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.css delete mode 100644 docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.js delete mode 100644 docs/dev/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js delete mode 100644 docs/dev/articles/web_only/compiled_models.html delete mode 100644 docs/dev/articles/web_only/compiled_models_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.css delete mode 100644 docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.js delete mode 100644 docs/dev/articles/web_only/compiled_models_files/header-attrs-2.6/header-attrs.js delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018.html delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_10k-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_1k-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_10k-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_10k-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_moreiter-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.11/header-attrs.js delete mode 100644 docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js delete mode 100644 docs/dev/articles/web_only/multistart.html delete mode 100644 docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js delete mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png delete mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png delete mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png delete mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png delete mode 100644 docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png delete mode 100644 docs/dev/articles/web_only/saem_benchmarks.html delete mode 100644 docs/dev/articles/web_only/saem_benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js (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 deleted file mode 100644 index 979cf2c6..00000000 --- a/docs/dev/articles/web_only/FOCUS_Z.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - -Example evaluation of FOCUS dataset Z • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -

Wissenschaftlicher Berater, Kronacher -Str. 12, 79639 Grenzach-Wyhlen, Germany
Privatdozent at the -University of Bremen

-
-

The data -

-

The following code defines the example dataset from Appendix 7 to the -FOCUS kinetics report (FOCUS Work Group on -Degradation Kinetics 2014, 354).

-
-library(mkin, quietly = TRUE)
-LOD = 0.5
-FOCUS_2006_Z = data.frame(
-  t = c(0, 0.04, 0.125, 0.29, 0.54, 1, 2, 3, 4, 7, 10, 14, 21,
-        42, 61, 96, 124),
-  Z0 = c(100, 81.7, 70.4, 51.1, 41.2, 6.6, 4.6, 3.9, 4.6, 4.3, 6.8,
-         2.9, 3.5, 5.3, 4.4, 1.2, 0.7),
-  Z1 = c(0, 18.3, 29.6, 46.3, 55.1, 65.7, 39.1, 36, 15.3, 5.6, 1.1,
-         1.6, 0.6, 0.5 * LOD, NA, NA, NA),
-  Z2 = c(0, NA, 0.5 * LOD, 2.6, 3.8, 15.3, 37.2, 31.7, 35.6, 14.5,
-         0.8, 2.1, 1.9, 0.5 * LOD, NA, NA, NA),
-  Z3 = c(0, NA, NA, NA, NA, 0.5 * LOD, 9.2, 13.1, 22.3, 28.4, 32.5,
-         25.2, 17.2, 4.8, 4.5, 2.8, 4.4))
-
-FOCUS_2006_Z_mkin <- mkin_wide_to_long(FOCUS_2006_Z)
-
-
-

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"))
-
## 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
-## value of zero were removed from the data
-
-plot_sep(m.Z.2a)
-

-
-summary(m.Z.2a, data = FALSE)$bpar
-
##            Estimate se_notrans t value     Pr(>t)    Lower    Upper
-## Z0_0       97.01488   3.301084 29.3888 3.2971e-21 91.66556 102.3642
-## k_Z0        2.23601   0.207078 10.7979 3.3309e-11  1.95303   2.5600
-## k_Z1        0.48212   0.063265  7.6207 2.8154e-08  0.40341   0.5762
-## f_Z0_to_Z1  1.00000   0.094764 10.5525 5.3560e-11  0.00000   1.0000
-## sigma       4.80411   0.635638  7.5579 3.2592e-08  3.52677   6.0815
-

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"),
-                   use_of_ff = "max")
-
## 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
-## value of zero were removed from the data
-
-plot_sep(m.Z.2a.ff)
-

-
-summary(m.Z.2a.ff, data = FALSE)$bpar
-
##            Estimate se_notrans t value     Pr(>t)    Lower    Upper
-## Z0_0       97.01488   3.301084 29.3888 3.2971e-21 91.66556 102.3642
-## k_Z0        2.23601   0.207078 10.7979 3.3309e-11  1.95303   2.5600
-## k_Z1        0.48212   0.063265  7.6207 2.8154e-08  0.40341   0.5762
-## f_Z0_to_Z1  1.00000   0.094764 10.5525 5.3560e-11  0.00000   1.0000
-## sigma       4.80411   0.635638  7.5579 3.2592e-08  3.52677   6.0815
-

Here, the ilr transformed formation fraction fitted in the model -takes a very large value, and the backtransformed formation fraction -from parent Z to Z1 is practically unity. Here, the covariance matrix -used for the calculation of confidence intervals is not returned as the -model is overparameterised.

-

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")
-
## 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
-## value of zero were removed from the data
-
-plot_sep(m.Z.3)
-

-
-summary(m.Z.3, data = FALSE)$bpar
-
##       Estimate se_notrans t value     Pr(>t)    Lower    Upper
-## Z0_0  97.01488   2.597342  37.352 2.0106e-24 91.67597 102.3538
-## k_Z0   2.23601   0.146904  15.221 9.1477e-15  1.95354   2.5593
-## k_Z1   0.48212   0.041727  11.554 4.8268e-12  0.40355   0.5760
-## sigma  4.80411   0.620208   7.746 1.6110e-08  3.52925   6.0790
-

As there is only one transformation product for Z0 and no pathway to -sink, the formation fraction is internally fixed to unity.

-
-
-

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")
-
## 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
-## value of zero were removed from the data
-
-plot_sep(m.Z.5)
-

-

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"),
-                   use_of_ff = "max")
-
## Temporary DLL for differentials generated and loaded
-
-m.Z.FOCUS <- mkinfit(Z.FOCUS, FOCUS_2006_Z_mkin,
-                     parms.ini = m.Z.5$bparms.ode,
-                     quiet = TRUE)
-
## Warning in mkinfit(Z.FOCUS, FOCUS_2006_Z_mkin, parms.ini = m.Z.5$bparms.ode, :
-## Observations with value of zero were removed from the data
-
## Warning in mkinfit(Z.FOCUS, FOCUS_2006_Z_mkin, parms.ini = m.Z.5$bparms.ode, : Optimisation did not converge:
-## false convergence (8)
-
-plot_sep(m.Z.FOCUS)
-

-
-summary(m.Z.FOCUS, data = FALSE)$bpar
-
##             Estimate se_notrans t value     Pr(>t)     Lower      Upper
-## Z0_0       96.838822   1.994274 48.5584 4.0280e-42 92.826981 100.850664
-## k_Z0        2.215393   0.118458 18.7019 1.0413e-23  1.989456   2.466989
-## k_Z1        0.478305   0.028258 16.9266 6.2418e-22  0.424708   0.538666
-## k_Z2        0.451627   0.042139 10.7176 1.6314e-14  0.374339   0.544872
-## k_Z3        0.058692   0.015245  3.8499 1.7803e-04  0.034808   0.098965
-## f_Z2_to_Z3  0.471502   0.058351  8.0805 9.6608e-11  0.357769   0.588274
-## sigma       3.984431   0.383402 10.3923 4.5575e-14  3.213126   4.755736
-
-endpoints(m.Z.FOCUS)
-
## $ff
-##   Z2_Z3 Z2_sink 
-##  0.4715  0.5285 
-## 
-## $distimes
-##        DT50    DT90
-## Z0  0.31288  1.0394
-## Z1  1.44917  4.8141
-## Z2  1.53478  5.0984
-## Z3 11.80986 39.2315
-

This fit corresponds to the final result chosen in Appendix 7 of the -FOCUS report. Confidence intervals returned by mkin are based on -internally transformed parameters, however.

-
-
-

Using the SFORB model -

-

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"))
-
## 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 value of zero were removed from the data
-
-plot_sep(m.Z.mkin.1)
-

-
-summary(m.Z.mkin.1, data = FALSE)$cov.unscaled
-
## 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"))
-
## 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 value of zero were removed from the data
-
-plot_sep(m.Z.mkin.3)
-

-

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"))
-
## 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,
-                      quiet = TRUE)
-
## Warning in mkinfit(Z.mkin.4, FOCUS_2006_Z_mkin, parms.ini =
-## m.Z.mkin.3$bparms.ode, : Observations with value of zero were removed from the
-## data
-
-plot_sep(m.Z.mkin.4)
-

-

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"))
-
## 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],
-                      quiet = TRUE)
-
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini =
-## m.Z.mkin.4$bparms.ode[1:4], : Observations with value of zero were removed from
-## the data
-
-plot_sep(m.Z.mkin.5)
-

-

The summary view of the backtransformed parameters shows that we get -no confidence intervals due to overparameterisation. As the optimized is -excessively small, it seems reasonable to fix it to zero.

-
-m.Z.mkin.5a <- mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin,
-                       parms.ini = c(m.Z.mkin.5$bparms.ode[1:7],
-                                     k_Z3_bound_free = 0),
-                       fixed_parms = "k_Z3_bound_free",
-                       quiet = TRUE)
-
## Warning in mkinfit(Z.mkin.5, FOCUS_2006_Z_mkin, parms.ini =
-## c(m.Z.mkin.5$bparms.ode[1:7], : Observations with value of zero were removed
-## from the data
-
-plot_sep(m.Z.mkin.5a)
-

-

As expected, the residual plots for Z0 and Z3 are more random than in -the case of the all SFO model for which they were shown above. In -conclusion, the model is proposed as the best-fit model for the dataset -from Appendix 7 of the FOCUS report.

-

A graphical representation of the confidence intervals can finally be -obtained.

-
-mkinparplot(m.Z.mkin.5a)
-

-

The endpoints obtained with this model are

-
-endpoints(m.Z.mkin.5a)
-
## $ff
-## Z0_free   Z2_Z3 Z2_sink Z3_free 
-## 1.00000 0.53656 0.46344 1.00000 
-## 
-## $SFORB
-##     Z0_b1     Z0_b2      Z0_g     Z3_b1     Z3_b2      Z3_g 
-## 2.4471322 0.0075125 0.9519862 0.0800069 0.0000000 0.9347820 
-## 
-## $distimes
-##      DT50   DT90 DT50back DT50_Z0_b1 DT50_Z0_b2 DT50_Z3_b1 DT50_Z3_b2
-## Z0 0.3043 1.1848  0.35666    0.28325     92.266         NA         NA
-## Z1 1.5148 5.0320       NA         NA         NA         NA         NA
-## Z2 1.6414 5.4526       NA         NA         NA         NA         NA
-## Z3     NA     NA       NA         NA         NA     8.6636        Inf
-

It is clear the degradation rate of Z3 towards the end of the -experiment is very low as DT50_Z3_b2 (the second Eigenvalue of the -system of two differential equations representing the SFORB system for -Z3, corresponding to the slower rate constant of the DFOP model) is -reported to be infinity. However, this appears to be a feature of the -data.

-
-
-

References -

- -
-
-FOCUS Work Group on Degradation Kinetics. 2014. Generic Guidance for -Estimating Persistence and Degradation Kinetics from Environmental Fate -Studies on Pesticides in EU Registration. 1.1 ed. http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics. -
-
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/FOCUS_Z_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/FOCUS_Z_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.css b/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.css deleted file mode 100644 index 07aee5fc..00000000 --- a/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.css +++ /dev/null @@ -1,4 +0,0 @@ -/* Styles for section anchors */ -a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} -a.anchor-section::before {content: '#';} -.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.js b/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.js deleted file mode 100644 index 570f99a0..00000000 --- a/docs/dev/articles/web_only/FOCUS_Z_files/anchor-sections-1.0/anchor-sections.js +++ /dev/null @@ -1,33 +0,0 @@ -// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. -document.addEventListener('DOMContentLoaded', function() { - // Do nothing if AnchorJS is used - if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { - return; - } - - const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); - - // Do nothing if sections are already anchored - if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { - return null; - } - - // Use section id when pandoc runs with --section-divs - const section_id = function(x) { - return ((x.classList.contains('section') || (x.tagName === 'SECTION')) - ? x.id : ''); - }; - - // Add anchors - h.forEach(function(x) { - const id = x.id || section_id(x.parentElement); - if (id === '') { - return null; - } - let anchor = document.createElement('a'); - anchor.href = '#' + id; - anchor.classList = ['anchor-section']; - x.classList.add('hasAnchor'); - x.appendChild(anchor); - }); -}); diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png deleted file mode 100644 index 98bc135b..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_1-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png deleted file mode 100644 index 33269a34..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_10-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png deleted file mode 100644 index 6e1877f4..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png deleted file mode 100644 index 113c1b0b..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11a-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png deleted file mode 100644 index 6b0dbc34..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_11b-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png deleted file mode 100644 index 98bc135b..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_2-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png deleted file mode 100644 index 0380ba43..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_3-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png deleted file mode 100644 index d080a57a..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_5-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png deleted file mode 100644 index 3119be2d..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_6-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png deleted file mode 100644 index 87af8874..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_7-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png b/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png deleted file mode 100644 index 1938b499..00000000 Binary files a/docs/dev/articles/web_only/FOCUS_Z_files/figure-html/FOCUS_2006_Z_fits_9-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/FOCUS_Z_files/header-attrs-2.6/header-attrs.js b/docs/dev/articles/web_only/FOCUS_Z_files/header-attrs-2.6/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/FOCUS_Z_files/header-attrs-2.6/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/NAFTA_examples.html b/docs/dev/articles/web_only/NAFTA_examples.html deleted file mode 100644 index 9feecfce..00000000 --- a/docs/dev/articles/web_only/NAFTA_examples.html +++ /dev/null @@ -1,1118 +0,0 @@ - - - - - - - -Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -
-

Introduction -

-

In this document, the example evaluations provided in Attachment 1 to -the SOP of US EPA for using the NAFTA guidance (US EPA 2015) are repeated using mkin. The -original evaluations reported in the attachment were performed using -PestDF in version 0.8.4. Note that PestDF 0.8.13 is the version -distributed at the US EPA website today (2019-02-26).

-

The datasets are now distributed with the mkin package.

-
-
-

Examples where DFOP did not converge with PestDF 0.8.4 -

-

In attachment 1, it is reported that the DFOP model does not converge -for these datasets when PestDF 0.8.4 was used. For all four datasets, -the DFOP model can be fitted with mkin (see below). The negative -half-life given by PestDF 0.8.4 for these fits appears to be the result -of a bug. The results for the other two models (SFO and IORE) are the -same.

-
-

Example on page 5, upper panel -

-
-p5a <- nafta(NAFTA_SOP_Attachment[["p5a"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p5a)
-

-
-print(p5a)
-
## Sums of squares:
-##       SFO      IORE      DFOP 
-## 465.21753  56.27506  32.06401 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 64.4304
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)  Lower   Upper
-## parent_0  95.8401 4.67e-21 92.245 99.4357
-## k_parent   0.0102 3.92e-12  0.009  0.0117
-## sigma      4.8230 3.81e-06  3.214  6.4318
-## 
-## $IORE
-##                Estimate Pr(>t)    Lower    Upper
-## parent_0       1.01e+02     NA 9.91e+01 1.02e+02
-## k__iore_parent 1.54e-05     NA 4.08e-06 5.84e-05
-## N_parent       2.57e+00     NA 2.25e+00 2.89e+00
-## sigma          1.68e+00     NA 1.12e+00 2.24e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower    Upper
-## parent_0 9.99e+01 1.41e-26 98.8116 101.0810
-## k1       2.67e-02 5.05e-06  0.0243   0.0295
-## k2       2.26e-12 5.00e-01  0.0000      Inf
-## g        6.47e-01 3.67e-06  0.6248   0.6677
-## sigma    1.27e+00 8.91e-06  0.8395   1.6929
-## 
-## 
-## DTx values:
-##      DT50     DT90 DT50_rep
-## SFO  67.7 2.25e+02 6.77e+01
-## IORE 58.2 1.07e+03 3.22e+02
-## DFOP 55.5 5.59e+11 3.07e+11
-## 
-## Representative half-life:
-## [1] 321.51
-
-
-

Example on page 5, lower panel -

-
-p5b <- nafta(NAFTA_SOP_Attachment[["p5b"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p5b)
-

-
-print(p5b)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 94.81123 10.10936  7.55871 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 11.77879
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0   96.497 2.32e-24 94.85271 98.14155
-## k_parent    0.008 3.42e-14  0.00737  0.00869
-## sigma       2.295 1.22e-05  1.47976  3.11036
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower    Upper
-## parent_0       9.85e+01 1.17e-28 9.79e+01 9.92e+01
-## k__iore_parent 1.53e-04 6.50e-03 7.21e-05 3.26e-04
-## N_parent       1.94e+00 5.88e-13 1.76e+00 2.12e+00
-## sigma          7.49e-01 1.63e-05 4.82e-01 1.02e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0 9.84e+01 1.24e-27 97.8078 98.9187
-## k1       1.55e-02 4.10e-04  0.0143  0.0167
-## k2       8.63e-12 5.00e-01  0.0000     Inf
-## g        6.89e-01 2.92e-03  0.6626  0.7142
-## sigma    6.48e-01 2.38e-05  0.4147  0.8813
-## 
-## 
-## DTx values:
-##      DT50     DT90 DT50_rep
-## SFO  86.6 2.88e+02 8.66e+01
-## IORE 85.5 7.17e+02 2.16e+02
-## DFOP 83.6 1.32e+11 8.04e+10
-## 
-## Representative half-life:
-## [1] 215.87
-
-
-

Example on page 6 -

-
-p6 <- nafta(NAFTA_SOP_Attachment[["p6"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p6)
-

-
-print(p6)
-
## Sums of squares:
-##       SFO      IORE      DFOP 
-## 188.45361  51.00699  42.46931 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 58.39888
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0  94.7759 7.29e-24 92.3478 97.2039
-## k_parent   0.0179 8.02e-16  0.0166  0.0194
-## sigma      3.0696 3.81e-06  2.0456  4.0936
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower    Upper
-## parent_0       97.12446 2.63e-26 95.62461 98.62431
-## k__iore_parent  0.00252 1.95e-03  0.00134  0.00472
-## N_parent        1.49587 4.07e-13  1.33896  1.65279
-## sigma           1.59698 5.05e-06  1.06169  2.13227
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0 9.66e+01 1.57e-25 95.3476 97.8979
-## k1       2.55e-02 7.33e-06  0.0233  0.0278
-## k2       3.22e-11 5.00e-01  0.0000     Inf
-## g        8.61e-01 7.55e-06  0.8314  0.8867
-## sigma    1.46e+00 6.93e-06  0.9661  1.9483
-## 
-## 
-## DTx values:
-##      DT50     DT90 DT50_rep
-## SFO  38.6 1.28e+02 3.86e+01
-## IORE 34.0 1.77e+02 5.32e+01
-## DFOP 34.1 1.01e+10 2.15e+10
-## 
-## Representative half-life:
-## [1] 53.17
-
-
-

Example on page 7 -

-
-p7 <- nafta(NAFTA_SOP_Attachment[["p7"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p7)
-

-
-print(p7)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 3661.661 3195.030 3174.145 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 3334.194
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 96.41796 4.80e-53 93.32245 99.51347
-## k_parent  0.00735 7.64e-21  0.00641  0.00843
-## sigma     7.94557 1.83e-15  6.46713  9.42401
-## 
-## $IORE
-##                Estimate Pr(>t)    Lower    Upper
-## parent_0       9.92e+01     NA 9.55e+01 1.03e+02
-## k__iore_parent 1.60e-05     NA 1.45e-07 1.77e-03
-## N_parent       2.45e+00     NA 1.35e+00 3.54e+00
-## sigma          7.42e+00     NA 6.04e+00 8.80e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower    Upper
-## parent_0 9.89e+01 9.44e-49 95.4640 102.2573
-## k1       1.81e-02 1.75e-01  0.0116   0.0281
-## k2       3.63e-10 5.00e-01  0.0000      Inf
-## g        6.06e-01 2.19e-01  0.4826   0.7178
-## sigma    7.40e+00 2.97e-15  6.0201   8.7754
-## 
-## 
-## DTx values:
-##      DT50     DT90 DT50_rep
-## SFO  94.3 3.13e+02 9.43e+01
-## IORE 96.7 1.51e+03 4.55e+02
-## DFOP 96.4 3.77e+09 1.91e+09
-## 
-## Representative half-life:
-## [1] 454.55
-
-
-
-

Examples where the representative half-life deviates from the -observed DT50 -

-
-

Example on page 8 -

-

For this dataset, the IORE fit does not converge when the default -starting values used by mkin for the IORE model are used. Therefore, a -lower value for the rate constant is used here.

-
-p8 <- nafta(NAFTA_SOP_Attachment[["p8"]], parms.ini = c(k__iore_parent = 1e-3))
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p8)
-

-
-print(p8)
-
## Sums of squares:
-##       SFO      IORE      DFOP 
-## 1996.9408  444.9237  547.5616 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 477.4924
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 88.16549 6.53e-29 83.37344 92.95754
-## k_parent  0.00803 1.67e-13  0.00674  0.00957
-## sigma     7.44786 4.17e-10  5.66209  9.23363
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower    Upper
-## parent_0       9.77e+01 7.03e-35 9.44e+01 1.01e+02
-## k__iore_parent 6.14e-05 3.20e-02 2.12e-05 1.78e-04
-## N_parent       2.27e+00 4.23e-18 2.00e+00 2.54e+00
-## sigma          3.52e+00 5.36e-10 2.67e+00 4.36e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 95.70619 8.99e-32 91.87941 99.53298
-## k1        0.02500 5.25e-04  0.01422  0.04394
-## k2        0.00273 6.84e-03  0.00125  0.00597
-## g         0.58835 2.84e-06  0.36595  0.77970
-## sigma     3.90001 6.94e-10  2.96260  4.83741
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  86.3  287     86.3
-## IORE 53.4  668    201.0
-## DFOP 55.6  517    253.0
-## 
-## Representative half-life:
-## [1] 201.03
-
-
-
-

Examples where SFO was not selected for an abiotic study -

-
-

Example on page 9, upper panel -

-
-p9a <- nafta(NAFTA_SOP_Attachment[["p9a"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p9a)
-

-
-print(p9a)
-
## Sums of squares:
-##       SFO      IORE      DFOP 
-## 839.35238  88.57064   9.93363 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 105.5678
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0  88.1933 3.06e-12 79.9447 96.4419
-## k_parent   0.0409 2.07e-07  0.0324  0.0516
-## sigma      7.2429 3.92e-05  4.4768 10.0090
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower    Upper
-## parent_0       9.89e+01 1.12e-16 9.54e+01 1.02e+02
-## k__iore_parent 1.93e-05 1.13e-01 3.49e-06 1.06e-04
-## N_parent       2.91e+00 1.45e-09 2.50e+00 3.32e+00
-## sigma          2.35e+00 5.31e-05 1.45e+00 3.26e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)  Lower  Upper
-## parent_0 9.85e+01 2.54e-20 97.390 99.672
-## k1       1.38e-01 3.52e-05  0.131  0.146
-## k2       9.02e-13 5.00e-01  0.000    Inf
-## g        6.52e-01 8.13e-06  0.642  0.661
-## sigma    7.88e-01 6.13e-02  0.481  1.095
-## 
-## 
-## DTx values:
-##      DT50     DT90 DT50_rep
-## SFO  16.9 5.63e+01 1.69e+01
-## IORE 11.6 3.37e+02 1.01e+02
-## DFOP 10.5 1.38e+12 7.69e+11
-## 
-## Representative half-life:
-## [1] 101.43
-

In this example, the residuals of the SFO indicate a lack of fit of -this model, so even if it was an abiotic experiment, the data do not -suggest a simple exponential decline.

-
-
-

Example on page 9, lower panel -

-
-p9b <- nafta(NAFTA_SOP_Attachment[["p9b"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(diag(covar_notrans)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result
-## is doubtful
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p9b)
-

-
-print(p9b)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 35.64867 23.22334 35.64867 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 28.54188
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)  Lower   Upper
-## parent_0  94.7123 2.15e-19 93.178 96.2464
-## k_parent   0.0389 4.47e-14  0.037  0.0408
-## sigma      1.5957 1.28e-04  0.932  2.2595
-## 
-## $IORE
-##                Estimate   Pr(>t)   Lower  Upper
-## parent_0         93.863 2.32e-18 92.4565 95.269
-## k__iore_parent    0.127 1.85e-02  0.0504  0.321
-## N_parent          0.711 1.88e-05  0.4843  0.937
-## sigma             1.288 1.76e-04  0.7456  1.830
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0  94.7123 1.61e-16 93.1355 96.2891
-## k1         0.0389 1.08e-04  0.0266  0.0569
-## k2         0.0389 2.23e-04  0.0255  0.0592
-## g          0.5256      NaN      NA      NA
-## sigma      1.5957 2.50e-04  0.9135  2.2779
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  17.8 59.2     17.8
-## IORE 18.4 49.2     14.8
-## DFOP 17.8 59.2     17.8
-## 
-## Representative half-life:
-## [1] 14.8
-

Here, mkin gives a longer slow DT50 for the DFOP model (17.8 days) -than PestDF (13.5 days). Presumably, this is related to the fact that -PestDF gives a negative value for the proportion of the fast degradation -which should be between 0 and 1, inclusive. This parameter is called f -in PestDF and g in mkin. In mkin, it is restricted to the interval from -0 to 1.

-
-
-

Example on page 10 -

-
-p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result
-## is doubtful
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p10)
-

-
-print(p10)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 899.4089 336.4348 899.4089 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 413.4841
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)   Lower    Upper
-## parent_0 101.7315 6.42e-11 91.9259 111.5371
-## k_parent   0.0495 1.70e-07  0.0404   0.0607
-## sigma      8.0152 1.28e-04  4.6813  11.3491
-## 
-## $IORE
-##                Estimate   Pr(>t)  Lower   Upper
-## parent_0          96.86 3.32e-12 90.848 102.863
-## k__iore_parent     2.96 7.91e-02  0.687  12.761
-## N_parent           0.00 5.00e-01 -0.372   0.372
-## sigma              4.90 1.77e-04  2.837   6.968
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower    Upper
-## parent_0 101.7315 1.41e-09 91.6534 111.8097
-## k1         0.0495 6.58e-03  0.0303   0.0809
-## k2         0.0495 2.60e-03  0.0410   0.0598
-## g          0.4487 5.00e-01      NA       NA
-## sigma      8.0152 2.50e-04  4.5886  11.4418
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  14.0 46.5    14.00
-## IORE 16.4 29.4     8.86
-## DFOP 14.0 46.5    14.00
-## 
-## Representative half-life:
-## [1] 8.86
-

Here, a value below N is given for the IORE model, because the data -suggests a faster decline towards the end of the experiment, which -appears physically rather unlikely in the case of a photolysis study. It -seems PestDF does not constrain N to values above zero, thus the slight -difference in IORE model parameters between PestDF and mkin.

-
-
-
-

The DT50 was not observed during the study -

-
-

Example on page 11 -

-
-p11 <- nafta(NAFTA_SOP_Attachment[["p11"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p11)
-

-
-print(p11)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 579.6805 204.7932 144.7783 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 251.6944
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 96.15820 4.83e-13 90.24934 1.02e+02
-## k_parent  0.00321 4.71e-05  0.00222 4.64e-03
-## sigma     6.43473 1.28e-04  3.75822 9.11e+00
-## 
-## $IORE
-##                Estimate Pr(>t)    Lower    Upper
-## parent_0       1.05e+02     NA 9.90e+01 1.10e+02
-## k__iore_parent 3.11e-17     NA 1.35e-20 7.18e-14
-## N_parent       8.36e+00     NA 6.62e+00 1.01e+01
-## sigma          3.82e+00     NA 2.21e+00 5.44e+00
-## 
-## $DFOP
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 1.05e+02 9.47e-13  99.9990 109.1224
-## k1       4.41e-02 5.95e-03   0.0296   0.0658
-## k2       9.94e-13 5.00e-01   0.0000      Inf
-## g        3.22e-01 1.45e-03   0.2814   0.3650
-## sigma    3.22e+00 3.52e-04   1.8410   4.5906
-## 
-## 
-## DTx values:
-##          DT50     DT90 DT50_rep
-## SFO  2.16e+02 7.18e+02 2.16e+02
-## IORE 9.73e+02 1.37e+08 4.11e+07
-## DFOP 3.07e+11 1.93e+12 6.98e+11
-## 
-## Representative half-life:
-## [1] 41148170
-

In this case, the DFOP fit reported for PestDF resulted in a negative -value for the slower rate constant, which is not possible in mkin. The -other results are in agreement.

-
-
-
-

N is less than 1 and the DFOP rate constants are like the SFO rate -constant -

-

In the following three examples, the same results are obtained with -mkin as reported for PestDF. As in the case on page 10, the N values -below 1 are deemed unrealistic and appear to be the result of an -overparameterisation.

-
-

Example on page 12, upper panel -

-
-p12a <- nafta(NAFTA_SOP_Attachment[["p12a"]])
-
## Warning in summary.mkinfit(x): Could not calculate correlation; no covariance
-## matrix
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(diag(covar_notrans)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result
-## is doubtful
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p12a)
-

-
-print(p12a)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 695.4440 220.0685 695.4440 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 270.4679
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)  Lower   Upper
-## parent_0  100.521 8.75e-12 92.461 108.581
-## k_parent    0.124 3.61e-08  0.104   0.148
-## sigma       7.048 1.28e-04  4.116   9.980
-## 
-## $IORE
-##                Estimate Pr(>t) Lower Upper
-## parent_0         96.823     NA    NA    NA
-## k__iore_parent    2.436     NA    NA    NA
-## N_parent          0.263     NA    NA    NA
-## sigma             3.965     NA    NA    NA
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower   Upper
-## parent_0  100.521 2.74e-10 92.2366 108.805
-## k1          0.124 2.53e-05  0.0908   0.170
-## k2          0.124 2.52e-02  0.0456   0.339
-## g           0.793      NaN      NA      NA
-## sigma       7.048 2.50e-04  4.0349  10.061
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  5.58 18.5     5.58
-## IORE 6.49 13.2     3.99
-## DFOP 5.58 18.5     5.58
-## 
-## Representative half-life:
-## [1] 3.99
-
-
-

Example on page 12, lower panel -

-
-p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
-
## Warning in qt(alpha/2, rdf): NaNs produced
-
## Warning in qt(1 - alpha/2, rdf): NaNs produced
-
## Warning in sqrt(diag(covar_notrans)): NaNs produced
-
## Warning in pt(abs(tval), rdf, lower.tail = FALSE): NaNs produced
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p12b)
-

-
-print(p12b)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 58.90242 19.06353 58.90242 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 51.51756
-## 
-## Parameters:
-## $SFO
-##          Estimate  Pr(>t)   Lower    Upper
-## parent_0  97.6840 0.00039 85.9388 109.4292
-## k_parent   0.0589 0.00261  0.0431   0.0805
-## sigma      3.4323 0.04356 -1.2377   8.1023
-## 
-## $IORE
-##                Estimate Pr(>t)     Lower  Upper
-## parent_0         95.523 0.0055 74.539157 116.51
-## k__iore_parent    0.333 0.1433  0.000717 154.57
-## N_parent          0.568 0.0677 -0.989464   2.13
-## sigma             1.953 0.0975 -5.893100   9.80
-## 
-## $DFOP
-##          Estimate Pr(>t) Lower Upper
-## parent_0  97.6840    NaN   NaN   NaN
-## k1         0.0589    NaN    NA    NA
-## k2         0.0589    NaN    NA    NA
-## g          0.6473    NaN    NA    NA
-## sigma      3.4323    NaN   NaN   NaN
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  11.8 39.1    11.80
-## IORE 12.9 31.4     9.46
-## DFOP 11.8 39.1    11.80
-## 
-## Representative half-life:
-## [1] 9.46
-
-
-

Example on page 13 -

-
-p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p13)
-

-
-print(p13)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 174.5971 142.3951 174.5971 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 172.131
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 92.73500 5.99e-17 89.61936 95.85065
-## k_parent  0.00258 2.42e-09  0.00223  0.00299
-## sigma     3.41172 7.07e-05  2.05455  4.76888
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower  Upper
-## parent_0        91.6016 6.34e-16 88.53086 94.672
-## k__iore_parent   0.0396 2.36e-01  0.00207  0.759
-## N_parent         0.3541 1.46e-01 -0.35153  1.060
-## sigma            3.0811 9.64e-05  1.84296  4.319
-## 
-## $DFOP
-##          Estimate Pr(>t)    Lower    Upper
-## parent_0 92.73500     NA 8.95e+01 95.92118
-## k1        0.00258     NA 4.14e-04  0.01611
-## k2        0.00258     NA 1.74e-03  0.00383
-## g         0.16452     NA 0.00e+00  1.00000
-## sigma     3.41172     NA 2.02e+00  4.79960
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO   269  892      269
-## IORE  261  560      169
-## DFOP  269  892      269
-## 
-## Representative half-life:
-## [1] 168.51
-
-
-
-

DT50 not observed in the study and DFOP problems in PestDF -

-
-p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result
-## is doubtful
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p14)
-

-
-print(p14)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 48.43249 28.67746 27.26248 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 32.83337
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 99.47124 2.06e-30 98.42254 1.01e+02
-## k_parent  0.00279 3.75e-15  0.00256 3.04e-03
-## sigma     1.55616 3.81e-06  1.03704 2.08e+00
-## 
-## $IORE
-##                Estimate Pr(>t) Lower Upper
-## parent_0       1.00e+02     NA   NaN   NaN
-## k__iore_parent 9.44e-08     NA   NaN   NaN
-## N_parent       3.31e+00     NA   NaN   NaN
-## sigma          1.20e+00     NA 0.796   1.6
-## 
-## $DFOP
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 1.00e+02 2.96e-28 99.40280 101.2768
-## k1       9.53e-03 1.20e-01  0.00638   0.0143
-## k2       6.08e-12 5.00e-01  0.00000      Inf
-## g        3.98e-01 2.19e-01  0.30481   0.4998
-## sigma    1.17e+00 7.68e-06  0.77406   1.5610
-## 
-## 
-## DTx values:
-##          DT50     DT90 DT50_rep
-## SFO  2.48e+02 8.25e+02 2.48e+02
-## IORE 4.34e+02 2.22e+04 6.70e+03
-## DFOP 3.05e+10 2.95e+11 1.14e+11
-## 
-## Representative half-life:
-## [1] 6697.44
-

The slower rate constant reported by PestDF is negative, which is not -physically realistic, and not possible in mkin. The other fits give the -same results in mkin and PestDF.

-
-
-

N is less than 1 and DFOP fraction parameter is below zero -

-
-p15a <- nafta(NAFTA_SOP_Attachment[["p15a"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p15a)
-

-
-print(p15a)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 245.5248 135.0132 245.5248 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 165.9335
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower   Upper
-## parent_0 97.96751 2.00e-15 94.32049 101.615
-## k_parent  0.00952 4.93e-09  0.00824   0.011
-## sigma     4.18778 1.28e-04  2.44588   5.930
-## 
-## $IORE
-##                Estimate   Pr(>t)  Lower  Upper
-## parent_0         95.874 2.94e-15 92.937 98.811
-## k__iore_parent    0.629 2.11e-01  0.044  8.982
-## N_parent          0.000 5.00e-01 -0.642  0.642
-## sigma             3.105 1.78e-04  1.795  4.416
-## 
-## $DFOP
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 97.96751 2.85e-13 94.21913 101.7159
-## k1        0.00952 6.28e-02  0.00250   0.0363
-## k2        0.00952 1.27e-04  0.00646   0.0140
-## g         0.21241 5.00e-01  0.00000   1.0000
-## sigma     4.18778 2.50e-04  2.39747   5.9781
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  72.8  242     72.8
-## IORE 76.3  137     41.3
-## DFOP 72.8  242     72.8
-## 
-## Representative half-life:
-## [1] 41.33
-
-p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
-
## Warning in sqrt(diag(covar)): NaNs produced
-
## Warning in sqrt(1/diag(V)): NaNs produced
-
## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result
-## is doubtful
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The half-life obtained from the IORE model may be used
-
-plot(p15b)
-

-
-print(p15b)
-
## Sums of squares:
-##       SFO      IORE      DFOP 
-## 106.91629  68.55574 106.91629 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 84.25618
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)    Lower    Upper
-## parent_0 1.01e+02 3.06e-17 98.31594 1.03e+02
-## k_parent 4.86e-03 2.48e-10  0.00435 5.42e-03
-## sigma    2.76e+00 1.28e-04  1.61402 3.91e+00
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower  Upper
-## parent_0          99.83 1.81e-16 97.51349 102.14
-## k__iore_parent     0.38 3.22e-01  0.00352  41.05
-## N_parent           0.00 5.00e-01 -1.07696   1.08
-## sigma              2.21 2.57e-04  1.23245   3.19
-## 
-## $DFOP
-##          Estimate Pr(>t)    Lower    Upper
-## parent_0 1.01e+02     NA 9.82e+01 1.04e+02
-## k1       4.86e-03     NA 8.63e-04 2.73e-02
-## k2       4.86e-03     NA 3.21e-03 7.35e-03
-## g        1.88e-01     NA       NA       NA
-## sigma    2.76e+00     NA 1.58e+00 3.94e+00
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO   143  474    143.0
-## IORE  131  236     71.2
-## DFOP  143  474    143.0
-## 
-## Representative half-life:
-## [1] 71.18
-

In mkin, only the IORE fit is affected (deemed unrealistic), as the -fraction parameter of the DFOP model is restricted to the interval -between 0 and 1 in mkin. The SFO fits give the same results for both -mkin and PestDF.

-
-
-

The DFOP fraction parameter is greater than 1 -

-
-p16 <- nafta(NAFTA_SOP_Attachment[["p16"]])
-
## The SFO model is rejected as S_SFO is equal or higher than the critical value S_c
-
## The representative half-life of the IORE model is longer than the one corresponding
-
## to the terminal degradation rate found with the DFOP model.
-
## The representative half-life obtained from the DFOP model may be used
-
-plot(p16)
-

-
-print(p16)
-
## Sums of squares:
-##      SFO     IORE     DFOP 
-## 3831.804 2062.008 1550.980 
-## 
-## Critical sum of squares for checking the SFO model:
-## [1] 2247.348
-## 
-## Parameters:
-## $SFO
-##          Estimate   Pr(>t)  Lower Upper
-## parent_0   71.953 2.33e-13 60.509 83.40
-## k_parent    0.159 4.86e-05  0.102  0.25
-## sigma      11.302 1.25e-08  8.308 14.30
-## 
-## $IORE
-##                Estimate   Pr(>t)    Lower    Upper
-## parent_0       8.74e+01 2.48e-16 7.72e+01 97.52972
-## k__iore_parent 4.55e-04 2.16e-01 3.48e-05  0.00595
-## N_parent       2.70e+00 1.21e-08 1.99e+00  3.40046
-## sigma          8.29e+00 1.61e-08 6.09e+00 10.49062
-## 
-## $DFOP
-##          Estimate   Pr(>t)   Lower  Upper
-## parent_0  88.5333 7.40e-18 79.9836 97.083
-## k1        18.8461 5.00e-01  0.0000    Inf
-## k2         0.0776 1.41e-05  0.0518  0.116
-## g          0.4733 1.41e-09  0.3674  0.582
-## sigma      7.1902 2.11e-08  5.2785  9.102
-## 
-## 
-## DTx values:
-##      DT50 DT90 DT50_rep
-## SFO  4.35 14.4     4.35
-## IORE 1.48 32.1     9.67
-## DFOP 0.67 21.4     8.93
-## 
-## Representative half-life:
-## [1] 8.93
-

In PestDF, the DFOP fit seems to have stuck in a local minimum, as -mkin finds a solution with a much lower \(\chi^2\) error level. As the half-life from -the slower rate constant of the DFOP model is larger than the IORE -derived half-life, the NAFTA recommendation obtained with mkin is to use -the DFOP representative half-life of 8.9 days.

-
-
-

Conclusions -

-

The results obtained with mkin deviate from the results obtained with -PestDF either in cases where one of the interpretive rules would apply, -i.e. the IORE parameter N is less than one or the DFOP k values obtained -with PestDF are equal to the SFO k values, or in cases where the DFOP -model did not converge, which often lead to negative rate constants -returned by PestDF.

-

Therefore, mkin appears to suitable for kinetic evaluations according -to the NAFTA guidance.

-
-
-

References -

-
-
-US EPA. 2015. “Standard Operating Procedure for Using the NAFTA -Guidance to Calculate Representative Half-Life Values and Characterizing -Pesticide Degradation.” https://www.epa.gov/pesticide-science-and-assessing-pesticide-risks/standard-operating-procedure-using-nafta-guidance. -
-
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/NAFTA_examples_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/NAFTA_examples_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.css b/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.css deleted file mode 100644 index 07aee5fc..00000000 --- a/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.css +++ /dev/null @@ -1,4 +0,0 @@ -/* Styles for section anchors */ -a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} -a.anchor-section::before {content: '#';} -.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.js b/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.js deleted file mode 100644 index 570f99a0..00000000 --- a/docs/dev/articles/web_only/NAFTA_examples_files/anchor-sections-1.0/anchor-sections.js +++ /dev/null @@ -1,33 +0,0 @@ -// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. -document.addEventListener('DOMContentLoaded', function() { - // Do nothing if AnchorJS is used - if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { - return; - } - - const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); - - // Do nothing if sections are already anchored - if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { - return null; - } - - // Use section id when pandoc runs with --section-divs - const section_id = function(x) { - return ((x.classList.contains('section') || (x.tagName === 'SECTION')) - ? x.id : ''); - }; - - // Add anchors - h.forEach(function(x) { - const id = x.id || section_id(x.parentElement); - if (id === '') { - return null; - } - let anchor = document.createElement('a'); - anchor.href = '#' + id; - anchor.classList = ['anchor-section']; - x.classList.add('hasAnchor'); - x.appendChild(anchor); - }); -}); diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png deleted file mode 100644 index 566625ea..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p10-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png deleted file mode 100644 index 71fc4699..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p11-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png deleted file mode 100644 index a1d3a084..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12a-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png deleted file mode 100644 index 1a6fdd03..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p12b-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png deleted file mode 100644 index f9b9f637..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p13-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png deleted file mode 100644 index 9f7b0cc5..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p14-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png deleted file mode 100644 index b5fd7d91..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15a-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png deleted file mode 100644 index dfbc996f..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p15b-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png deleted file mode 100644 index 75ac7e5b..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p16-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png deleted file mode 100644 index 12a62954..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5a-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png deleted file mode 100644 index 6fd175cb..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p5b-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png deleted file mode 100644 index 856c6778..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p6-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png deleted file mode 100644 index b078fb88..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p7-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png deleted file mode 100644 index a1e3bf25..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p8-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png deleted file mode 100644 index c247fd4e..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9a-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png b/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png deleted file mode 100644 index 99d593fc..00000000 Binary files a/docs/dev/articles/web_only/NAFTA_examples_files/figure-html/p9b-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/NAFTA_examples_files/header-attrs-2.6/header-attrs.js b/docs/dev/articles/web_only/NAFTA_examples_files/header-attrs-2.6/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/NAFTA_examples_files/header-attrs-2.6/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/benchmarks.html b/docs/dev/articles/web_only/benchmarks.html deleted file mode 100644 index 87bdd55f..00000000 --- a/docs/dev/articles/web_only/benchmarks.html +++ /dev/null @@ -1,1002 +0,0 @@ - - - - - - - -Benchmark timings for mkin • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -

Each system is characterized by the operating system type, the CPU -type, the mkin version, and, as in June 2022 the current R version lead -to worse performance, the R version. A compiler was available, so if no -analytical solution was available, compiled ODE models are used.

-

Every fit is only performed once, so the accuracy of the benchmarks -is limited.

-

The following wrapper function for mmkin is used because -the way the error model is specified was changed in mkin version -0.9.49.1.

-
-if (packageVersion("mkin") > "0.9.48.1") {
-  mmkin_bench <- function(models, datasets, error_model = "const") {
-    mmkin(models, datasets, error_model = error_model, cores = 1, quiet = TRUE)
-  }
-} else {
-  mmkin_bench <- function(models, datasets, error_model = NULL) {
-    mmkin(models, datasets, reweight.method = error_model, cores = 1, quiet = TRUE)
-  }
-}
-
-

Test cases -

-

Parent only:

-
-FOCUS_C <- FOCUS_2006_C
-FOCUS_D <- subset(FOCUS_2006_D, value != 0)
-parent_datasets <- list(FOCUS_C, FOCUS_D)
-
-
-t1 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), parent_datasets))[["elapsed"]]
-t2 <- system.time(mmkin_bench(c("SFO", "FOMC", "DFOP", "HS"), parent_datasets,
-    error_model = "tc"))[["elapsed"]]
-

One metabolite:

-
-SFO_SFO <- mkinmod(
-  parent = mkinsub("SFO", "m1"),
-  m1 = mkinsub("SFO"))
-FOMC_SFO <- mkinmod(
-  parent = mkinsub("FOMC", "m1"),
-  m1 = mkinsub("SFO"))
-DFOP_SFO <- mkinmod(
-  parent = mkinsub("FOMC", "m1"), # erroneously used FOMC twice, not fixed for consistency
-  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"]]
-t5 <- system.time(mmkin_bench(list(SFO_SFO, FOMC_SFO, DFOP_SFO), list(FOCUS_D),
-    error_model = "obs"))[["elapsed"]]
-

Two metabolites, synthetic data:

-
-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"),
-                           use_of_ff = "max", quiet = TRUE)
-
-SFO_lin_a <- synthetic_data_for_UBA_2014[[1]]$data
-
-DFOP_par_c <- synthetic_data_for_UBA_2014[[12]]$data
-
-t6 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a)))[["elapsed"]]
-t7 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c)))[["elapsed"]]
-
-t8 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a),
-    error_model = "tc"))[["elapsed"]]
-t9 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c),
-    error_model = "tc"))[["elapsed"]]
-
-t10 <- system.time(mmkin_bench(list(m_synth_SFO_lin), list(SFO_lin_a),
-    error_model = "obs"))[["elapsed"]]
-t11 <- system.time(mmkin_bench(list(m_synth_DFOP_par), list(DFOP_par_c),
-    error_model = "obs"))[["elapsed"]]
-
-
-

Results -

-

Benchmarks for all available error models are shown. They are -intended for improving mkin, not for comparing CPUs or operating -systems. All trademarks belong to their respective owners.

-
-

Parent only -

-

Constant variance (t1) and two-component error model (t2) for four -models fitted to two datasets, i.e. eight fits for each test.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OSCPURmkint1t2
LinuxRyzen 7 1700NA0.9.48.13.61011.019
LinuxRyzen 7 1700NA0.9.49.18.18422.889
LinuxRyzen 7 1700NA0.9.49.27.06412.558
LinuxRyzen 7 1700NA0.9.49.37.29621.239
LinuxRyzen 7 1700NA0.9.49.45.93620.545
LinuxRyzen 7 1700NA0.9.50.21.7143.971
LinuxRyzen 7 1700NA0.9.50.31.7524.156
LinuxRyzen 7 1700NA0.9.50.41.7863.729
LinuxRyzen 7 1700NA1.0.31.8813.504
LinuxRyzen 7 1700NA1.0.41.8673.450
LinuxRyzen 7 17004.1.31.1.01.7913.289
LinuxRyzen 7 17004.2.11.1.01.8423.453
Linuxi7-4710MQ4.2.11.1.01.9594.116
Linuxi7-4710MQ4.1.31.1.01.8773.906
Linuxi7-4710MQ4.2.11.1.11.6443.172
LinuxRyzen 7 17004.2.11.1.11.7703.377
LinuxRyzen 7 17004.2.11.1.21.9573.633
LinuxRyzen 7 17004.2.21.2.02.1403.774
LinuxRyzen 7 17004.2.21.2.22.1873.851
LinuxRyzen 9 7950X4.2.21.2.01.2881.794
LinuxRyzen 9 7950X4.2.21.2.21.2761.804
LinuxRyzen 9 7950X4.2.21.2.31.3701.883
LinuxRyzen 9 7950X4.2.31.2.31.4041.933
-
-
-

One metabolite -

-

Constant variance (t3), two-component error model (t4), and variance -by variable (t5) for three models fitted to one dataset, i.e. three fits -for each test.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OSCPURmkint3t4t5
LinuxRyzen 7 1700NA0.9.48.13.76414.3479.495
LinuxRyzen 7 1700NA0.9.49.14.64913.7896.395
LinuxRyzen 7 1700NA0.9.49.24.7868.4615.675
LinuxRyzen 7 1700NA0.9.49.34.51013.8057.386
LinuxRyzen 7 1700NA0.9.49.44.44615.3356.002
LinuxRyzen 7 1700NA0.9.50.21.4026.1742.764
LinuxRyzen 7 1700NA0.9.50.31.4306.6152.878
LinuxRyzen 7 1700NA0.9.50.41.3977.2512.810
LinuxRyzen 7 1700NA1.0.31.4306.3442.798
LinuxRyzen 7 1700NA1.0.41.4156.3642.820
LinuxRyzen 7 17004.1.31.1.01.3106.2792.681
LinuxRyzen 7 17004.2.11.1.03.80221.2478.461
Linuxi7-4710MQ4.2.11.1.03.33419.5217.565
Linuxi7-4710MQ4.1.31.1.01.5788.0583.339
Linuxi7-4710MQ4.2.11.1.11.2305.8392.444
LinuxRyzen 7 17004.2.11.1.11.3085.7582.558
LinuxRyzen 7 17004.2.11.1.21.5036.1472.803
LinuxRyzen 7 17004.2.21.2.01.5546.1932.843
LinuxRyzen 7 17004.2.21.2.21.5856.3353.003
LinuxRyzen 9 7950X4.2.21.2.00.7922.3781.245
LinuxRyzen 9 7950X4.2.21.2.20.7842.3551.233
LinuxRyzen 9 7950X4.2.21.2.30.7702.0111.123
LinuxRyzen 9 7950X4.2.31.2.30.7972.1241.182
-
-
-

Two metabolites -

-

Constant variance (t6 and t7), two-component error model (t8 and t9), -and variance by variable (t10 and t11) for one model fitted to one -dataset, i.e. one fit for each test.

- ------------ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OSCPURmkint6t7t8t9t10t11
LinuxRyzen 7 1700NA0.9.48.12.6234.5877.52516.6218.57631.267
LinuxRyzen 7 1700NA0.9.49.12.5424.1284.6328.1713.6765.636
LinuxRyzen 7 1700NA0.9.49.22.7234.4784.8627.6183.5795.574
LinuxRyzen 7 1700NA0.9.49.32.6434.3747.02011.1245.3887.365
LinuxRyzen 7 1700NA0.9.49.42.6354.2594.7377.7633.4275.626
LinuxRyzen 7 1700NA0.9.50.20.7771.2361.3322.8722.0692.987
LinuxRyzen 7 1700NA0.9.50.30.8581.2641.3332.9842.1133.073
LinuxRyzen 7 1700NA0.9.50.40.7831.2821.4863.8151.9583.105
LinuxRyzen 7 1700NA1.0.30.7631.2441.4573.0541.9232.839
LinuxRyzen 7 1700NA1.0.40.7851.2521.4663.0911.9362.826
LinuxRyzen 7 17004.1.31.1.00.7441.2271.2883.5531.8952.738
LinuxRyzen 7 17004.2.11.1.03.0184.1655.03610.8446.6239.722
Linuxi7-4710MQ4.2.11.1.02.5223.7924.14311.2685.9358.728
Linuxi7-4710MQ4.1.31.1.00.9071.5351.5894.5442.3023.463
Linuxi7-4710MQ4.2.11.1.10.6781.0951.1493.2471.6582.472
LinuxRyzen 7 17004.2.11.1.10.6961.1241.3212.7861.7442.566
LinuxRyzen 7 17004.2.11.1.20.8611.2951.5073.1021.9612.852
LinuxRyzen 7 17004.2.21.2.00.9131.3451.5393.0111.9872.802
LinuxRyzen 7 17004.2.21.2.20.9351.3811.5513.2091.9763.013
LinuxRyzen 9 7950X4.2.21.2.00.4450.5910.6601.1900.8141.100
LinuxRyzen 9 7950X4.2.21.2.20.4430.5860.6611.1760.8031.097
LinuxRyzen 9 7950X4.2.21.2.30.4180.5300.5911.0060.7160.949
LinuxRyzen 9 7950X4.2.31.2.30.4320.5510.6161.0390.7340.981
-
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.css b/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.css deleted file mode 100644 index 07aee5fc..00000000 --- a/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.css +++ /dev/null @@ -1,4 +0,0 @@ -/* Styles for section anchors */ -a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} -a.anchor-section::before {content: '#';} -.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.js b/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.js deleted file mode 100644 index 570f99a0..00000000 --- a/docs/dev/articles/web_only/benchmarks_files/anchor-sections-1.0/anchor-sections.js +++ /dev/null @@ -1,33 +0,0 @@ -// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. -document.addEventListener('DOMContentLoaded', function() { - // Do nothing if AnchorJS is used - if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { - return; - } - - const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); - - // Do nothing if sections are already anchored - if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { - return null; - } - - // Use section id when pandoc runs with --section-divs - const section_id = function(x) { - return ((x.classList.contains('section') || (x.tagName === 'SECTION')) - ? x.id : ''); - }; - - // Add anchors - h.forEach(function(x) { - const id = x.id || section_id(x.parentElement); - if (id === '') { - return null; - } - let anchor = document.createElement('a'); - anchor.href = '#' + id; - anchor.classList = ['anchor-section']; - x.classList.add('hasAnchor'); - x.appendChild(anchor); - }); -}); diff --git a/docs/dev/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js b/docs/dev/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/compiled_models.html b/docs/dev/articles/web_only/compiled_models.html deleted file mode 100644 index e7905860..00000000 --- a/docs/dev/articles/web_only/compiled_models.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - -Performance benefit by using compiled model definitions in mkin • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -
-

How to benefit from compiled models -

-

When using an mkin version equal to or greater than 0.9-36 and a C -compiler is available, you will see a message that the model is being -compiled from autogenerated C code when defining a model using mkinmod. -Starting from version 0.9.49.9, the mkinmod() function -checks for presence of a compiler using

-
-pkgbuild::has_compiler()
-

In previous versions, it used Sys.which("gcc") for this -check.

-

On Linux, you need to have the essential build tools like make and -gcc or clang installed. On Debian based linux distributions, these will -be pulled in by installing the build-essential package.

-

On MacOS, which I do not use personally, I have had reports that a -compiler is available by default.

-

On Windows, you need to install Rtools and have the path to its bin -directory in your PATH variable. You do not need to modify the PATH -variable when installing Rtools. Instead, I would recommend to put the -line

-
-Sys.setenv(PATH = paste("C:/Rtools/bin", Sys.getenv("PATH"), sep=";"))
-

into your .Rprofile startup file. This is just a text file with some -R code that is executed when your R session starts. It has to be named -.Rprofile and has to be located in your home directory, which will -generally be your Documents folder. You can check the location of the -home directory used by R by issuing

-
-Sys.getenv("HOME")
-
-
-

Comparison with other solution methods -

-

First, we build a simple degradation model for a parent compound with -one metabolite, and we remove zero values from the dataset.

-
-library("mkin", quietly = TRUE)
-SFO_SFO <- mkinmod(
-  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.

-
-if (require(rbenchmark)) {
-  b.1 <- benchmark(
-    "deSolve, not compiled" = mkinfit(SFO_SFO, FOCUS_D,
-       solution_type = "deSolve",
-       use_compiled = FALSE, quiet = TRUE),
-    "Eigenvalue based" = mkinfit(SFO_SFO, FOCUS_D,
-       solution_type = "eigen", quiet = TRUE),
-    "deSolve, compiled" = mkinfit(SFO_SFO, FOCUS_D,
-       solution_type = "deSolve", quiet = TRUE),
-    "analytical" = mkinfit(SFO_SFO, FOCUS_D,
-       solution_type = "analytical",
-       use_compiled = FALSE, quiet = TRUE),
-    replications = 1, order = "relative",
-    columns = c("test", "replications", "relative", "elapsed"))
-  print(b.1)
-} else {
-  print("R package rbenchmark is not available")
-}
-
##                    test replications relative elapsed
-## 4            analytical            1    1.000   0.105
-## 3     deSolve, compiled            1    1.276   0.134
-## 2      Eigenvalue based            1    1.762   0.185
-## 1 deSolve, not compiled            1   21.914   2.301
-

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

-
-
-

Model without analytical solution -

-

This evaluation is also taken from the example section of mkinfit. No -analytical solution is available for this system, and now Eigenvalue -based solution is possible, so only deSolve using with or without -compiled code is available.

-
-if (require(rbenchmark)) {
-  FOMC_SFO <- mkinmod(
-    parent = mkinsub("FOMC", "m1"),
-    m1 = mkinsub( "SFO"))
-
-  b.2 <- benchmark(
-    "deSolve, not compiled" = mkinfit(FOMC_SFO, FOCUS_D,
-                                      use_compiled = FALSE, quiet = TRUE),
-    "deSolve, compiled" = mkinfit(FOMC_SFO, FOCUS_D, quiet = TRUE),
-    replications = 1, order = "relative",
-    columns = c("test", "replications", "relative", "elapsed"))
-  print(b.2)
-  factor_FOMC_SFO <- round(b.2["1", "relative"])
-} else {
-  factor_FOMC_SFO <- NA
-  print("R package benchmark is not available")
-}
-
## Temporary DLL for differentials generated and loaded
-
##                    test replications relative elapsed
-## 2     deSolve, compiled            1    1.000   0.176
-## 1 deSolve, not compiled            1   23.938   4.213
-

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

-

This vignette was built with mkin 1.2.3 on

-
## R version 4.2.3 (2023-03-15)
-## Platform: x86_64-pc-linux-gnu (64-bit)
-## Running under: Debian GNU/Linux 12 (bookworm)
-
## CPU model: AMD Ryzen 9 7950X 16-Core Processor
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/compiled_models_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/compiled_models_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/compiled_models_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.css b/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.css deleted file mode 100644 index 07aee5fc..00000000 --- a/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.css +++ /dev/null @@ -1,4 +0,0 @@ -/* Styles for section anchors */ -a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} -a.anchor-section::before {content: '#';} -.hasAnchor:hover a.anchor-section {visibility: visible;} diff --git a/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.js b/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.js deleted file mode 100644 index 570f99a0..00000000 --- a/docs/dev/articles/web_only/compiled_models_files/anchor-sections-1.0/anchor-sections.js +++ /dev/null @@ -1,33 +0,0 @@ -// Anchor sections v1.0 written by Atsushi Yasumoto on Oct 3rd, 2020. -document.addEventListener('DOMContentLoaded', function() { - // Do nothing if AnchorJS is used - if (typeof window.anchors === 'object' && anchors.hasOwnProperty('hasAnchorJSLink')) { - return; - } - - const h = document.querySelectorAll('h1, h2, h3, h4, h5, h6'); - - // Do nothing if sections are already anchored - if (Array.from(h).some(x => x.classList.contains('hasAnchor'))) { - return null; - } - - // Use section id when pandoc runs with --section-divs - const section_id = function(x) { - return ((x.classList.contains('section') || (x.tagName === 'SECTION')) - ? x.id : ''); - }; - - // Add anchors - h.forEach(function(x) { - const id = x.id || section_id(x.parentElement); - if (id === '') { - return null; - } - let anchor = document.createElement('a'); - anchor.href = '#' + id; - anchor.classList = ['anchor-section']; - x.classList.add('hasAnchor'); - x.appendChild(anchor); - }); -}); diff --git a/docs/dev/articles/web_only/compiled_models_files/header-attrs-2.6/header-attrs.js b/docs/dev/articles/web_only/compiled_models_files/header-attrs-2.6/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/compiled_models_files/header-attrs-2.6/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/dimethenamid_2018.html b/docs/dev/articles/web_only/dimethenamid_2018.html deleted file mode 100644 index eb4a11a5..00000000 --- a/docs/dev/articles/web_only/dimethenamid_2018.html +++ /dev/null @@ -1,710 +0,0 @@ - - - - - - - -Example evaluations of the dimethenamid data from 2018 • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -

Wissenschaftlicher Berater, Kronacher -Str. 12, 79639 Grenzach-Wyhlen, Germany

-
-

Introduction -

-

A first analysis of the data analysed here was presented in a recent -journal article on nonlinear mixed-effects models in degradation -kinetics (Ranke et al. 2021). That -analysis was based on the nlme package and a development -version of the saemix package that was unpublished at the -time. Meanwhile, version 3.0 of the saemix package is -available from the CRAN repository. Also, it turned out that there was -an error in the handling of the Borstel data in the mkin package at the -time, leading to the duplication of a few data points from that soil. -The dataset in the mkin package has been corrected, and the interface to -saemix in the mkin package has been updated to use the -released version.

-

This vignette is intended to present an up to date analysis of the -data, using the corrected dataset and released versions of -mkin and saemix.

-
-
-

Data -

-

Residue data forming the basis for the endpoints derived in the -conclusion on the peer review of the pesticide risk assessment of -dimethenamid-P published by the European Food Safety Authority (EFSA) in -2018 (EFSA 2018) were transcribed from the -risk assessment report (Rapporteur Member State -Germany, Co-Rapporteur Member State Bulgaria 2018) which can be -downloaded from the Open EFSA repository https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716.

-

The data are available -in the mkin package. The following code (hidden by default, please -use the button to the right to show it) treats the data available for -the racemic mixture dimethenamid (DMTA) and its enantiomer -dimethenamid-P (DMTAP) in the same way, as no difference between their -degradation behaviour was identified in the EU risk assessment. The -observation times of each dataset are multiplied with the corresponding -normalisation factor also available in the dataset, in order to make it -possible to describe all datasets with a single set of parameters.

-

Also, datasets observed in the same soil are merged, resulting in -dimethenamid (DMTA) data from six soils.

-
-library(mkin, quietly = TRUE)
-dmta_ds <- lapply(1:7, function(i) {
-  ds_i <- dimethenamid_2018$ds[[i]]$data
-  ds_i[ds_i$name == "DMTAP", "name"] <-  "DMTA"
-  ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
-  ds_i
-})
-names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
-dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
-dmta_ds[["Elliot 1"]] <- NULL
-dmta_ds[["Elliot 2"]] <- NULL
-
-
-

Parent degradation -

-

We evaluate the observed degradation of the parent compound using -simple exponential decline (SFO) and biexponential decline (DFOP), using -constant variance (const) and a two-component variance (tc) as error -models.

-
-

Separate evaluations -

-

As a first step, to get a visual impression of the fit of the -different models, we do separate evaluations for each soil using the -mmkin function from the mkin package:

-
-f_parent_mkin_const <- mmkin(c("SFO", "DFOP"), dmta_ds,
-  error_model = "const", quiet = TRUE)
-f_parent_mkin_tc <- mmkin(c("SFO", "DFOP"), dmta_ds,
-  error_model = "tc", quiet = TRUE)
-

The plot of the individual SFO fits shown below suggests that at -least in some datasets the degradation slows down towards later time -points, and that the scatter of the residuals error is smaller for -smaller values (panel to the right):

-
-plot(mixed(f_parent_mkin_const["SFO", ]))
-

-

Using biexponential decline (DFOP) results in a slightly more random -scatter of the residuals:

-
-plot(mixed(f_parent_mkin_const["DFOP", ]))
-

-

The population curve (bold line) in the above plot results from -taking the mean of the individual transformed parameters, i.e. of log k1 -and log k2, as well as of the logit of the g parameter of the DFOP -model). Here, this procedure does not result in parameters that -represent the degradation well, because in some datasets the fitted -value for k2 is extremely close to zero, leading to a log k2 value that -dominates the average. This is alleviated if only rate constants that -pass the t-test for significant difference from zero (on the -untransformed scale) are considered in the averaging:

-
-plot(mixed(f_parent_mkin_const["DFOP", ]), test_log_parms = TRUE)
-

-

While this is visually much more satisfactory, such an average -procedure could introduce a bias, as not all results from the individual -fits enter the population curve with the same weight. This is where -nonlinear mixed-effects models can help out by treating all datasets -with equally by fitting a parameter distribution model together with the -degradation model and the error model (see below).

-

The remaining trend of the residuals to be higher for higher -predicted residues is reduced by using the two-component error -model:

-
-plot(mixed(f_parent_mkin_tc["DFOP", ]), test_log_parms = TRUE)
-

-

However, note that in the case of using this error model, the fits to -the Flaach and BBA 2.3 datasets appear to be ill-defined, indicated by -the fact that they did not converge:

-
-print(f_parent_mkin_tc["DFOP", ])
-
<mmkin> object
-Status of individual fits:
-
-      dataset
-model  Calke Borstel Flaach BBA 2.2 BBA 2.3 Elliot
-  DFOP OK    OK      C      OK      C       OK    
-
-C: Optimisation did not converge:
-iteration limit reached without convergence (10)
-OK: No warnings
-
-
-

Nonlinear mixed-effects models -

-

Instead of taking a model selection decision for each of the -individual fits, we fit nonlinear mixed-effects models (using different -fitting algorithms as implemented in different packages) and do model -selection using all available data at the same time. In order to make -sure that these decisions are not unduly influenced by the type of -algorithm used, by implementation details or by the use of wrong control -parameters, we compare the model selection results obtained with -different R packages, with different algorithms and checking control -parameters.

-
-

nlme -

-

The nlme package was the first R extension providing facilities to -fit nonlinear mixed-effects models. We would like to do model selection -from all four combinations of degradation models and error models based -on the AIC. However, fitting the DFOP model with constant variance and -using default control parameters results in an error, signalling that -the maximum number of 50 iterations was reached, potentially indicating -overparameterisation. Nevertheless, the algorithm converges when the -two-component error model is used in combination with the DFOP model. -This can be explained by the fact that the smaller residues observed at -later sampling times get more weight when using the two-component error -model which will counteract the tendency of the algorithm to try -parameter combinations unsuitable for fitting these data.

-
-library(nlme)
-f_parent_nlme_sfo_const <- nlme(f_parent_mkin_const["SFO", ])
-# f_parent_nlme_dfop_const <- nlme(f_parent_mkin_const["DFOP", ])
-f_parent_nlme_sfo_tc <- nlme(f_parent_mkin_tc["SFO", ])
-f_parent_nlme_dfop_tc <- nlme(f_parent_mkin_tc["DFOP", ])
-

Note that a certain degree of overparameterisation is also indicated -by a warning obtained when fitting DFOP with the two-component error -model (‘false convergence’ in the ‘LME step’ in iteration 3). However, -as this warning does not occur in later iterations, and specifically not -in the last of the 5 iterations, we can ignore this warning.

-

The model comparison function of the nlme package can directly be -applied to these fits showing a much lower AIC for the DFOP model fitted -with the two-component error model. Also, the likelihood ratio test -indicates that this difference is significant as the p-value is below -0.0001.

-
-anova(
-  f_parent_nlme_sfo_const, f_parent_nlme_sfo_tc, f_parent_nlme_dfop_tc
-)
-
                        Model df    AIC    BIC  logLik   Test L.Ratio p-value
-f_parent_nlme_sfo_const     1  5 796.60 811.82 -393.30                       
-f_parent_nlme_sfo_tc        2  6 798.60 816.86 -393.30 1 vs 2    0.00   0.998
-f_parent_nlme_dfop_tc       3 10 671.91 702.34 -325.96 2 vs 3  134.69  <.0001
-

In addition to these fits, attempts were also made to include -correlations between random effects by using the log Cholesky -parameterisation of the matrix specifying them. The code used for these -attempts can be made visible below.

-
-f_parent_nlme_sfo_const_logchol <- nlme(f_parent_mkin_const["SFO", ],
-  random = nlme::pdLogChol(list(DMTA_0 ~ 1, log_k_DMTA ~ 1)))
-anova(f_parent_nlme_sfo_const, f_parent_nlme_sfo_const_logchol)
-f_parent_nlme_sfo_tc_logchol <- nlme(f_parent_mkin_tc["SFO", ],
-  random = nlme::pdLogChol(list(DMTA_0 ~ 1, log_k_DMTA ~ 1)))
-anova(f_parent_nlme_sfo_tc, f_parent_nlme_sfo_tc_logchol)
-f_parent_nlme_dfop_tc_logchol <- nlme(f_parent_mkin_const["DFOP", ],
-  random = nlme::pdLogChol(list(DMTA_0 ~ 1, log_k1 ~ 1, log_k2 ~ 1, g_qlogis ~ 1)))
-anova(f_parent_nlme_dfop_tc, f_parent_nlme_dfop_tc_logchol)
-

While the SFO variants converge fast, the additional parameters -introduced by this lead to convergence warnings for the DFOP model. The -model comparison clearly show that adding correlations between random -effects does not improve the fits.

-

The selected model (DFOP with two-component error) fitted to the data -assuming no correlations between random effects is shown below.

-
-plot(f_parent_nlme_dfop_tc)
-

-
-
-

saemix -

-

The saemix package provided the first Open Source implementation of -the Stochastic Approximation to the Expectation Maximisation (SAEM) -algorithm. SAEM fits of degradation models can be conveniently performed -using an interface to the saemix package available in current -development versions of the mkin package.

-

The corresponding SAEM fits of the four combinations of degradation -and error models are fitted below. As there is no convergence criterion -implemented in the saemix package, the convergence plots need to be -manually checked for every fit. We define control settings that work -well for all the parent data fits shown in this vignette.

-
-library(saemix)
-saemix_control <- saemixControl(nbiter.saemix = c(800, 300), nb.chains = 15,
-    print = FALSE, save = FALSE, save.graphs = FALSE, displayProgress = FALSE)
-saemix_control_moreiter <- saemixControl(nbiter.saemix = c(1600, 300), nb.chains = 15,
-    print = FALSE, save = FALSE, save.graphs = FALSE, displayProgress = FALSE)
-saemix_control_10k <- saemixControl(nbiter.saemix = c(10000, 300), nb.chains = 15,
-    print = FALSE, save = FALSE, save.graphs = FALSE, displayProgress = FALSE)
-

The convergence plot for the SFO model using constant variance is -shown below.

-
-f_parent_saemix_sfo_const <- mkin::saem(f_parent_mkin_const["SFO", ], quiet = TRUE,
-  control = saemix_control, transformations = "saemix")
-plot(f_parent_saemix_sfo_const$so, plot.type = "convergence")
-

-

Obviously the selected number of iterations is sufficient to reach -convergence. This can also be said for the SFO fit using the -two-component error model.

-
-f_parent_saemix_sfo_tc <- mkin::saem(f_parent_mkin_tc["SFO", ], quiet = TRUE,
-  control = saemix_control, transformations = "saemix")
-plot(f_parent_saemix_sfo_tc$so, plot.type = "convergence")
-

-

When fitting the DFOP model with constant variance (see below), -parameter convergence is not as unambiguous.

-
-f_parent_saemix_dfop_const <- mkin::saem(f_parent_mkin_const["DFOP", ], quiet = TRUE,
-  control = saemix_control, transformations = "saemix")
-plot(f_parent_saemix_dfop_const$so, plot.type = "convergence")
-

-
-print(f_parent_saemix_dfop_const)
-
Kinetic nonlinear mixed-effects model fit by SAEM
-Structural model:
-d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
-           time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time)))
-           * DMTA
-
-Data:
-155 observations of 1 variable(s) grouped in 6 datasets
-
-Likelihood computed by importance sampling
-  AIC BIC logLik
-  706 704   -344
-
-Fitted parameters:
-          estimate    lower   upper
-DMTA_0    97.99583 96.50079 99.4909
-k1         0.06377  0.03432  0.0932
-k2         0.00848  0.00444  0.0125
-g          0.95701  0.91313  1.0009
-a.1        1.82141  1.65122  1.9916
-SD.DMTA_0  1.64787  0.45772  2.8380
-SD.k1      0.57439  0.24731  0.9015
-SD.k2      0.03296 -2.50195  2.5679
-SD.g       1.10266  0.32369  1.8816
-

While the other parameters converge to credible values, the variance -of k2 (omega2.k2) converges to a very small value. The -printout of the saem.mmkin model shows that the estimated -standard deviation of k2 across the population of soils -(SD.k2) is ill-defined, indicating overparameterisation of -this model.

-

When the DFOP model is fitted with the two-component error model, we -also observe that the estimated variance of k2 becomes very small, while -being ill-defined, as illustrated by the excessive confidence interval -of SD.k2.

-
-f_parent_saemix_dfop_tc <- mkin::saem(f_parent_mkin_tc["DFOP", ], quiet = TRUE,
-  control = saemix_control, transformations = "saemix")
-f_parent_saemix_dfop_tc_moreiter <- mkin::saem(f_parent_mkin_tc["DFOP", ], quiet = TRUE,
-  control = saemix_control_moreiter, transformations = "saemix")
-plot(f_parent_saemix_dfop_tc$so, plot.type = "convergence")
-

-
-print(f_parent_saemix_dfop_tc)
-
Kinetic nonlinear mixed-effects model fit by SAEM
-Structural model:
-d_DMTA/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
-           time)) / (g * exp(-k1 * time) + (1 - g) * exp(-k2 * time)))
-           * DMTA
-
-Data:
-155 observations of 1 variable(s) grouped in 6 datasets
-
-Likelihood computed by importance sampling
-  AIC BIC logLik
-  666 664   -323
-
-Fitted parameters:
-          estimate    lower    upper
-DMTA_0    98.27617  96.3088 100.2436
-k1         0.06437   0.0337   0.0950
-k2         0.00880   0.0063   0.0113
-g          0.95249   0.9100   0.9949
-a.1        1.06161   0.8625   1.2607
-b.1        0.02967   0.0226   0.0367
-SD.DMTA_0  2.06075   0.4187   3.7028
-SD.k1      0.59357   0.2561   0.9310
-SD.k2      0.00292 -10.2960  10.3019
-SD.g       1.05725   0.3808   1.7337
-

Doubling the number of iterations in the first phase of the algorithm -leads to a slightly lower likelihood, and therefore to slightly higher -AIC and BIC values. With even more iterations, the algorithm stops with -an error message. This is related to the variance of k2 approximating -zero and has been submitted as a bug -to the saemix package, as the algorithm does not converge in this -case.

-

An alternative way to fit DFOP in combination with the two-component -error model is to use the model formulation with transformed parameters -as used per default in mkin. When using this option, convergence is -slower, but eventually the algorithm stops as well with the same error -message.

-

The four combinations (SFO/const, SFO/tc, DFOP/const and DFOP/tc) and -the version with increased iterations can be compared using the model -comparison function of the saemix package:

-
-AIC_parent_saemix <- saemix::compare.saemix(
-  f_parent_saemix_sfo_const$so,
-  f_parent_saemix_sfo_tc$so,
-  f_parent_saemix_dfop_const$so,
-  f_parent_saemix_dfop_tc$so,
-  f_parent_saemix_dfop_tc_moreiter$so)
-
Likelihoods calculated by importance sampling
-
-rownames(AIC_parent_saemix) <- c(
-  "SFO const", "SFO tc", "DFOP const", "DFOP tc", "DFOP tc more iterations")
-print(AIC_parent_saemix)
-
                           AIC    BIC
-SFO const               796.38 795.34
-SFO tc                  798.38 797.13
-DFOP const              705.75 703.88
-DFOP tc                 665.65 663.57
-DFOP tc more iterations 665.88 663.80
-

In order to check the influence of the likelihood calculation -algorithms implemented in saemix, the likelihood from Gaussian -quadrature is added to the best fit, and the AIC values obtained from -the three methods are compared.

-
-f_parent_saemix_dfop_tc$so <-
-  saemix::llgq.saemix(f_parent_saemix_dfop_tc$so)
-AIC_parent_saemix_methods <- c(
-  is = AIC(f_parent_saemix_dfop_tc$so, method = "is"),
-  gq = AIC(f_parent_saemix_dfop_tc$so, method = "gq"),
-  lin = AIC(f_parent_saemix_dfop_tc$so, method = "lin")
-)
-print(AIC_parent_saemix_methods)
-
    is     gq    lin 
-665.65 665.68 665.11 
-

The AIC values based on importance sampling and Gaussian quadrature -are very similar. Using linearisation is known to be less accurate, but -still gives a similar value.

-

In order to illustrate that the comparison of the three method -depends on the degree of convergence obtained in the fit, the same -comparison is shown below for the fit using the defaults for the number -of iterations and the number of MCMC chains.

-

When using OpenBlas for linear algebra, there is a large difference -in the values obtained with Gaussian quadrature, so the larger number of -iterations makes a lot of difference. When using the LAPACK version -coming with Debian Bullseye, the AIC based on Gaussian quadrature is -almost the same as the one obtained with the other methods, also when -using defaults for the fit.

-
-f_parent_saemix_dfop_tc_defaults <- mkin::saem(f_parent_mkin_tc["DFOP", ])
-f_parent_saemix_dfop_tc_defaults$so <-
-  saemix::llgq.saemix(f_parent_saemix_dfop_tc_defaults$so)
-AIC_parent_saemix_methods_defaults <- c(
-  is = AIC(f_parent_saemix_dfop_tc_defaults$so, method = "is"),
-  gq = AIC(f_parent_saemix_dfop_tc_defaults$so, method = "gq"),
-  lin = AIC(f_parent_saemix_dfop_tc_defaults$so, method = "lin")
-)
-print(AIC_parent_saemix_methods_defaults)
-
    is     gq    lin 
-669.77 669.36 670.95 
-
-
-
-

Comparison -

-

The following table gives the AIC values obtained with both backend -packages using the same control parameters (800 iterations burn-in, 300 -iterations second phase, 15 chains).

-
-AIC_all <- data.frame(
-  check.names = FALSE,
-  "Degradation model" = c("SFO", "SFO", "DFOP", "DFOP"),
-  "Error model" = c("const", "tc", "const", "tc"),
-  nlme = c(AIC(f_parent_nlme_sfo_const), AIC(f_parent_nlme_sfo_tc), NA, AIC(f_parent_nlme_dfop_tc)),
-  saemix_lin = sapply(list(f_parent_saemix_sfo_const$so, f_parent_saemix_sfo_tc$so,
-    f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc$so), AIC, method = "lin"),
-  saemix_is = sapply(list(f_parent_saemix_sfo_const$so, f_parent_saemix_sfo_tc$so,
-    f_parent_saemix_dfop_const$so, f_parent_saemix_dfop_tc$so), AIC, method = "is")
-)
-kable(AIC_all)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Degradation modelError modelnlmesaemix_linsaemix_is
SFOconst796.60796.60796.38
SFOtc798.60798.60798.38
DFOPconstNA709.26705.75
DFOPtc671.91665.11665.65
-
-
-
-

Conclusion -

-

A more detailed analysis of the dimethenamid dataset confirmed that -the DFOP model provides the most appropriate description of the decline -of the parent compound in these data. On the other hand, closer -inspection of the results revealed that the variability of the k2 -parameter across the population of soils is ill-defined. This coincides -with the observation that this parameter cannot robustly be quantified -for some of the soils.

-

Regarding the regulatory use of these data, it is claimed that an -improved characterisation of the mean parameter values across the -population is obtained using the nonlinear mixed-effects models -presented here. However, attempts to quantify the variability of the -slower rate constant of the biphasic decline of dimethenamid indicate -that the data are not sufficient to characterise this variability to a -satisfactory precision.

-
-
-

Session Info -

- -
R version 4.2.3 (2023-03-15)
-Platform: x86_64-pc-linux-gnu (64-bit)
-Running under: Debian GNU/Linux 12 (bookworm)
-
-Matrix products: default
-BLAS:   /usr/lib/x86_64-linux-gnu/openblas-serial/libblas.so.3
-LAPACK: /usr/lib/x86_64-linux-gnu/openblas-serial/libopenblas-r0.3.21.so
-
-locale:
- [1] LC_CTYPE=de_DE.UTF-8       LC_NUMERIC=C              
- [3] LC_TIME=C                  LC_COLLATE=de_DE.UTF-8    
- [5] LC_MONETARY=de_DE.UTF-8    LC_MESSAGES=de_DE.UTF-8   
- [7] LC_PAPER=de_DE.UTF-8       LC_NAME=C                 
- [9] LC_ADDRESS=C               LC_TELEPHONE=C            
-[11] LC_MEASUREMENT=de_DE.UTF-8 LC_IDENTIFICATION=C       
-
-attached base packages:
-[1] stats     graphics  grDevices utils     datasets  methods   base     
-
-other attached packages:
-[1] saemix_3.2   npde_3.3     nlme_3.1-162 mkin_1.2.3   knitr_1.42  
-
-loaded via a namespace (and not attached):
- [1] highr_0.10        pillar_1.9.0      bslib_0.4.2       compiler_4.2.3   
- [5] jquerylib_0.1.4   tools_4.2.3       mclust_6.0.0      digest_0.6.31    
- [9] tibble_3.2.1      jsonlite_1.8.4    evaluate_0.20     memoise_2.0.1    
-[13] lifecycle_1.0.3   gtable_0.3.3      lattice_0.21-8    pkgconfig_2.0.3  
-[17] rlang_1.1.0       DBI_1.1.3         cli_3.6.1         yaml_2.3.7       
-[21] parallel_4.2.3    pkgdown_2.0.7     xfun_0.38         fastmap_1.1.1    
-[25] gridExtra_2.3     dplyr_1.1.1       stringr_1.5.0     generics_0.1.3   
-[29] desc_1.4.2        fs_1.6.1          vctrs_0.6.1       sass_0.4.5       
-[33] systemfonts_1.0.4 tidyselect_1.2.0  rprojroot_2.0.3   lmtest_0.9-40    
-[37] grid_4.2.3        glue_1.6.2        R6_2.5.1          textshaping_0.3.6
-[41] fansi_1.0.4       rmarkdown_2.21    purrr_1.0.1       ggplot2_3.4.2    
-[45] magrittr_2.0.3    codetools_0.2-19  scales_1.2.1      htmltools_0.5.5  
-[49] colorspace_2.1-0  ragg_1.2.5        utf8_1.2.3        stringi_1.7.12   
-[53] munsell_0.5.0     cachem_1.0.7      zoo_1.8-12       
-
-
-

References -

- -
-
-EFSA. 2018. “Peer Review of the Pesticide Risk Assessment of the -Active Substance Dimethenamid-p.” EFSA Journal 16: 5211. -
-
-Ranke, Johannes, Janina Wöltjen, Jana Schmidt, and Emmanuelle Comets. -2021. “Taking Kinetic Evaluations of Degradation Data to the Next -Level with Nonlinear Mixed-Effects Models.” Environments -8 (8). https://doi.org/10.3390/environments8080071. -
-
-Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria. -2018. Renewal Assessment Report -Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour, Rev. 2 - -November 2017.” https://open.efsa.europa.eu/study-inventory/EFSA-Q-2014-00716. -
-
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png deleted file mode 100644 index 505072ce..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png deleted file mode 100644 index 505072ce..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_const_test-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png deleted file mode 100644 index 0dd4da39..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_dfop_tc_test-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png deleted file mode 100644 index 0ed7448d..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_mkin_sfo_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png deleted file mode 100644 index 88089aaf..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png deleted file mode 100644 index efc37a5f..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_10k-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_10k-1.png deleted file mode 100644 index ab2b1b2d..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_10k-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_1k-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_1k-1.png deleted file mode 100644 index 70987378..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_dfop_tc_1k-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png deleted file mode 100644 index de0a0ded..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png deleted file mode 100644 index 0b7f5090..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_nlmixr_saem_sfo_tc-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png deleted file mode 100644 index 84a6fc92..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc-1.png deleted file mode 100644 index d154dc9b..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_10k-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_10k-1.png deleted file mode 100644 index 0975126f..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_10k-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin-1.png deleted file mode 100644 index 9a6547a2..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_10k-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_10k-1.png deleted file mode 100644 index ae8c1555..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_10k-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_moreiter-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_moreiter-1.png deleted file mode 100644 index 30ee4ea0..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_mkin_moreiter-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png deleted file mode 100644 index 1c8fc837..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_dfop_tc_moreiter-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png deleted file mode 100644 index 7862fc65..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_const-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png deleted file mode 100644 index d941f3e6..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/f_parent_saemix_sfo_tc-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png b/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png deleted file mode 100644 index a799b14c..00000000 Binary files a/docs/dev/articles/web_only/dimethenamid_2018_files/figure-html/plot_parent_nlme-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.11/header-attrs.js b/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.11/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.11/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js b/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js deleted file mode 100644 index dd57d92e..00000000 --- a/docs/dev/articles/web_only/dimethenamid_2018_files/header-attrs-2.9/header-attrs.js +++ /dev/null @@ -1,12 +0,0 @@ -// Pandoc 2.9 adds attributes on both header and div. We remove the former (to -// be compatible with the behavior of Pandoc < 2.8). -document.addEventListener('DOMContentLoaded', function(e) { - var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); - var i, h, a; - for (i = 0; i < hs.length; i++) { - h = hs[i]; - if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 - a = h.attributes; - while (a.length > 0) h.removeAttribute(a[0].name); - } -}); diff --git a/docs/dev/articles/web_only/multistart.html b/docs/dev/articles/web_only/multistart.html deleted file mode 100644 index 2de5059c..00000000 --- a/docs/dev/articles/web_only/multistart.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - -Short demo of the multistart method • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -

The dimethenamid data from 2018 from seven soils is used as example -data in this vignette.

-
-library(mkin)
-dmta_ds <- lapply(1:7, function(i) {
-  ds_i <- dimethenamid_2018$ds[[i]]$data
-  ds_i[ds_i$name == "DMTAP", "name"] <-  "DMTA"
-  ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
-  ds_i
-})
-names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
-dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
-dmta_ds[["Elliot 1"]] <- dmta_ds[["Elliot 2"]] <- NULL
-

First, we check the DFOP model with the two-component error model and -random effects for all degradation parameters.

-
-f_mmkin <- mmkin("DFOP", dmta_ds, error_model = "tc", cores = 7, quiet = TRUE)
-f_saem_full <- saem(f_mmkin)
-illparms(f_saem_full)
-
## [1] "sd(log_k2)"
-

We see that not all variability parameters are identifiable. The -illparms function tells us that the confidence interval for -the standard deviation of ‘log_k2’ includes zero. We check this -assessment using multiple runs with different starting values.

-
-f_saem_full_multi <- multistart(f_saem_full, n = 16, cores = 16)
-parplot(f_saem_full_multi, lpos = "topleft")
-

-

This confirms that the variance of k2 is the most problematic -parameter, so we reduce the parameter distribution model by removing the -intersoil variability for k2.

-
-f_saem_reduced <- stats::update(f_saem_full, no_random_effect = "log_k2")
-illparms(f_saem_reduced)
-f_saem_reduced_multi <- multistart(f_saem_reduced, n = 16, cores = 16)
-parplot(f_saem_reduced_multi, lpos = "topright", ylim = c(0.5, 2))
-

-

The results confirm that all remaining parameters can be determined -with sufficient certainty.

-

We can also analyse the log-likelihoods obtained in the multiple -runs:

-
-llhist(f_saem_reduced_multi)
-

-

We can use the anova method to compare the models.

-
-anova(f_saem_full, best(f_saem_full_multi),
-  f_saem_reduced, best(f_saem_reduced_multi), test = TRUE)
-
## Data: 155 observations of 1 variable(s) grouped in 6 datasets
-## 
-##                            npar    AIC    BIC     Lik  Chisq Df Pr(>Chisq)
-## f_saem_reduced                9 663.73 661.86 -322.86                     
-## best(f_saem_reduced_multi)    9 663.69 661.82 -322.85 0.0361  0           
-## f_saem_full                  10 669.77 667.69 -324.89 0.0000  1          1
-## best(f_saem_full_multi)      10 665.56 663.48 -322.78 4.2060  0
-

The reduced model results in lower AIC and BIC values, so it is -clearly preferable. Using multiple starting values gives a large -improvement in case of the full model, because it is less well-defined, -which impedes convergence. For the reduced model, using multiple -starting values only results in a small improvement of the model -fit.

-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/multistart_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png deleted file mode 100644 index e3baa59b..00000000 Binary files a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-2-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png deleted file mode 100644 index 1ef2ba24..00000000 Binary files a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-3-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png deleted file mode 100644 index b1582557..00000000 Binary files a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-4-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png deleted file mode 100644 index f0270537..00000000 Binary files a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-5-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png b/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png deleted file mode 100644 index b1582557..00000000 Binary files a/docs/dev/articles/web_only/multistart_files/figure-html/unnamed-chunk-6-1.png and /dev/null differ diff --git a/docs/dev/articles/web_only/saem_benchmarks.html b/docs/dev/articles/web_only/saem_benchmarks.html deleted file mode 100644 index 66740a11..00000000 --- a/docs/dev/articles/web_only/saem_benchmarks.html +++ /dev/null @@ -1,639 +0,0 @@ - - - - - - - -Benchmark timings for saem.mmkin • mkin - - - - - - - - - - - - - -
-
- - - - -
-
- - - - -

Each system is characterized by operating system type, CPU type, mkin -version, saemix version and R version. A compiler was available, so if -no analytical solution was available, compiled ODE models are used.

-

Every fit is only performed once, so the accuracy of the benchmarks -is limited.

-

For the initial mmkin fits, we use all available cores.

-
-n_cores <- parallel::detectCores()
-
-

Test data -

-

Please refer to the vignette dimethenamid_2018 for an -explanation of the following preprocessing.

-
-dmta_ds <- lapply(1:7, function(i) {
-  ds_i <- dimethenamid_2018$ds[[i]]$data
-  ds_i[ds_i$name == "DMTAP", "name"] <-  "DMTA"
-  ds_i$time <- ds_i$time * dimethenamid_2018$f_time_norm[i]
-  ds_i
-})
-names(dmta_ds) <- sapply(dimethenamid_2018$ds, function(ds) ds$title)
-dmta_ds[["Elliot"]] <- rbind(dmta_ds[["Elliot 1"]], dmta_ds[["Elliot 2"]])
-dmta_ds[["Elliot 1"]] <- NULL
-dmta_ds[["Elliot 2"]] <- NULL
-
-
-

Test cases -

-
-

Parent only -

-
-parent_mods <- c("SFO", "DFOP", "SFORB", "HS")
-parent_sep_const <- mmkin(parent_mods, dmta_ds, quiet = TRUE, cores = n_cores)
-parent_sep_tc <- update(parent_sep_const, error_model = "tc")
-
-t1 <- system.time(sfo_const <- saem(parent_sep_const["SFO", ]))[["elapsed"]]
-t2 <- system.time(dfop_const <- saem(parent_sep_const["DFOP", ]))[["elapsed"]]
-t3 <- system.time(sforb_const <- saem(parent_sep_const["SFORB", ]))[["elapsed"]]
-t4 <- system.time(hs_const <- saem(parent_sep_const["HS", ]))[["elapsed"]]
-t5 <- system.time(sfo_tc <- saem(parent_sep_tc["SFO", ]))[["elapsed"]]
-t6 <- system.time(dfop_tc <- saem(parent_sep_tc["DFOP", ]))[["elapsed"]]
-t7 <- system.time(sforb_tc <- saem(parent_sep_tc["SFORB", ]))[["elapsed"]]
-t8 <- system.time(hs_tc <- saem(parent_sep_tc["HS", ]))[["elapsed"]]
-
-anova(
-  sfo_const, dfop_const, sforb_const, hs_const,
-  sfo_tc, dfop_tc, sforb_tc, hs_tc) |> kable(, digits = 1)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nparAICBICLik
sfo_const5796.3795.3-393.2
sfo_tc6798.3797.1-393.2
dfop_const9709.4707.5-345.7
sforb_const9710.0708.1-346.0
hs_const9713.7711.8-347.8
dfop_tc10669.8667.7-324.9
sforb_tc10662.8660.7-321.4
hs_tc10667.3665.2-323.6
-

The above model comparison suggests to use the SFORB model with -two-component error. For comparison, we keep the DFOP model with -two-component error, as it competes with SFORB for biphasic curves.

-
-illparms(dfop_tc)
-
## [1] "sd(log_k2)"
-
-illparms(sforb_tc)
-
## [1] "sd(log_k_DMTA_bound_free)"
-

For these two models, random effects for the transformed parameters -k2 and k_DMTA_bound_free could not be -quantified.

-
-
-

One metabolite -

-

We remove parameters that were found to be ill-defined in the parent -only fits.

-
-one_met_mods <- list(
-  DFOP_SFO = mkinmod(
-    DMTA = mkinsub("DFOP", "M23"),
-    M23 = mkinsub("SFO")),
-  SFORB_SFO = mkinmod(
-    DMTA = mkinsub("SFORB", "M23"),
-    M23 = mkinsub("SFO")))
-
-one_met_sep_const <- mmkin(one_met_mods, dmta_ds, error_model = "const",
-  cores = n_cores, quiet = TRUE)
-one_met_sep_tc <- mmkin(one_met_mods, dmta_ds, error_model = "tc",
-  cores = n_cores, quiet = TRUE)
-
-t9 <- system.time(dfop_sfo_tc <- saem(one_met_sep_tc["DFOP_SFO", ],
-    no_random_effect = "log_k2"))[["elapsed"]]
-t10 <- system.time(sforb_sfo_tc <- saem(one_met_sep_tc["SFORB_SFO", ],
-    no_random_effect = "log_k_DMTA_bound_free"))[["elapsed"]]
-
-
-

Three metabolites -

-

For the case of three metabolites, we only keep the SFORB model in -order to limit the time for compiling this vignette, and as fitting in -parallel may disturb the benchmark. Again, we do not include random -effects that were ill-defined in previous fits of subsets of the -degradation model.

-
-illparms(sforb_sfo_tc)
-
-three_met_mods <- list(
-  SFORB_SFO3_plus = mkinmod(
-    DMTA = mkinsub("SFORB", c("M23", "M27", "M31")),
-    M23 = mkinsub("SFO"),
-    M27 = mkinsub("SFO"),
-    M31 = mkinsub("SFO", "M27", sink = FALSE)))
-
-three_met_sep_tc <- mmkin(three_met_mods, dmta_ds, error_model = "tc",
-  cores = n_cores, quiet = TRUE)
-
-t11 <- system.time(sforb_sfo3_plus_const <- saem(three_met_sep_tc["SFORB_SFO3_plus", ],
-    no_random_effect = "log_k_DMTA_bound_free"))[["elapsed"]]
-
-
-
-

Results -

-

Benchmarks for all available error models are shown. They are -intended for improving mkin, not for comparing CPUs or operating -systems. All trademarks belong to their respective owners.

-
-

Parent only -

-

Constant variance for SFO, DFOP, SFORB and HS.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CPUOSmkinsaemixt1t2t3t4
Ryzen 7 1700Linux1.2.03.22.1404.6264.3284.998
Ryzen 7 1700Linux1.2.23.22.4274.5504.2174.851
Ryzen 9 7950XLinux1.2.13.21.3522.8132.4012.074
Ryzen 9 7950XLinux1.2.23.21.3282.7382.3362.023
Ryzen 9 7950XLinux1.2.33.21.1182.0362.0102.088
Ryzen 9 7950XLinux1.2.33.21.3892.3001.8802.355
-

Two-component error fits for SFO, DFOP, SFORB and HS.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CPUOSmkinsaemixt5t6t7t8
Ryzen 7 1700Linux1.2.03.25.6787.4418.0007.980
Ryzen 7 1700Linux1.2.23.25.3527.2018.1748.401
Ryzen 9 7950XLinux1.2.13.22.3883.0333.5323.310
Ryzen 9 7950XLinux1.2.23.22.3412.9683.4653.341
Ryzen 9 7950XLinux1.2.33.22.1593.5843.3073.460
Ryzen 9 7950XLinux1.2.33.22.3003.0753.2063.471
-
-
-

One metabolite -

-

Two-component error for DFOP-SFO and SFORB-SFO.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CPUOSmkinsaemixt9t10
Ryzen 7 1700Linux1.2.03.224.465800.266
Ryzen 7 1700Linux1.2.23.225.193798.580
Ryzen 9 7950XLinux1.2.13.211.247285.216
Ryzen 9 7950XLinux1.2.23.211.242284.258
Ryzen 9 7950XLinux1.2.33.211.796216.012
Ryzen 9 7950XLinux1.2.33.212.951294.082
-
-
-

Three metabolites -

-

Two-component error for SFORB-SFO3-plus

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CPUOSmkinsaemixt11
Ryzen 7 1700Linux1.2.03.21289.198
Ryzen 7 1700Linux1.2.23.21312.445
Ryzen 9 7950XLinux1.2.13.2489.939
Ryzen 9 7950XLinux1.2.23.2482.970
Ryzen 9 7950XLinux1.2.33.2392.364
Ryzen 9 7950XLinux1.2.33.2477.297
-
-
-
- - - -
- - - -
- -
-

-

Site built with pkgdown 2.0.7.

-
- -
-
- - - - - - - - diff --git a/docs/dev/articles/web_only/saem_benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/dev/articles/web_only/saem_benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js deleted file mode 100644 index ca349fd6..00000000 --- a/docs/dev/articles/web_only/saem_benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js +++ /dev/null @@ -1,15 +0,0 @@ -// Hide empty tag within highlighted CodeBlock for screen reader accessibility (see https://github.com/jgm/pandoc/issues/6352#issuecomment-626106786) --> -// v0.0.1 -// Written by JooYoung Seo (jooyoung@psu.edu) and Atsushi Yasumoto on June 1st, 2020. - -document.addEventListener('DOMContentLoaded', function() { - const codeList = document.getElementsByClassName("sourceCode"); - for (var i = 0; i < codeList.length; i++) { - var linkList = codeList[i].getElementsByTagName('a'); - for (var j = 0; j < linkList.length; j++) { - if (linkList[j].innerHTML === "") { - linkList[j].setAttribute('aria-hidden', 'true'); - } - } - } -}); -- cgit v1.2.1