From a9427a09abdf7ce9aaeae7c7190f90c8f2e5ef52 Mon Sep 17 00:00:00 2001
From: Johannes Ranke There is a graphical user interface that may be useful. Please refer to its documentation page for installation instructions and a manual. There is a ChangeLog, for the latest CRAN release and one for the github master branch. There is a list of changes for the latest CRAN release and one for each github branch, e.g. the main branch. In 2011, Bayer Crop Science started to distribute an R based successor to KinGUI named KinGUII whose R code is based on Somewhat in parallel, Syngenta has sponsored the development of an Finally, there is KineticEval, which contains a further development of the scripts used for KinGUII, so the different tools will hopefully be able to learn from each other in the future as well. Thanks to René Lehmann, formerly working at the Umweltbundesamt, for the nice cooperation cooperation on parameter transformations, especially the isometric log-ratio transformation that is now used for formation fractions in case there are more than two transformation targets. Many inspirations for improvements of mkin resulted from doing kinetic evaluations of degradation data for my clients while working at Harlan Laboratories and at Eurofins Regulatory AG, and now as an independent consultant. Funding was received from the Umweltbundesamt in the course of the projects A comprehensive report of the results is obtained using the Here, the DFOP model is clearly the best-fit model for dataset L2 based on the chi^2 error level criterion. However, the failure to calculate the covariance matrix indicates that the parameter estimates correlate excessively. Therefore, the FOMC model may be preferred for this dataset. We can extract the summary and plot for e.g. the DFOP fit, using square brackets for indexing which will result in the use of the summary and plot functions working on mkinfit objects. The \(\chi^2\) error level of 3.3% as well as the plot suggest that the SFO model fits very well. The error level at which the \(\chi^2\) test passes is slightly lower for the FOMC model. However, the difference appears negligible. Ranke, Johannes. 2014. “Prüfung und Validierung von Modellierungssoftware als Alternative zu ModelMaker 4.0.” Umweltbundesamt Projektnummer 27452. Many approaches are possible regarding the evaluation of chemical degradation data. The The When the first The code was first uploaded to the BerliOS platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still occasionally updated. At that time, the R package Also, The ‘mkin’ code was first uploaded to the BerliOS development platform. When this was taken down, the version control history was imported into the R-Forge site (see e.g. the initial commit on 11 May 2010), where the code is still being updated. At that time, the R package Also, The possibility to specify back-reactions and a biphasic model (SFORB) for metabolites were present in Soon after the publication of CAKE focuses on a smooth use experience, sacrificing some flexibility in the model definition, originally allowing only two primary metabolites in parallel. The current version 3.3 of CAKE release in March 2016 uses a basic scheme for up to six metabolites in a flexible arrangement, but does not support back-reactions (non-instantaneous equilibria) or biphasic kinetics for metabolites. Soon after the publication of CAKE focuses on a smooth use experience, sacrificing some flexibility in the model definition, originally allowing only two primary metabolites in parallel. The current version 3.4 of CAKE released in May 2020 uses a scheme for up to six metabolites in a flexible arrangement and supports biphasic modelling of metabolites, but does not support back-reactions (non-instantaneous equilibria). KinGUI offers an even more flexible widget for specifying complex kinetic models. Back-reactions (non-instantaneous equilibria) were supported early on, but until 2014, only simple first-order models could be specified for transformation products. Starting with KinGUII version 2.1, biphasic modelling of metabolites was also available in KinGUII. A further graphical user interface (GUI) that has recently been brought to a decent degree of maturity is the browser based GUI named A comparison of scope, usability and numerical results obtained with these tools has been recently been published by Ranke, Wöltjen, and Meinecke (2018). Currently (July 2019), the main features available in In addition, the possibility to use two alternative error models to constant variance have been integrated. The variance by variable error model introduced by Gao et al. (2011) has been available via an iteratively reweighted least squares (IRLS) procedure since mkin version 0.9-22. With release 0.9.49.5, the IRLS algorithm has been replaced by direct or step-wise maximisation of the likelihood function, which makes it possible not only to fit the variance by variable error model but also a two-component error model inspired by error models developed in analytical chemistry. Currently, the main unique features available in The iteratively reweighted least squares fitting of different variances for each variable as introduced by Gao et al. (2011) has been available in mkin since version 0.9-22. With release 0.9.49.5, the IRLS algorithm has been complemented by direct or step-wise maximisation of the likelihood function, which makes it possible not only to fit the variance by variable error model but also a two-component error model inspired by error models developed in analytical chemistry (Ranke and Meinecke 2019). For rate constants, the log transformation is used, as proposed by Bates and Watts (1988, 77, 149). Approximate intervals are constructed for the transformed rate constants (compare Bates and Watts 1988, 135), i.e. for their logarithms. Confidence intervals for the rate constants are then obtained using the appropriate backtransformation using the exponential function. In the first version of This method is still used in the current version of KinGUII (v2.1 from April 2014), with a modification that allows for fixing the pathway to sink to zero. CAKE uses penalties in the objective function in order to enforce this constraint. In 2012, an alternative reparameterisation of the formation fractions was proposed together with René Lehmann (Ranke and Lehmann 2012), based on isometric logratio transformation (ILR). The aim was to improve the validity of the linear approximation of the objective function during the parameter estimation procedure as well as in the subsequent calculation of parameter confidence intervals. In 2012, an alternative reparameterisation of the formation fractions was proposed together with René Lehmann (Ranke and Lehmann 2012), based on isometric logratio transformation (ILR). The aim was to improve the validity of the linear approximation of the objective function during the parameter estimation procedure as well as in the subsequent calculation of parameter confidence intervals. In the current version of mkin, a logit transformation is used for parameters that are bound between 0 and 1, such as the g parameter of the DFOP model. In the first attempt at providing improved parameter confidence intervals introduced to However, while there is a 1:1 relation between the rate constants in the model and the transformed parameters fitted in the model, the parameters obtained by the isometric logratio transformation are calculated from the set of formation fractions that quantify the paths to each of the compounds formed from a specific parent compound, and no such 1:1 relation exists. Therefore, parameter confidence intervals for formation fractions obtained with this method only appear valid for the case of a single transformation product, where only one formation fraction is to be estimated, directly corresponding to one component of the ilr transformed parameter. Therefore, parameter confidence intervals for formation fractions obtained with this method only appear valid for the case of a single transformation product, where currently the logit transformation is used for the formation fraction. The confidence intervals obtained by backtransformation for the cases where a 1:1 relation between transformed and original parameter exist are considered by the author of this vignette to be more accurate than those obtained using a re-estimation of the Hessian matrix after backtransformation, as implemented in the FME package. Bates, D., and D. Watts. 1988. Nonlinear Regression and Its Applications. Wiley-Interscience. FOCUS Work Group on Degradation Kinetics. 2006. Guidance Document on Estimating Persistence and Degradation Kinetics from Environmental Fate Studies on Pesticides in Eu Registration. Report of the Focus Work Group on Degradation Kinetics. http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics. FOCUS Work Group on Degradation Kinetics. 2006. Guidance Document on Estimating Persistence and Degradation Kinetics from Environmental Fate Studies on Pesticides in Eu Registration. Report of the Focus Work Group on Degradation Kinetics. http://esdac.jrc.ec.europa.eu/projects/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. ———. 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. Gao, Z., J.W. Green, J. Vanderborght, and W. Schmitt. 2011. “Improving Uncertainty Analysis in Kinetic Evaluations Using Iteratively Reweighted Least Squares.” Journal. Environmental Science and Technology 45: 4429–37. Gao, Z., J. W. Green, J. Vanderborght, and W. Schmitt. 2011. “Improving Uncertainty Analysis in Kinetic Evaluations Using Iteratively Reweighted Least Squares.” Journal. Environmental Science and Technology 45: 4429–37. Ranke, J. 2019. ‘mkin‘: Kinetic Evaluation of Chemical Degradation Data. https://CRAN.R-project.org/package=mkin. Ranke, J. 2021. ‘mkin‘: Kinetic Evaluation of Chemical Degradation Data. https://CRAN.R-project.org/package=mkin. Ranke, J., and R. Lehmann. 2012. “Parameter Reliability in Kinetic Evaluation of Environmental Metabolism Data - Assessment and the Influence of Model Specification.” In SETAC World 20-24 May. Berlin. ———. 2015. “To T-Test or Not to T-Test, That Is the Question.” In XV Symposium on Pesticide Chemistry 2-4 September 2015. Piacenza. http://chem.uft.uni-bremen.de/ranke/posters/piacenza_2015.pdf. ———. 2015. “To T-Test or Not to T-Test, That Is the Question.” In XV Symposium on Pesticide Chemistry 2-4 September 2015. Piacenza. http://chem.uft.uni-bremen.de/ranke/posters/piacenza_2015.pdf. Ranke, Johannes, and Stefan Meinecke. 2019. “Error Models for the Kinetic Evaluation of Chemical Degradation Data.” Environments 6 (12). https://doi.org/10.3390/environments6120124. Ranke, Johannes, Janina Wöltjen, and Stefan Meinecke. 2018. “Comparison of Software Tools for Kinetic Evaluation of Chemical Degradation Data.” Environmental Sciences Europe 30 (1): 17. https://doi.org/10.1186/s12302-018-0145-1. Ranke, Johannes, Janina Wöltjen, and Stefan Meinecke. 2018. “Comparison of Software Tools for Kinetic Evaluation of Chemical Degradation Data.” Environmental Sciences Europe 30 (1): 17. https://doi.org/10.1186/s12302-018-0145-1. Schäfer, D., B. Mikolasch, P. Rainbird, and B. Harvey. 2007. “KinGUI: A New Kinetic Software Tool for Evaluations According to FOCUS Degradation Kinetics.” In Proceedings of the Xiii Symposium Pesticide Chemistry, edited by Del Re A. A. M., Capri E., Fragoulis G., and Trevisan M., 916–23. Piacenza. Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. https://www.jstatsoft.org/v33/i03/. Soetaert, Karline, and Thomas Petzoldt. 2010. “Inverse Modelling, Sensitivity and Monte Carlo Analysis in R Using Package FME.” Journal of Statistical Software 33 (3): 1–28. https://www.jstatsoft.org/v33/i03/. Note that a method for calculating maximum moving window time weighted average concentrations for a model fitted by ‘mkinfit’ or from parent decline model parameters is included in the 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. 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. 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. 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. 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. 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. 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. Two metabolites, synthetic data: 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. 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. We see that using the compiled model is by more than a factor of 10 faster than using deSolve without compiled code. Here we get a performance benefit of a factor of 30 using the version of the differential equation model compiled from C code! This vignette was built with mkin 1.0.0 on Here we get a performance benefit of a factor of 32 using the version of the differential equation model compiled from C code! This vignette was built with mkin 1.0.3 on There is a ChangeLog, for the latest CRAN release and one for the github master branch. There is a list of changes for the latest CRAN release and one for each github branch, e.g. the main branch. In 2011, Bayer Crop Science started to distribute an R based successor to KinGUI named KinGUII whose R code is based on Somewhat in parallel, Syngenta has sponsored the development of an Finally, there is KineticEval, which contains a further development of the scripts used for KinGUII, so the different tools will hopefully be able to learn from each other in the future as well. Thanks to René Lehmann, formerly working at the Umweltbundesamt, for the nice cooperation cooperation on parameter transformations, especially the isometric log-ratio transformation that is now used for formation fractions in case there are more than two transformation targets. Many inspirations for improvements of mkin resulted from doing kinetic evaluations of degradation data for my clients while working at Harlan Laboratories and at Eurofins Regulatory AG, and now as an independent consultant. Funding was received from the Umweltbundesamt in the course of the projectsFeatures
+General
+mkinmod
, including equilibrium reactions and using the single first-order reversible binding (SFORB) model, which will automatically create two latent state variables for the observed variable.plot.mmkin
.mkinpredict
is performed either using the analytical solution for the case of parent only degradation, an eigenvalue based solution if only simple first-order (SFO) or SFORB kinetics are used in the model, or using a numeric solver from the deSolve
package (default is lsoda
).compiled_models
. The autogeneration of C code was inspired by the ccSolve
package. Thanks to Karline Soetaert for her work on that.transform_odeparms
so their estimators can more reasonably be expected to follow a normal distribution. This has the side effect that no constraints are needed in the optimisation. Thanks to René Lehmann for the nice cooperation on this, especially the isometric log-ratio transformation that is now used for the formation fractions.summary
of an mkinfit
object is in fact a full report that should give enough information to be able to approximately reproduce the fit with other tools.error_model
to the mkinfit
function.error_model = "obs"
.error_model = "tc"
.Unique in mkin
+
+
error_model
to the mkinfit
function. A two-component error model similar to the one proposed by Rocke and Lorenzato can be selected using the argument error_model = "tc"
.transform_odeparms
so their estimators can more reasonably be expected to follow a normal distribution.Performance
+
+
+plot.mmkin
.compiled_models
. The autogeneration of C code was inspired by the ccSolve
package. Thanks to Karline Soetaert for her work on that.GUI
News
-Credits and historical remarks
@@ -446,6 +460,16 @@ summary {
mkin
, but which added, among other refinements, a closed source graphical user interface (GUI), iteratively reweighted least squares (IRLS) optimisation of the variance for each of the observed variables, and Markov Chain Monte Carlo (MCMC) simulation functionality, similar to what is available e.g. in the FME
package.mkin
and KinGUII based GUI application called CAKE, which also adds IRLS and MCMC, is more limited in the model formulation, but puts more weight on usability. CAKE is available for download from the CAKE website, where you can also find a zip archive of the R scripts derived from mkin
, published under the GPL license.
+
References
diff --git a/README.md b/README.md
index 973dbc89..af8ea24b 100644
--- a/README.md
+++ b/README.md
@@ -45,40 +45,19 @@ version is found in the ['dev' subdirectory](https://pkgdown.jrwb.de/mkin/dev/).
## Features
+### General
+
* Highly flexible model specification using
[`mkinmod`](https://pkgdown.jrwb.de/mkin/reference/mkinmod.html),
including equilibrium reactions and using the single first-order
reversible binding (SFORB) model, which will automatically create
two latent state variables for the observed variable.
-* As of version 0.9-39, fitting of several models to several datasets, optionally in
- parallel, is supported, see for example
- [`plot.mmkin`](https://pkgdown.jrwb.de/mkin/reference/plot.mmkin.html).
* Model solution (forward modelling) in the function
[`mkinpredict`](https://pkgdown.jrwb.de/mkin/reference/mkinpredict.html)
is performed either using the analytical solution for the case of
parent only degradation, an eigenvalue based solution if only simple
first-order (SFO) or SFORB kinetics are used in the model, or
using a numeric solver from the `deSolve` package (default is `lsoda`).
-* If a C compiler is installed, the kinetic models are compiled from automatically
- generated C code, see
- [vignette `compiled_models`](https://pkgdown.jrwb.de/mkin/articles/web_only/compiled_models.html).
- The autogeneration of C code was
- inspired by the [`ccSolve`](https://github.com/karlines/ccSolve) package. Thanks
- to Karline Soetaert for her work on that.
-* By default, kinetic rate constants and kinetic formation fractions are
- transformed internally using
- [`transform_odeparms`](https://pkgdown.jrwb.de/mkin/reference/transform_odeparms.html)
- so their estimators can more reasonably be expected to follow
- a normal distribution. This has the side effect that no constraints
- are needed in the optimisation. Thanks to René Lehmann for the nice
- cooperation on this, especially the isometric log-ratio transformation
- that is now used for the formation fractions.
-* A side effect of this is that when parameter estimates are backtransformed
- to match the model definition, confidence intervals calculated from
- standard errors are also backtransformed to the correct scale, and will
- not include meaningless values like negative rate constants or
- formation fractions adding up to more than 1, which can not occur in
- a single experiment with a single defined radiolabel position.
* The usual one-sided t-test for significant difference from zero is nevertheless
shown based on estimators for the untransformed parameters.
* Summary and plotting functions. The `summary` of an `mkinfit` object is in
@@ -86,23 +65,59 @@ version is found in the ['dev' subdirectory](https://pkgdown.jrwb.de/mkin/dev/).
approximately reproduce the fit with other tools.
* The chi-squared error level as defined in the FOCUS kinetics guidance
(see below) is calculated for each observed variable.
-* When a metabolite decline phase is not described well by SFO kinetics,
- SFORB kinetics can be used for the metabolite.
-* Three different error models can be selected using the argument `error_model`
- to the [`mkinfit`](https://pkgdown.jrwb.de/mkin/reference/mkinfit.html)
- function.
* The 'variance by variable' error model which is often fitted using
Iteratively Reweighted Least Squares (IRLS) should now be specified as
`error_model = "obs"`.
-* A two-component error model similar to the one proposed by
+
+### Unique in mkin
+
+* Three different error models can be selected using the argument `error_model`
+ to the [`mkinfit`](https://pkgdown.jrwb.de/mkin/reference/mkinfit.html)
+ function. A two-component error model similar to the one proposed by
[Rocke and Lorenzato](https://pkgdown.jrwb.de/mkin/reference/sigma_twocomp.html)
can be selected using the argument `error_model = "tc"`.
+* Model comparisons using the Akaike Information Criterion (AIC) are supported which
+ can also be used for non-constant variance. In such cases the FOCUS
+ chi-squared error level is not meaningful.
+* By default, kinetic rate constants and kinetic formation fractions are
+ transformed internally using
+ [`transform_odeparms`](https://pkgdown.jrwb.de/mkin/reference/transform_odeparms.html)
+ so their estimators can more reasonably be expected to follow
+ a normal distribution.
+* When parameter estimates are backtransformed to match the model definition,
+ confidence intervals calculated from standard errors are also backtransformed
+ to the correct scale, and will not include meaningless values like negative
+ rate constants or formation fractions adding up to more than 1, which cannot
+ occur in a single experiment with a single defined radiolabel position.
+* When a metabolite decline phase is not described well by SFO kinetics,
+ SFORB kinetics can be used for the metabolite. Mathematically, the SFORB model
+ is equivalent to the DFOP model used by other tools for biphasic metabolite curves.
+ However, the SFORB model has the advantage that there is a mechanistic
+ interpretation of the model parameters.
* Nonlinear mixed-effects models can be created from fits of the same degradation
model to different datasets for the same compound by using the
[nlme.mmkin](https://pkgdown.jrwb.de/mkin/reference/nlme.mmkin.html) method.
Note that the convergence of the nlme fits depends on the quality of the data.
Convergence is better for simple models and data for many groups (e.g. soils).
+### Performance
+
+* Parallel fitting of several models to several datasets is supported, see for
+ example
+ [`plot.mmkin`](https://pkgdown.jrwb.de/mkin/reference/plot.mmkin.html).
+* If a C compiler is installed, the kinetic models are compiled from automatically
+ generated C code, see
+ [vignette `compiled_models`](https://pkgdown.jrwb.de/mkin/articles/web_only/compiled_models.html).
+ The autogeneration of C code was
+ inspired by the [`ccSolve`](https://github.com/karlines/ccSolve) package. Thanks
+ to Karline Soetaert for her work on that.
+* Even if no compiler is installed, many degradation models still give
+ [very good performance](https://pkgdown.jrwb.de/mkin/articles/web_only/benchmarks.html),
+ as current versions of mkin also have [analytical solutions for some models
+ with one metabolite](https://jrwb.de/performance-improvements-mkin/), and if
+ SFO or SFORB are used for the parent compound, Eigenvalue based solutions of
+ the degradation model are available.
+
## GUI
There is a graphical user interface that may be useful. Please
@@ -111,8 +126,8 @@ for installation instructions and a manual.
## News
-There is a ChangeLog, for the latest [CRAN release](https://cran.r-project.org/package=mkin/news/news.html)
-and one for the [github master branch](https://github.com/jranke/mkin/blob/master/NEWS.md).
+There is a list of changes for the latest [CRAN release](https://cran.r-project.org/package=mkin/news/news.html)
+and one for each github branch, e.g. [the main branch](https://github.com/jranke/mkin/blob/master/NEWS.md).
## Credits and historical remarks
@@ -167,6 +182,28 @@ Finally, there is
a further development of the scripts used for KinGUII, so the different tools
will hopefully be able to learn from each other in the future as well.
+Thanks to René Lehmann, formerly working at the Umweltbundesamt, for the nice
+cooperation cooperation on parameter transformations, especially the isometric
+log-ratio transformation that is now used for formation fractions in case
+there are more than two transformation targets.
+
+Many inspirations for improvements of mkin resulted from doing kinetic evaluations
+of degradation data for my clients while working at Harlan Laboratories and
+at Eurofins Regulatory AG, and now as an independent consultant.
+
+Funding was received from the Umweltbundesamt in the course of the projects
+
+- Grant Number 112407 (Testing and validation of modelling software as an alternative
+to ModelMaker 4.0, 2014-2015)
+- Project Number 56703 (Optimization of gmkin for routine use in the Umweltbundesamt, 2015)
+- Project Number 112407 (Testing the feasibility of using an error model
+ according to Rocke and Lorenzato for more realistic parameter estimates in
+ the kinetic evaluation of degradation data, 2018-2019)
+- Project Number 120667 (Development of objective criteria for the evaluation
+ of the visual fit in the kinetic evaluation of degradation data, 2019-2020)
+- Project 146839 (Checking the feasibility of using mixed-effects models for
+ the derivation of kinetic modelling parameters from degradation studies, 2020-2021)
+
## References
diff --git a/build.log b/build.log
index 328804ad..ff0d2fb3 100644
--- a/build.log
+++ b/build.log
@@ -6,5 +6,5 @@
* creating vignettes ... OK
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
-* building ‘mkin_1.0.2.tar.gz’
+* building ‘mkin_1.0.3.tar.gz’
diff --git a/check.log b/check.log
index 2dd7b49d..34732605 100644
--- a/check.log
+++ b/check.log
@@ -5,7 +5,7 @@
* using options ‘--no-tests --as-cran’
* checking for file ‘mkin/DESCRIPTION’ ... OK
* checking extension type ... Package
-* this is package ‘mkin’ version ‘1.0.2’
+* this is package ‘mkin’ version ‘1.0.3’
* package encoding: UTF-8
* checking CRAN incoming feasibility ... Note_to_CRAN_maintainers
Maintainer: ‘Johannes Ranke
@@ -302,10 +296,10 @@
Example evaluation of FOCUS Example Dataset D
Johannes Ranke
- 2021-02-03
+ Last change 31 January 2019 (rebuilt 2021-02-15)
Source: vignettes/FOCUS_D.rmd
FOCUS_D.rmd
summary
method for mkinfit
objects.
summary(fit)
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:13 2021
-## Date of summary: Wed Feb 3 17:32:14 2021
+## Date of fit: Mon Feb 15 13:46:23 2021
+## Date of summary: Mon Feb 15 13:46:23 2021
##
## Equations:
## d_parent/dt = - k_parent * parent
@@ -196,7 +196,7 @@
##
## Model predictions using solution type analytical
##
-## Fitted using 401 model solutions performed in 0.161 s
+## Fitted using 401 model solutions performed in 0.162 s
##
## Error model: Constant variance
##
@@ -239,11 +239,11 @@
##
## Parameter correlation:
## parent_0 log_k_parent log_k_m1 f_parent_qlogis sigma
-## parent_0 1.000e+00 5.174e-01 -1.688e-01 -5.471e-01 -1.171e-06
-## log_k_parent 5.174e-01 1.000e+00 -3.263e-01 -5.426e-01 -8.481e-07
-## log_k_m1 -1.688e-01 -3.263e-01 1.000e+00 7.478e-01 8.209e-07
+## parent_0 1.000e+00 5.174e-01 -1.688e-01 -5.471e-01 -1.172e-06
+## log_k_parent 5.174e-01 1.000e+00 -3.263e-01 -5.426e-01 -8.483e-07
+## log_k_m1 -1.688e-01 -3.263e-01 1.000e+00 7.478e-01 8.205e-07
## f_parent_qlogis -5.471e-01 -5.426e-01 7.478e-01 1.000e+00 1.305e-06
-## sigma -1.171e-06 -8.481e-07 8.209e-07 1.305e-06 1.000e+00
+## sigma -1.172e-06 -8.483e-07 8.205e-07 1.305e-06 1.000e+00
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
diff --git a/docs/articles/FOCUS_D_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/articles/FOCUS_D_files/accessible-code-block-0.0.1/empty-anchor.js
new file mode 100644
index 00000000..ca349fd6
--- /dev/null
+++ b/docs/articles/FOCUS_D_files/accessible-code-block-0.0.1/empty-anchor.js
@@ -0,0 +1,15 @@
+// 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/articles/FOCUS_D_files/figure-html/plot-1.png b/docs/articles/FOCUS_D_files/figure-html/plot-1.png
index 5278038a..abf26715 100644
Binary files a/docs/articles/FOCUS_D_files/figure-html/plot-1.png and b/docs/articles/FOCUS_D_files/figure-html/plot-1.png differ
diff --git a/docs/articles/FOCUS_D_files/header-attrs-2.6/header-attrs.js b/docs/articles/FOCUS_D_files/header-attrs-2.6/header-attrs.js
new file mode 100644
index 00000000..dd57d92e
--- /dev/null
+++ b/docs/articles/FOCUS_D_files/header-attrs-2.6/header-attrs.js
@@ -0,0 +1,12 @@
+// 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/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html
index 4c3bed4c..53e4e1d3 100644
--- a/docs/articles/FOCUS_L.html
+++ b/docs/articles/FOCUS_L.html
@@ -31,7 +31,7 @@
Example evaluation of FOCUS Laboratory Data L1 to L3
Johannes Ranke
- 2021-02-03
+ Last change 17 November 2016 (rebuilt 2021-02-15)
Source: vignettes/FOCUS_L.rmd
FOCUS_L.rmd
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:16 2021
-## Date of summary: Wed Feb 3 17:32:16 2021
+## Date of fit: Mon Feb 15 13:46:25 2021
+## Date of summary: Mon Feb 15 13:46:25 2021
##
## Equations:
## d_parent/dt = - k_parent * parent
##
## Model predictions using solution type analytical
##
-## Fitted using 133 model solutions performed in 0.031 s
+## Fitted using 133 model solutions performed in 0.032 s
##
## Error model: Constant variance
##
@@ -232,17 +232,17 @@
## Warning in sqrt(1/diag(V)): NaNs produced
-## Warning in cov2cor(ans$covar): diag(.) had 0 or NA entries; non-finite result is
## doubtful
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:16 2021
-## Date of summary: Wed Feb 3 17:32:16 2021
+## Date of fit: Mon Feb 15 13:46:26 2021
+## Date of summary: Mon Feb 15 13:46:26 2021
##
## Equations:
## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted using 380 model solutions performed in 0.085 s
+## Fitted using 369 model solutions performed in 0.083 s
##
## Error model: Constant variance
##
@@ -270,22 +270,22 @@
##
## Results:
##
-## AIC BIC logLik
-## 95.88778 99.44927 -43.94389
+## AIC BIC logLik
+## 95.88781 99.44929 -43.9439
##
## Optimised, transformed parameters with symmetric confidence intervals:
## Estimate Std. Error Lower Upper
## parent_0 92.47 1.2820 89.720 95.220
-## log_alpha 16.92 NaN NaN NaN
-## log_beta 19.26 NaN NaN NaN
-## sigma 2.78 0.4501 1.814 3.745
+## log_alpha 13.78 NaN NaN NaN
+## log_beta 16.13 NaN NaN NaN
+## sigma 2.78 0.4598 1.794 3.766
##
## Parameter correlation:
-## parent_0 log_alpha log_beta sigma
-## parent_0 1.000000 NaN NaN 0.002218
-## log_alpha NaN 1 NaN NaN
-## log_beta NaN NaN 1 NaN
-## sigma 0.002218 NaN NaN 1.000000
+## parent_0 log_alpha log_beta sigma
+## parent_0 1.0000000 NaN NaN 0.0001671
+## log_alpha NaN 1 NaN NaN
+## log_beta NaN NaN 1 NaN
+## sigma 0.0001671 NaN NaN 1.0000000
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
@@ -293,9 +293,9 @@
## for estimators of untransformed parameters.
## Estimate t value Pr(>t) Lower Upper
## parent_0 9.247e+01 NA NA 89.720 95.220
-## alpha 2.223e+07 NA NA NA NA
-## beta 2.325e+08 NA NA NA NA
-## sigma 2.780e+00 NA NA 1.814 3.745
+## alpha 9.658e+05 NA NA NA NA
+## beta 1.010e+07 NA NA NA NA
+## sigma 2.780e+00 NA NA 1.794 3.766
##
## FOCUS Chi2 error levels in percent:
## err.min n.optim df
@@ -344,10 +344,10 @@
summary(m.L2.FOMC, data = FALSE)
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:17 2021
-## Date of summary: Wed Feb 3 17:32:17 2021
+## Date of fit: Mon Feb 15 13:46:26 2021
+## Date of summary: Mon Feb 15 13:46:26 2021
##
## Equations:
## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
@@ -389,10 +389,10 @@
##
## Parameter correlation:
## parent_0 log_alpha log_beta sigma
-## parent_0 1.000e+00 -1.151e-01 -2.085e-01 -7.436e-09
-## log_alpha -1.151e-01 1.000e+00 9.741e-01 -1.617e-07
-## log_beta -2.085e-01 9.741e-01 1.000e+00 -1.386e-07
-## sigma -7.436e-09 -1.617e-07 -1.386e-07 1.000e+00
+## parent_0 1.000e+00 -1.151e-01 -2.085e-01 -7.828e-09
+## log_alpha -1.151e-01 1.000e+00 9.741e-01 -1.602e-07
+## log_beta -2.085e-01 9.741e-01 1.000e+00 -1.372e-07
+## sigma -7.828e-09 -1.602e-07 -1.372e-07 1.000e+00
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
@@ -425,10 +425,10 @@
summary(m.L2.DFOP, data = FALSE)
## mkin version used for fitting: 1.0.0
+
+## parent 0.5335 5.311 1.599 0.03084 2.058## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:17 2021
-## Date of summary: Wed Feb 3 17:32:17 2021
+## Date of fit: Mon Feb 15 13:46:27 2021
+## Date of summary: Mon Feb 15 13:46:27 2021
##
## Equations:
## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -437,7 +437,7 @@
##
## Model predictions using solution type analytical
##
-## Fitted using 581 model solutions performed in 0.133 s
+## Fitted using 581 model solutions performed in 0.134 s
##
## Error model: Constant variance
##
@@ -468,18 +468,18 @@
## Optimised, transformed parameters with symmetric confidence intervals:
## Estimate Std. Error Lower Upper
## parent_0 93.950 9.998e-01 91.5900 96.3100
-## log_k1 3.117 1.929e+03 -4558.0000 4564.0000
+## log_k1 3.112 1.842e+03 -4353.0000 4359.0000
## log_k2 -1.088 6.285e-02 -1.2370 -0.9394
## g_qlogis -0.399 9.946e-02 -0.6342 -0.1638
## sigma 1.414 2.886e-01 0.7314 2.0960
##
## Parameter correlation:
-## parent_0 log_k1 log_k2 g_qlogis sigma
-## parent_0 1.000e+00 6.459e-07 9.147e-11 2.665e-01 8.413e-11
-## log_k1 6.459e-07 1.000e+00 1.061e-04 -2.087e-04 -9.802e-06
-## log_k2 9.147e-11 1.061e-04 1.000e+00 -7.903e-01 -2.429e-09
-## g_qlogis 2.665e-01 -2.087e-04 -7.903e-01 1.000e+00 4.049e-09
-## sigma 8.413e-11 -9.802e-06 -2.429e-09 4.049e-09 1.000e+00
+## parent_0 log_k1 log_k2 g_qlogis sigma
+## parent_0 1.000e+00 6.783e-07 -3.390e-10 2.665e-01 -2.967e-10
+## log_k1 6.783e-07 1.000e+00 1.116e-04 -2.196e-04 -1.031e-05
+## log_k2 -3.390e-10 1.116e-04 1.000e+00 -7.903e-01 2.917e-09
+## g_qlogis 2.665e-01 -2.196e-04 -7.903e-01 1.000e+00 -4.408e-09
+## sigma -2.967e-10 -1.031e-05 2.917e-09 -4.408e-09 1.000e+00
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
@@ -487,7 +487,7 @@
## for estimators of untransformed parameters.
## Estimate t value Pr(>t) Lower Upper
## parent_0 93.9500 9.397e+01 2.036e-12 91.5900 96.3100
-## k1 22.5800 5.303e-04 4.998e-01 0.0000 Inf
+## k1 22.4800 5.553e-04 4.998e-01 0.0000 Inf
## k2 0.3369 1.591e+01 4.697e-07 0.2904 0.3909
## g 0.4016 1.680e+01 3.238e-07 0.3466 0.4591
## sigma 1.4140 4.899e+00 8.776e-04 0.7314 2.0960
@@ -499,7 +499,7 @@
##
## Estimated disappearance times:
## DT50 DT90 DT50back DT50_k1 DT50_k2
-## parent 0.5335 5.311 1.599 0.0307 2.058
summary(mm.L3[["DFOP", 1]])
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:18 2021
-## Date of summary: Wed Feb 3 17:32:18 2021
+## Date of fit: Mon Feb 15 13:46:27 2021
+## Date of summary: Mon Feb 15 13:46:28 2021
##
## Equations:
## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * exp(-k2 *
@@ -581,11 +581,11 @@
##
## Parameter correlation:
## parent_0 log_k1 log_k2 g_qlogis sigma
-## parent_0 1.000e+00 1.732e-01 2.282e-02 4.009e-01 -9.671e-08
-## log_k1 1.732e-01 1.000e+00 4.945e-01 -5.809e-01 7.148e-07
+## parent_0 1.000e+00 1.732e-01 2.282e-02 4.009e-01 -9.664e-08
+## log_k1 1.732e-01 1.000e+00 4.945e-01 -5.809e-01 7.147e-07
## log_k2 2.282e-02 4.945e-01 1.000e+00 -6.812e-01 1.022e-06
-## g_qlogis 4.009e-01 -5.809e-01 -6.812e-01 1.000e+00 -7.929e-07
-## sigma -9.671e-08 7.148e-07 1.022e-06 -7.929e-07 1.000e+00
+## g_qlogis 4.009e-01 -5.809e-01 -6.812e-01 1.000e+00 -7.926e-07
+## sigma -9.664e-08 7.147e-07 1.022e-06 -7.926e-07 1.000e+00
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
@@ -644,17 +644,17 @@
summary(mm.L4[["SFO", 1]], data = FALSE)
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:19 2021
-## Date of summary: Wed Feb 3 17:32:19 2021
+## Date of fit: Mon Feb 15 13:46:28 2021
+## Date of summary: Mon Feb 15 13:46:28 2021
##
## Equations:
## d_parent/dt = - k_parent * parent
##
## Model predictions using solution type analytical
##
-## Fitted using 142 model solutions performed in 0.03 s
+## Fitted using 142 model solutions performed in 0.031 s
##
## Error model: Constant variance
##
@@ -709,17 +709,17 @@
## parent 106 352
summary(mm.L4[["FOMC", 1]], data = FALSE)
## mkin version used for fitting: 1.0.0
+
## mkin version used for fitting: 1.0.3
## R version used for fitting: 4.0.3
-## Date of fit: Wed Feb 3 17:32:19 2021
-## Date of summary: Wed Feb 3 17:32:19 2021
+## Date of fit: Mon Feb 15 13:46:28 2021
+## Date of summary: Mon Feb 15 13:46:28 2021
##
## Equations:
## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent
##
## Model predictions using solution type analytical
##
-## Fitted using 224 model solutions performed in 0.046 s
+## Fitted using 224 model solutions performed in 0.047 s
##
## Error model: Constant variance
##
@@ -754,10 +754,10 @@
##
## Parameter correlation:
## parent_0 log_alpha log_beta sigma
-## parent_0 1.000e+00 -4.696e-01 -5.543e-01 -2.456e-07
-## log_alpha -4.696e-01 1.000e+00 9.889e-01 2.169e-08
-## log_beta -5.543e-01 9.889e-01 1.000e+00 4.910e-08
-## sigma -2.456e-07 2.169e-08 4.910e-08 1.000e+00
+## parent_0 1.000e+00 -4.696e-01 -5.543e-01 -2.468e-07
+## log_alpha -4.696e-01 1.000e+00 9.889e-01 2.478e-08
+## log_beta -5.543e-01 9.889e-01 1.000e+00 5.211e-08
+## sigma -2.468e-07 2.478e-08 5.211e-08 1.000e+00
##
## Backtransformed parameters:
## Confidence intervals for internally transformed parameters are asymmetric.
@@ -781,7 +781,7 @@
References
-Introduction to mkin
Johannes Ranke
- 2021-02-03
+ Last change 15 February 2021 (rebuilt 2021-02-15)
Source: vignettes/mkin.rmd
mkin.rmd
Background
-mkin
package (Ranke 2019) implements the approach recommended in the kinetics report provided by the FOrum for Co-ordination of pesticide fate models and their USe (FOCUS Work Group on Degradation Kinetics 2006, 2014) for simple decline data series, data series with transformation products, commonly termed metabolites, and for data series for more than one compartment. It is also possible to include back reactions, so equilibrium reactions and equilibrium partitioning can be specified, although this oftentimes leads to an overparameterisation of the model.mkin
package (Ranke 2021) implements the approach to degradation kinetics recommended in the kinetics report provided by the FOrum for Co-ordination of pesticide fate models and their USe (FOCUS Work Group on Degradation Kinetics 2006, 2014). It covers data series describing the decline of one compound, data series with transformation products (commonly termed metabolites) and data series for more than one compartment. It is possible to include back reactions. Therefore, equilibrium reactions and equilibrium partitioning can be specified, although this often leads to an overparameterisation of the model.mkin
code was published in 2010, the most commonly used tools for fitting more complex kinetic degradation models to experimental data were KinGUI (Schäfer et al. 2007), a MATLAB based tool with a graphical user interface that was specifically tailored to the task and included some output as proposed by the FOCUS Kinetics Workgroup, and ModelMaker, a general purpose compartment based tool providing infrastructure for fitting dynamic simulation models based on differential equations to data.FME
(Flexible Modelling Environment) (Soetaert and Petzoldt 2010) was already available, and provided a good basis for developing a package specifically tailored to the task. The remaining challenge was to make it as easy as possible for the users (including the author of this vignette) to specify the system of differential equations and to include the output requested by the FOCUS guidance, such as the relative standard deviation that has to be assumed for the residuals, such that the \(\chi^2\) goodness-of-fit test as defined by the FOCUS kinetics workgroup would pass using an significance level \(\alpha\) of 0.05. This relative error, expressed as a percentage, is often termed \(\chi^2\) error level or similar.mkin
introduced using analytical solutions for parent only kinetics for improved optimization speed. Later, Eigenvalue based solutions were introduced to mkin
for the case of linear differential equations (i.e. where the FOMC or DFOP models were not used for the parent compound), greatly improving the optimization speed for these cases. This, however, has become somehow obsolete, as the use of compiled code described below gives even smaller execution times.FME
(Flexible Modelling Environment) (Soetaert and Petzoldt 2010) was already available, and provided a good basis for developing a package specifically tailored to the task. The remaining challenge was to make it as easy as possible for the users (including the author of this vignette) to specify the system of differential equations and to include the output requested by the FOCUS guidance, such as the \(\chi^2\) error level as defined in this guidance.mkin
introduced using analytical solutions for parent only kinetics for improved optimization speed. Later, Eigenvalue based solutions were introduced to mkin
for the case of linear differential equations (i.e. where the FOMC or DFOP models were not used for the parent compound), greatly improving the optimization speed for these cases. This, has become somehow obsolete, as the use of compiled code described below gives even faster execution times.mkin
from the very beginning.
Derived software tools
-mkin
, two derived tools were published, namely KinGUII (available from Bayer Crop Science) and CAKE (commissioned to Tessella by Syngenta), which added a graphical user interface (GUI), and added fitting by iteratively reweighted least squares (IRLS) and characterisation of likely parameter distributions by Markov Chain Monte Carlo (MCMC) sampling.mkin
, two derived tools were published, namely KinGUII (developed at Bayer Crop Science) and CAKE (commissioned to Tessella by Syngenta), which added a graphical user interface (GUI), and added fitting by iteratively reweighted least squares (IRLS) and characterisation of likely parameter distributions by Markov Chain Monte Carlo (MCMC) sampling.gmkin
. Please see its documentation page and manual for further information.
-Recent developments
-mkin
which are not present in KinGUII or CAKE, are the speed increase by using compiled code when a compiler is present, parallel model fitting on multicore machines using the mmkin
function, and the estimation of parameter confidence intervals based on transformed parameters.
+Unique features
+mkin
are
+
+mmkin
function,
@@ -177,13 +183,13 @@
mkin
allowing for specifying models using formation fractions, a home-made reparameterisation was used in order to ensure that the sum of formation fractions would not exceed unity.
Confidence intervals based on transformed parameters
mkin
in 2013, confidence intervals obtained from FME on the transformed parameters were simply all backtransformed one by one to yield asymmetric confidence intervals for the backtransformed parameters.
References
-Calculation of time weighted average concentrations with mkin
Johannes Ranke
- 2021-02-03
+ Last change 18 September 2019 (rebuilt 2021-02-15)
Source: vignettes/twa.rmd
twa.rmd
max_twa_parent()
function. If the same is needed for metabolites, the function pfm::max_twa()
from the ‘pfm’ package can be used.Example evaluation of FOCUS dataset Z
Johannes Ranke
- 2021-02-03
+ Last change 16 January 2018 (rebuilt 2021-02-15)
Source: vignettes/web_only/FOCUS_Z.rmd
FOCUS_Z.rmd
summary(m.Z.FOCUS, data = FALSE)$bpar
## Estimate se_notrans t value Pr(>t) Lower Upper
-## Z0_0 96.839001 1.994273 48.5585 4.0276e-42 92.827060 100.850943
-## k_Z0 2.215367 0.118456 18.7021 1.0410e-23 1.989432 2.466960
-## k_Z1 0.478310 0.028258 16.9265 6.2430e-22 0.424712 0.538673
-## k_Z2 0.451628 0.042139 10.7176 1.6313e-14 0.374337 0.544877
-## k_Z3 0.058692 0.015245 3.8498 1.7806e-04 0.034806 0.098972
-## f_Z2_to_Z3 0.471498 0.058350 8.0805 9.6614e-11 0.357741 0.588294
+## 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)
References
-Evaluation of example datasets from Attachment 1 to the US EPA SOP for the NAFTA guidance
Johannes Ranke
- 2021-02-03
+ 26 February 2019 (rebuilt 2021-02-15)
Source: vignettes/web_only/NAFTA_examples.rmd
NAFTA_examples.rmd
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
@@ -473,12 +474,12 @@
## sigma 1.288 1.76e-04 0.7456 1.830
##
## $DFOP
-## Estimate Pr(>t) Lower Upper
-## parent_0 94.7123 NA 93.1355 96.2891
-## k1 0.0389 NA 0.0266 0.0569
-## k2 0.0389 NA 0.0255 0.0592
-## g 0.5256 NA NA NA
-## sigma 1.5957 NA 0.9135 2.2779
+## 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:
@@ -494,15 +495,18 @@
Example on page 10
-
+
p10 <- nafta(NAFTA_SOP_Attachment[["p10"]])
+## Warning in sqrt(diag(covar_notrans)): NaNs produced
+## 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
@@ -528,9 +532,9 @@
## $DFOP
## Estimate Pr(>t) Lower Upper
## parent_0 101.7315 1.41e-09 91.6534 111.8097
-## k1 0.0495 5.63e-03 0.0240 0.1020
-## k2 0.0495 1.93e-03 0.0272 0.0903
-## g 0.4487 NaN 0.0000 1.0000
+## 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
##
##
@@ -551,14 +555,14 @@
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)
+## [1] 41148170## Sums of squares:
## SFO IORE DFOP
@@ -594,10 +598,10 @@
## 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.97e+11
+## DFOP 3.07e+11 1.93e+12 6.98e+11
##
## Representative half-life:
-## [1] 41148171
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 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
@@ -644,12 +650,12 @@
## sigma 3.965 NA NA NA
##
## $DFOP
-## Estimate Pr(>t) Lower Upper
-## parent_0 100.521 2.74e-10 NA NA
-## k1 0.124 2.53e-05 NA NA
-## k2 0.124 2.52e-02 NA NA
-## g 0.793 5.00e-01 NA NA
-## sigma 7.048 2.50e-04 NA NA
+## 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:
@@ -664,20 +670,18 @@
Example on page 12, lower panel
-
+
p12b <- nafta(NAFTA_SOP_Attachment[["p12b"]])
## Warning in sqrt(diag(covar)): NaNs produced
## Warning in qt(alpha/2, rdf): NaNs produced
-## Warning in qt(1 - alpha/2, rdf): 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
+## 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
@@ -702,11 +706,11 @@
##
## $DFOP
## Estimate Pr(>t) Lower Upper
-## parent_0 97.6840 NA NaN NaN
-## k1 0.0589 NA NA NA
-## k2 0.0589 NA NA NA
-## g 0.6473 NA NA NA
-## sigma 3.4323 NA NaN NaN
+## 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:
@@ -721,18 +725,14 @@
Example on page 13
-
+
p13 <- nafta(NAFTA_SOP_Attachment[["p13"]])
-## 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(p13)
+
print(p13)
## Sums of squares:
## SFO IORE DFOP
@@ -758,9 +758,9 @@
## $DFOP
## Estimate Pr(>t) Lower Upper
## parent_0 92.73500 NA 8.95e+01 95.92118
-## k1 0.00258 NA 4.25e-04 0.01569
-## k2 0.00258 NA 1.76e-03 0.00379
-## g 0.16452 NA NA NA
+## 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
##
##
@@ -777,7 +777,7 @@
DT50 not observed in the study and DFOP problems in PestDF
-
+
p14 <- nafta(NAFTA_SOP_Attachment[["p14"]])
## Warning in sqrt(diag(covar)): NaNs produced
@@ -785,10 +785,10 @@
## doubtful## Warning in sqrt(1/diag(V)): 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(p14)
+
print(p14)
@@ -833,14 +833,14 @@
## Sums of squares:
## SFO IORE DFOP
@@ -815,7 +815,7 @@
## 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 5.33e-12 5.00e-01 0.00000 Inf
+## 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
##
@@ -824,7 +824,7 @@
## 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.48e+10 3.37e+11 1.30e+11
+## DFOP 3.05e+10 2.95e+11 1.14e+11
##
## Representative half-life:
## [1] 6697.44
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
@@ -864,12 +864,12 @@
## sigma 3.105 1.78e-04 1.795 4.416
##
## $DFOP
-## Estimate Pr(>t) Lower Upper
-## parent_0 97.96751 NA 94.21913 101.7159
-## k1 0.00952 NA 0.00221 0.0411
-## k2 0.00952 NA 0.00626 0.0145
-## g 0.21241 NA 0.00000 1.0000
-## sigma 4.18778 NA 2.39747 5.9781
+## 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:
@@ -880,7 +880,7 @@
##
## Representative half-life:
## [1] 41.33
+
p15b <- nafta(NAFTA_SOP_Attachment[["p15b"]])
## Warning in sqrt(diag(covar)): NaNs produced
@@ -888,10 +888,10 @@
## doubtful## Warning in sqrt(1/diag(V)): 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(p15b)
+
print(p15b)
## Sums of squares:
## SFO IORE DFOP
@@ -909,7 +909,7 @@
##
## $IORE
## Estimate Pr(>t) Lower Upper
-## parent_0 99.83 1.81e-16 97.51348 102.14
+## 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
@@ -936,16 +936,16 @@
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
@@ -996,7 +996,7 @@
References
-Benchmark timings for mkin
Johannes Ranke
- 2021-02-03
+ Last change 13 May 2020 (rebuilt 2021-02-15)
Source: vignettes/web_only/benchmarks.rmd
benchmarks.rmd
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...): Optimisation did not converge:
-## iteration limit reached without convergence (10)
-
-## Warning in mkinfit(models[[model_index]], datasets[[dataset_index]], ...): Optimisation did not converge:
-## iteration limit reached without convergence (10)
-
t5 <- 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"]]
2.810
-
@@ -313,7 +307,7 @@
1.0.0
-1.373
-7.127
-2.762
+1.0.3
+1.402
+6.343
+2.802
Two metabolites
-
diff --git a/docs/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js b/docs/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js
new file mode 100644
index 00000000..ca349fd6
--- /dev/null
+++ b/docs/articles/web_only/benchmarks_files/accessible-code-block-0.0.1/empty-anchor.js
@@ -0,0 +1,15 @@
+// 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/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js b/docs/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js
new file mode 100644
index 00000000..dd57d92e
--- /dev/null
+++ b/docs/articles/web_only/benchmarks_files/header-attrs-2.6/header-attrs.js
@@ -0,0 +1,12 @@
+// 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/articles/web_only/compiled_models.html b/docs/articles/web_only/compiled_models.html
index e45655b6..ce8d8481 100644
--- a/docs/articles/web_only/compiled_models.html
+++ b/docs/articles/web_only/compiled_models.html
@@ -31,7 +31,7 @@
mkin version
@@ -398,13 +392,13 @@
3.105
-
1.0.0
-0.775
-1.269
-1.467
-3.767
-1.919
-2.942
+1.0.3
+0.771
+1.251
+1.464
+3.074
+1.940
+2.831
Performance benefit by using compiled model definitions in mkin
Johannes Ranke
- 2021-02-03
+ 2021-02-15
Source: vignettes/web_only/compiled_models.rmd
compiled_models.rmd
+## 3 deSolve, compiled 1 1.812 0.328
+## 2 Eigenvalue based 1 2.088 0.378
+## 1 deSolve, not compiled 1 45.923 8.312
## test replications relative elapsed
## 4 analytical 1 1.000 0.181
-## 3 deSolve, compiled 1 1.818 0.329
-## 2 Eigenvalue based 1 2.061 0.373
-## 1 deSolve, not compiled 1 43.923 7.950
## Temporary DLL for differentials generated and loaded
-## test replications relative elapsed
-## 2 deSolve, compiled 1 1.000 0.474
-## 1 deSolve, not compiled 1 30.179 14.305
+## Running under: Debian GNU/Linux bullseye/sid
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-pc-linux-gnu (64-bit)
-## Running under: Debian GNU/Linux 10 (buster)
## CPU model: AMD Ryzen 7 1700 Eight-Core Processor
Features
+
+General
+mkinmod
, including equilibrium reactions and using the single first-order reversible binding (SFORB) model, which will automatically create two latent state variables for the observed variable.plot.mmkin
.mkinpredict
is performed either using the analytical solution for the case of parent only degradation, an eigenvalue based solution if only simple first-order (SFO) or SFORB kinetics are used in the model, or using a numeric solver from the deSolve
package (default is lsoda
).compiled_models
. The autogeneration of C code was inspired by the ccSolve
package. Thanks to Karline Soetaert for her work on that.transform_odeparms
so their estimators can more reasonably be expected to follow a normal distribution. This has the side effect that no constraints are needed in the optimisation. Thanks to René Lehmann for the nice cooperation on this, especially the isometric log-ratio transformation that is now used for the formation fractions.summary
of an mkinfit
object is in fact a full report that should give enough information to be able to approximately reproduce the fit with other tools.error_model
to the mkinfit
function.error_model = "obs"
.error_model = "tc"
.
+Unique in mkin
+
+
error_model
to the mkinfit
function. A two-component error model similar to the one proposed by Rocke and Lorenzato can be selected using the argument error_model = "tc"
.transform_odeparms
so their estimators can more reasonably be expected to follow a normal distribution.
+Performance
+
+
+plot.mmkin
.compiled_models
. The autogeneration of C code was inspired by the ccSolve
package. Thanks to Karline Soetaert for her work on that.
GUI
@@ -157,7 +174,7 @@
News
-
@@ -170,6 +187,16 @@
mkin
, but which added, among other refinements, a closed source graphical user interface (GUI), iteratively reweighted least squares (IRLS) optimisation of the variance for each of the observed variables, and Markov Chain Monte Carlo (MCMC) simulation functionality, similar to what is available e.g. in the FME
package.mkin
and KinGUII based GUI application called CAKE, which also adds IRLS and MCMC, is more limited in the model formulation, but puts more weight on usability. CAKE is available for download from the CAKE website, where you can also find a zip archive of the R scripts derived from mkin
, published under the GPL license.
+
diff --git a/docs/news/index.html b/docs/news/index.html
index 766e6549..82fb92bd 100644
--- a/docs/news/index.html
+++ b/docs/news/index.html
@@ -71,7 +71,7 @@
NEWS.md
+mkin 1.0.3 Unreleased
+
+
+
+
mkin 1.0.2 Unreleased
diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml
index f1fe0ec9..847dd4c5 100644
--- a/docs/pkgdown.yml
+++ b/docs/pkgdown.yml
@@ -10,7 +10,7 @@ articles:
web_only/NAFTA_examples: NAFTA_examples.html
web_only/benchmarks: benchmarks.html
web_only/compiled_models: compiled_models.html
-last_built: 2021-02-13T05:53Z
+last_built: 2021-02-15T13:07Z
urls:
reference: https://pkgdown.jrwb.de/mkin/reference
article: https://pkgdown.jrwb.de/mkin/articles
diff --git a/docs/reference/AIC.mmkin.html b/docs/reference/AIC.mmkin.html
index f54fd70f..fbc90802 100644
--- a/docs/reference/AIC.mmkin.html
+++ b/docs/reference/AIC.mmkin.html
@@ -73,7 +73,7 @@ same dataset." />
Rocke, David M. and Lorenzato, Stefan (1995) A two-component model for measurement error in analytical chemistry. Technometrics 37(2), 176-184.
+Ranke J and Meinecke S (2019) Error Models for the Kinetic Evaluation of Chemical +Degradation Data. Environments 6(12) 124 +doi: 10.3390/environments6120124 +.
times <- c(0, 1, 3, 7, 14, 28, 60, 90, 120) diff --git a/docs/reference/summary.mkinfit.html b/docs/reference/summary.mkinfit.html index 7be427bf..67a50216 100644 --- a/docs/reference/summary.mkinfit.html +++ b/docs/reference/summary.mkinfit.html @@ -76,7 +76,7 @@ values." />@@ -236,17 +236,17 @@ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,Examples
#> mkin version used for fitting: 1.0.0 +#> mkin version used for fitting: 1.0.3 #> R version used for fitting: 4.0.3 -#> Date of fit: Wed Feb 3 17:32:02 2021 -#> Date of summary: Wed Feb 3 17:32:02 2021 +#> Date of fit: Mon Feb 15 13:46:11 2021 +#> Date of summary: Mon Feb 15 13:46:11 2021 #> #> Equations: #> d_parent/dt = - k_parent * parent #> #> Model predictions using solution type analytical #> -#> Fitted using 131 model solutions performed in 0.028 s +#> Fitted using 131 model solutions performed in 0.029 s #> #> Error model: Constant variance #> diff --git a/docs/reference/summary.nlme.mmkin.html b/docs/reference/summary.nlme.mmkin.html index bc60b53e..d6840425 100644 --- a/docs/reference/summary.nlme.mmkin.html +++ b/docs/reference/summary.nlme.mmkin.html @@ -76,7 +76,7 @@ endpoints such as formation fractions and DT50 values. Optionally@@ -264,11 +264,11 @@ José Pinheiro and Douglas Bates for the components inherited from nlme#> Warning: Optimisation did not converge: #> iteration limit reached without convergence (10)#> Warning: Iteration 4, LME step: nlminb() did not converge (code = 1). PORT message: false convergence (8)#> nlme version used for fitting: 3.1.151 -#> mkin version used for pre-fitting: 1.0.0 +#> nlme version used for fitting: 3.1.152 +#> mkin version used for pre-fitting: 1.0.3 #> R version used for fitting: 4.0.3 -#> Date of fit: Wed Feb 3 17:32:05 2021 -#> Date of summary: Wed Feb 3 17:32:05 2021 +#> Date of fit: Mon Feb 15 13:46:13 2021 +#> Date of summary: Mon Feb 15 13:46:13 2021 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -278,7 +278,7 @@ José Pinheiro and Douglas Bates for the components inherited from nlme #> #> Model predictions using solution type analytical #> -#> Fitted in 0.526 s using 4 iterations +#> Fitted in 0.553 s using 4 iterations #> #> Variance model: Two-component variance function #> @@ -307,19 +307,19 @@ José Pinheiro and Douglas Bates for the components inherited from nlme #> Formula: list(parent_0 ~ 1, log_k_parent ~ 1) #> Level: ds #> Structure: Diagonal -#> parent_0 log_k_parent Residual -#> StdDev: 6.91e-05 0.5863 1 +#> parent_0 log_k_parent Residual +#> StdDev: 6.924e-05 0.5863 1 #> #> Variance function: #> Structure: Constant plus proportion of variance covariate #> Formula: ~fitted(.) #> Parameter estimates: #> const prop -#> 0.0001206605 0.0789967776 +#> 0.0001208853 0.0789968036 #> #> Backtransformed parameters with asymmetric confidence intervals: #> lower est. upper -#> parent_0 99.370883 101.59243 103.81398 +#> parent_0 99.370882 101.59243 103.81398 #> k_parent 0.006923 0.01168 0.01972 #> #> Estimated disappearance times: @@ -330,68 +330,68 @@ José Pinheiro and Douglas Bates for the components inherited from nlme #> ds name time observed predicted residual std standardized #> ds 1 parent 0 104.1 101.592 2.50757 8.0255 0.312451 #> ds 1 parent 0 105.0 101.592 3.40757 8.0255 0.424594 -#> ds 1 parent 1 98.5 100.796 -2.29571 7.9625 -0.288314 +#> ds 1 parent 1 98.5 100.796 -2.29571 7.9625 -0.288313 #> ds 1 parent 1 96.1 100.796 -4.69571 7.9625 -0.589725 #> ds 1 parent 3 101.9 99.221 2.67904 7.8381 0.341796 -#> ds 1 parent 3 85.2 99.221 -14.02096 7.8381 -1.788813 +#> ds 1 parent 3 85.2 99.221 -14.02096 7.8381 -1.788812 #> ds 1 parent 7 99.1 96.145 2.95512 7.5951 0.389081 #> ds 1 parent 7 93.0 96.145 -3.14488 7.5951 -0.414065 -#> ds 1 parent 14 88.1 90.989 -2.88944 7.1879 -0.401988 +#> ds 1 parent 14 88.1 90.989 -2.88944 7.1879 -0.401987 #> ds 1 parent 14 84.1 90.989 -6.88944 7.1879 -0.958480 #> ds 1 parent 28 80.2 81.493 -1.29305 6.4377 -0.200857 -#> ds 1 parent 28 91.3 81.493 9.80695 6.4377 1.523365 +#> ds 1 parent 28 91.3 81.493 9.80695 6.4377 1.523364 #> ds 1 parent 60 65.1 63.344 1.75642 5.0039 0.351008 #> ds 1 parent 60 65.8 63.344 2.45642 5.0039 0.490898 -#> ds 1 parent 90 47.8 50.018 -2.21764 3.9512 -0.561253 +#> ds 1 parent 90 47.8 50.018 -2.21764 3.9512 -0.561252 #> ds 1 parent 90 53.5 50.018 3.48236 3.9512 0.881335 #> ds 1 parent 120 37.6 39.495 -1.89515 3.1200 -0.607423 #> ds 1 parent 120 39.3 39.495 -0.19515 3.1200 -0.062549 -#> ds 2 parent 0 107.9 101.592 6.30757 8.0255 0.785944 +#> ds 2 parent 0 107.9 101.592 6.30757 8.0255 0.785943 #> ds 2 parent 0 102.1 101.592 0.50757 8.0255 0.063245 -#> ds 2 parent 1 103.8 100.058 3.74159 7.9043 0.473362 -#> ds 2 parent 1 108.6 100.058 8.54159 7.9043 1.080627 +#> ds 2 parent 1 103.8 100.058 3.74159 7.9043 0.473361 +#> ds 2 parent 1 108.6 100.058 8.54159 7.9043 1.080626 #> ds 2 parent 3 91.0 97.060 -6.05952 7.6674 -0.790297 #> ds 2 parent 3 84.9 97.060 -12.15952 7.6674 -1.585874 -#> ds 2 parent 7 79.3 91.329 -12.02867 7.2147 -1.667252 -#> ds 2 parent 7 100.9 91.329 9.57133 7.2147 1.326648 +#> ds 2 parent 7 79.3 91.329 -12.02867 7.2147 -1.667251 +#> ds 2 parent 7 100.9 91.329 9.57133 7.2147 1.326647 #> ds 2 parent 14 77.3 82.102 -4.80185 6.4858 -0.740366 #> ds 2 parent 14 83.5 82.102 1.39815 6.4858 0.215571 #> ds 2 parent 28 66.8 66.351 0.44945 5.2415 0.085748 #> ds 2 parent 28 63.3 66.351 -3.05055 5.2415 -0.582002 #> ds 2 parent 60 40.8 40.775 0.02474 3.2211 0.007679 -#> ds 2 parent 60 44.8 40.775 4.02474 3.2211 1.249486 +#> ds 2 parent 60 44.8 40.775 4.02474 3.2211 1.249485 #> ds 2 parent 90 27.8 25.832 1.96762 2.0407 0.964198 #> ds 2 parent 90 27.0 25.832 1.16762 2.0407 0.572171 -#> ds 2 parent 120 15.2 16.366 -1.16561 1.2928 -0.901596 +#> ds 2 parent 120 15.2 16.366 -1.16561 1.2928 -0.901595 #> ds 2 parent 120 15.5 16.366 -0.86561 1.2928 -0.669547 #> ds 3 parent 0 97.7 101.592 -3.89243 8.0255 -0.485009 -#> ds 3 parent 0 88.2 101.592 -13.39243 8.0255 -1.668740 -#> ds 3 parent 1 109.9 99.218 10.68196 7.8379 1.362859 +#> ds 3 parent 0 88.2 101.592 -13.39243 8.0255 -1.668739 +#> ds 3 parent 1 109.9 99.218 10.68196 7.8379 1.362858 #> ds 3 parent 1 97.8 99.218 -1.41804 7.8379 -0.180921 #> ds 3 parent 3 100.5 94.634 5.86555 7.4758 0.784603 #> ds 3 parent 3 77.4 94.634 -17.23445 7.4758 -2.305360 -#> ds 3 parent 7 78.3 86.093 -7.79273 6.8010 -1.145813 -#> ds 3 parent 7 90.3 86.093 4.20727 6.8010 0.618621 -#> ds 3 parent 14 76.0 72.958 3.04222 5.7634 0.527849 -#> ds 3 parent 14 79.1 72.958 6.14222 5.7634 1.065723 +#> ds 3 parent 7 78.3 86.093 -7.79273 6.8011 -1.145813 +#> ds 3 parent 7 90.3 86.093 4.20727 6.8011 0.618620 +#> ds 3 parent 14 76.0 72.958 3.04222 5.7634 0.527848 +#> ds 3 parent 14 79.1 72.958 6.14222 5.7634 1.065722 #> ds 3 parent 28 46.0 52.394 -6.39404 4.1390 -1.544842 #> ds 3 parent 28 53.4 52.394 1.00596 4.1390 0.243046 #> ds 3 parent 60 25.1 24.582 0.51786 1.9419 0.266676 -#> ds 3 parent 60 21.4 24.582 -3.18214 1.9419 -1.638665 -#> ds 3 parent 90 11.0 12.092 -1.09202 0.9552 -1.143200 -#> ds 3 parent 90 14.2 12.092 2.10798 0.9552 2.206777 +#> ds 3 parent 60 21.4 24.582 -3.18214 1.9419 -1.638664 +#> ds 3 parent 90 11.0 12.092 -1.09202 0.9552 -1.143199 +#> ds 3 parent 90 14.2 12.092 2.10798 0.9552 2.206776 #> ds 3 parent 120 5.8 5.948 -0.14810 0.4699 -0.315178 #> ds 3 parent 120 6.1 5.948 0.15190 0.4699 0.323282 #> ds 4 parent 0 95.3 101.592 -6.29243 8.0255 -0.784057 -#> ds 4 parent 0 102.0 101.592 0.40757 8.0255 0.050785 +#> ds 4 parent 0 102.0 101.592 0.40757 8.0255 0.050784 #> ds 4 parent 1 104.4 101.125 3.27549 7.9885 0.410025 #> ds 4 parent 1 105.4 101.125 4.27549 7.9885 0.535205 #> ds 4 parent 3 113.7 100.195 13.50487 7.9151 1.706218 -#> ds 4 parent 3 82.3 100.195 -17.89513 7.9151 -2.260887 +#> ds 4 parent 3 82.3 100.195 -17.89513 7.9151 -2.260886 #> ds 4 parent 7 98.1 98.362 -0.26190 7.7703 -0.033706 #> ds 4 parent 7 87.8 98.362 -10.56190 7.7703 -1.359270 #> ds 4 parent 14 97.9 95.234 2.66590 7.5232 0.354357 -#> ds 4 parent 14 104.8 95.234 9.56590 7.5232 1.271522 +#> ds 4 parent 14 104.8 95.234 9.56590 7.5232 1.271521 #> ds 4 parent 28 85.0 89.274 -4.27372 7.0523 -0.606001 #> ds 4 parent 28 77.2 89.274 -12.07372 7.0523 -1.712017 #> ds 4 parent 60 82.2 77.013 5.18661 6.0838 0.852526 @@ -400,18 +400,18 @@ José Pinheiro and Douglas Bates for the components inherited from nlme #> ds 4 parent 90 61.7 67.053 -5.35308 5.2970 -1.010591 #> ds 4 parent 120 60.0 58.381 1.61905 4.6119 0.351058 #> ds 4 parent 120 56.4 58.381 -1.98095 4.6119 -0.429530 -#> ds 5 parent 0 92.6 101.592 -8.99243 8.0255 -1.120486 +#> ds 5 parent 0 92.6 101.592 -8.99243 8.0255 -1.120485 #> ds 5 parent 0 116.5 101.592 14.90757 8.0255 1.857531 #> ds 5 parent 1 108.0 99.914 8.08560 7.8929 1.024413 -#> ds 5 parent 1 104.9 99.914 4.98560 7.8929 0.631656 +#> ds 5 parent 1 104.9 99.914 4.98560 7.8929 0.631655 #> ds 5 parent 3 100.5 96.641 3.85898 7.6343 0.505477 -#> ds 5 parent 3 89.5 96.641 -7.14102 7.6343 -0.935383 +#> ds 5 parent 3 89.5 96.641 -7.14102 7.6343 -0.935382 #> ds 5 parent 7 91.7 90.412 1.28752 7.1423 0.180267 -#> ds 5 parent 7 95.1 90.412 4.68752 7.1423 0.656305 -#> ds 5 parent 14 82.2 80.463 1.73715 6.3563 0.273296 +#> ds 5 parent 7 95.1 90.412 4.68752 7.1423 0.656304 +#> ds 5 parent 14 82.2 80.463 1.73715 6.3563 0.273295 #> ds 5 parent 14 84.5 80.463 4.03715 6.3563 0.635141 #> ds 5 parent 28 60.5 63.728 -3.22788 5.0343 -0.641178 -#> ds 5 parent 28 72.8 63.728 9.07212 5.0343 1.802063 +#> ds 5 parent 28 72.8 63.728 9.07212 5.0343 1.802062 #> ds 5 parent 60 38.3 37.399 0.90061 2.9544 0.304835 #> ds 5 parent 60 40.7 37.399 3.30061 2.9544 1.117174 #> ds 5 parent 90 22.5 22.692 -0.19165 1.7926 -0.106913 diff --git a/docs/reference/synthetic_data_for_UBA_2014-1.png b/docs/reference/synthetic_data_for_UBA_2014-1.png index 4f11753e..89975db5 100644 Binary files a/docs/reference/synthetic_data_for_UBA_2014-1.png and b/docs/reference/synthetic_data_for_UBA_2014-1.png differ diff --git a/docs/reference/synthetic_data_for_UBA_2014.html b/docs/reference/synthetic_data_for_UBA_2014.html index af8bdcb2..c37b986e 100644 --- a/docs/reference/synthetic_data_for_UBA_2014.html +++ b/docs/reference/synthetic_data_for_UBA_2014.html @@ -87,7 +87,7 @@ Compare also the code in the example section to see the degradation models." />@@ -297,10 +297,10 @@ Compare also the code in the example section to see the degradation models." /> quiet = TRUE) plot_sep(fit)#> mkin version used for fitting: 1.0.0 +#> mkin version used for fitting: 1.0.3 #> R version used for fitting: 4.0.3 -#> Date of fit: Wed Feb 3 17:32:06 2021 -#> Date of summary: Wed Feb 3 17:32:06 2021 +#> Date of fit: Mon Feb 15 13:46:15 2021 +#> Date of summary: Mon Feb 15 13:46:15 2021 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -309,7 +309,7 @@ Compare also the code in the example section to see the degradation models." /> #> #> Model predictions using solution type deSolve #> -#> Fitted using 822 model solutions performed in 0.645 s +#> Fitted using 833 model solutions performed in 0.665 s #> #> Error model: Constant variance #> @@ -361,15 +361,15 @@ Compare also the code in the example section to see the degradation models." /> #> log_k_M2 2.819e-02 7.166e-02 -3.929e-01 1.000e+00 -2.658e-01 #> f_parent_qlogis -4.624e-01 -5.682e-01 7.478e-01 -2.658e-01 1.000e+00 #> f_M1_qlogis 1.614e-01 4.102e-01 -8.109e-01 5.419e-01 -8.605e-01 -#> sigma -7.941e-08 -9.143e-09 -1.268e-08 5.947e-08 5.657e-08 +#> sigma -2.900e-08 -8.030e-09 -2.741e-08 3.938e-08 -2.681e-08 #> f_M1_qlogis sigma -#> parent_0 1.614e-01 -7.941e-08 -#> log_k_parent 4.102e-01 -9.143e-09 -#> log_k_M1 -8.109e-01 -1.268e-08 -#> log_k_M2 5.419e-01 5.947e-08 -#> f_parent_qlogis -8.605e-01 5.657e-08 -#> f_M1_qlogis 1.000e+00 -2.382e-10 -#> sigma -2.382e-10 1.000e+00 +#> parent_0 1.614e-01 -2.900e-08 +#> log_k_parent 4.102e-01 -8.030e-09 +#> log_k_M1 -8.109e-01 -2.741e-08 +#> log_k_M2 5.419e-01 3.938e-08 +#> f_parent_qlogis -8.605e-01 -2.681e-08 +#> f_M1_qlogis 1.000e+00 4.971e-08 +#> sigma 4.971e-08 1.000e+00 #> #> Backtransformed parameters: #> Confidence intervals for internally transformed parameters are asymmetric. @@ -416,7 +416,7 @@ Compare also the code in the example section to see the degradation models." /> #> 7 parent 0.3 5.772e-01 -0.27717 #> 14 parent 3.5 3.264e-03 3.49674 #> 28 parent 3.2 1.045e-07 3.20000 -#> 90 parent 0.6 9.532e-10 0.60000 +#> 90 parent 0.6 9.530e-10 0.60000 #> 120 parent 3.5 -5.940e-10 3.50000 #> 1 M1 36.4 3.479e+01 1.61088 #> 1 M1 37.4 3.479e+01 2.61088 @@ -427,7 +427,7 @@ Compare also the code in the example section to see the degradation models." /> #> 14 M1 5.8 1.995e+00 3.80469 #> 14 M1 1.2 1.995e+00 -0.79531 #> 60 M1 0.5 2.111e-06 0.50000 -#> 90 M1 3.2 -9.671e-10 3.20000 +#> 90 M1 3.2 -9.670e-10 3.20000 #> 120 M1 1.5 7.670e-10 1.50000 #> 120 M1 0.6 7.670e-10 0.60000 #> 1 M2 4.8 4.455e+00 0.34517 diff --git a/docs/reference/test_data_from_UBA_2014-1.png b/docs/reference/test_data_from_UBA_2014-1.png index 168103ee..7bf0bd0f 100644 Binary files a/docs/reference/test_data_from_UBA_2014-1.png and b/docs/reference/test_data_from_UBA_2014-1.png differ diff --git a/docs/reference/test_data_from_UBA_2014-2.png b/docs/reference/test_data_from_UBA_2014-2.png index 68288aed..fc1f77e0 100644 Binary files a/docs/reference/test_data_from_UBA_2014-2.png and b/docs/reference/test_data_from_UBA_2014-2.png differ diff --git a/docs/reference/test_data_from_UBA_2014.html b/docs/reference/test_data_from_UBA_2014.html index eeaef9e0..c0056d45 100644 --- a/docs/reference/test_data_from_UBA_2014.html +++ b/docs/reference/test_data_from_UBA_2014.html @@ -73,7 +73,7 @@@@ -203,25 +203,25 @@#> Warning: Observations with value of zero were removed from the data#> Estimate se_notrans t value Pr(>t) Lower -#> parent_0 76.55425649 0.859186399 89.1008710 1.113861e-26 74.755959406 +#> parent_0 76.55425650 0.859186399 89.1008710 1.113861e-26 74.755959418 #> k_parent 0.12081956 0.004601918 26.2541722 1.077359e-16 0.111561575 -#> k_M1 0.84258614 0.806159820 1.0451850 1.545267e-01 0.113779670 -#> k_M2 0.04210880 0.017083035 2.4649483 1.170188e-02 0.018013857 -#> k_M3 0.01122918 0.007245855 1.5497385 6.885052e-02 0.002909431 -#> f_parent_to_M1 0.32240200 0.240783909 1.3389682 9.819073e-02 NA -#> f_parent_to_M2 0.16099855 0.033691953 4.7785463 6.531137e-05 NA -#> f_M1_to_M3 0.27921507 0.269423745 1.0363417 1.565266e-01 0.022978220 -#> f_M2_to_M3 0.55641253 0.595119954 0.9349586 1.807707e-01 0.008002509 +#> k_M1 0.84258615 0.806160102 1.0451846 1.545268e-01 0.113779609 +#> k_M2 0.04210880 0.017083034 2.4649483 1.170188e-02 0.018013857 +#> k_M3 0.01122918 0.007245856 1.5497385 6.885052e-02 0.002909431 +#> f_parent_to_M1 0.32240200 0.240783943 1.3389680 9.819076e-02 NA +#> f_parent_to_M2 0.16099855 0.033691952 4.7785464 6.531136e-05 NA +#> f_M1_to_M3 0.27921507 0.269423780 1.0363416 1.565267e-01 0.022978205 +#> f_M2_to_M3 0.55641252 0.595119966 0.9349586 1.807707e-01 0.008002509 #> sigma 1.14005399 0.149696423 7.6157731 1.727024e-07 0.826735778 #> Upper -#> parent_0 78.35255357 +#> parent_0 78.35255358 #> k_parent 0.13084582 -#> k_M1 6.23970352 +#> k_M1 6.23970702 #> k_M2 0.09843260 #> k_M3 0.04333992 #> f_parent_to_M1 NA #> f_parent_to_M2 NA -#> f_M1_to_M3 0.86450768 +#> f_M1_to_M3 0.86450775 #> f_M2_to_M3 0.99489895 #> sigma 1.45337221#> err.min n.optim df diff --git a/docs/reference/transform_odeparms.html b/docs/reference/transform_odeparms.html index e2cb876b..c3c756f6 100644 --- a/docs/reference/transform_odeparms.html +++ b/docs/reference/transform_odeparms.html @@ -77,7 +77,7 @@ the ilr transformation is used." />@@ -259,13 +259,13 @@ This is no problem for the internal use in mkinfit. fit.2.s <- summary(fit.2) print(fit.2.s$par, 3)#> Estimate Std. Error Lower Upper -#> parent_0 99.59849 1.57022 96.40385 1.03e+02 +#> parent_0 99.59848 1.57022 96.40384 1.03e+02 #> k_parent_sink 0.04792 0.00365 0.04049 5.54e-02 #> k_parent_m1 0.05078 0.00205 0.04661 5.49e-02 #> k_m1_sink 0.00526 0.00070 0.00384 6.69e-03 #> sigma 3.12550 0.35852 2.39609 3.85e+00#> Estimate se_notrans t value Pr(>t) Lower Upper -#> parent_0 99.59849 1.57022 63.43 2.30e-36 96.40385 1.03e+02 +#> parent_0 99.59848 1.57022 63.43 2.30e-36 96.40384 1.03e+02 #> k_parent_sink 0.04792 0.00365 13.11 6.13e-15 0.04049 5.54e-02 #> k_parent_m1 0.05078 0.00205 24.80 3.27e-23 0.04661 5.49e-02 #> k_m1_sink 0.00526 0.00070 7.51 6.16e-09 0.00384 6.69e-03 diff --git a/docs/reference/update.mkinfit.html b/docs/reference/update.mkinfit.html index f7149d84..09050e53 100644 --- a/docs/reference/update.mkinfit.html +++ b/docs/reference/update.mkinfit.html @@ -75,7 +75,7 @@ override these starting values." />diff --git a/man/sigma_twocomp.Rd b/man/sigma_twocomp.Rd index d205a2f7..e93254a5 100644 --- a/man/sigma_twocomp.Rd +++ b/man/sigma_twocomp.Rd @@ -59,4 +59,8 @@ Additive, Multiplicative, and Mixed Analytical Errors. Clinical Chemistry Rocke, David M. and Lorenzato, Stefan (1995) A two-component model for measurement error in analytical chemistry. Technometrics 37(2), 176-184. + +Ranke J and Meinecke S (2019) Error Models for the Kinetic Evaluation of Chemical +Degradation Data. \emph{Environments} 6(12) 124 +\doi{10.3390/environments6120124}. } diff --git a/test.log b/test.log index 18f1a89f..80b64269 100644 --- a/test.log +++ b/test.log @@ -28,10 +28,10 @@ Testing mkin ✔ | 4 | Summary [0.1 s] ✔ | 1 | Summaries of old mkinfit objects ✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [2.2 s] -✔ | 9 | Hypothesis tests [8.2 s] +✔ | 9 | Hypothesis tests [8.3 s] ✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.5 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 41.0 s +Duration: 40.9 s [ FAIL 0 | WARN 0 | SKIP 0 | PASS 174 ] diff --git a/vignettes/FOCUS_D.html b/vignettes/FOCUS_D.html index 8ebd1047..f1f078db 100644 --- a/vignettes/FOCUS_D.html +++ b/vignettes/FOCUS_D.html @@ -11,10 +11,22 @@ -Example evaluation of FOCUS Example Dataset D + - - - - - - + @@ -215,7 +253,7 @@ code > span.er { color: #a61717; background-color: #e3d2d2; }Calculation of time weighted average concentrations with mkin
Johannes Ranke
-2020-10-08
+Last change 18 September 2019 (rebuilt 2021-02-15)
@@ -251,9 +289,9 @@ code > span.er { color: #a61717; background-color: #e3d2d2; } \frac{1}{k_1} \left( 1 - e^{- k_1 t_b} \right) + \frac{e^{- k_1 t_b}}{k_2} \left( 1 - e^{- k_2 (t - t_b)} \right) \right) \]Note that a method for calculating maximum moving window time weighted average concentrations for a model fitted by ‘mkinfit’ or from parent decline model parameters is included in the
-max_twa_parent()
function. If the same is needed for metabolites, the functionpfm::max_twa()
from the ‘pfm’ package can be used.+diff --git a/vignettes/twa.rmd b/vignettes/twa.rmd index 6f283eb2..52baf8aa 100644 --- a/vignettes/twa.rmd +++ b/vignettes/twa.rmd @@ -1,7 +1,7 @@ --- title: Calculation of time weighted average concentrations with mkin author: Johannes Ranke -date: "`r Sys.Date()`" +date: Last change 18 September 2019 (rebuilt `r Sys.Date()`) bibliography: references.bib output: rmarkdown::html_vignette vignette: > diff --git a/vignettes/web_only/FOCUS_Z.html b/vignettes/web_only/FOCUS_Z.html index e8e6e2b4..035b8f84 100644 --- a/vignettes/web_only/FOCUS_Z.html +++ b/vignettes/web_only/FOCUS_Z.html @@ -11,10 +11,22 @@ --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.
+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.
Example evaluation of FOCUS dataset Z + + + + + + +