diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2014-02-27 16:36:11 +0100 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2014-02-27 16:36:11 +0100 |
commit | 6910e67398dbcb548dae179d361cb24404ad75a4 (patch) | |
tree | a6e0eaa8e0373c302a1c5b4e42620e42628e2ed4 | |
parent | 9ef8537149a37ebef8a2a18232644202872bbe55 (diff) |
Format of gmkin workspace files, copyright, updates
- Change the format of the workspace files of gmkin so they can be
distributed in the mkin package
- Add gmkin workspace datasets FOCUS_2006_gmkin and FOCUS_2006_Z_gmkin
- Restrict the unit test with the Schaefer data to parent and primary
metabolites as formation fraction and DT50 for A2 are higly correlated
and passing the test is platform dependent. For example, the test
fails in 1 out of 14 platforms on CRAN as of today
- Add Eurofins Regulatory AG copyright notices
- Import FME and deSolve instead of depending on them to have cleaner
startup
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | DESCRIPTION | 5 | ||||
-rw-r--r-- | GNUmakefile | 2 | ||||
-rw-r--r-- | R/mkinfit.R | 1 | ||||
-rw-r--r-- | R/mkinpredict.R | 3 | ||||
-rw-r--r-- | data/FOCUS_2006_Z_gmkin.RData | bin | 0 -> 69594 bytes | |||
-rw-r--r-- | data/FOCUS_2006_gmkin.RData | bin | 0 -> 1352 bytes | |||
-rw-r--r-- | inst/GUI/gmkin.R | 89 | ||||
-rw-r--r-- | inst/unitTests/runit.mkinfit.R | 4 | ||||
-rw-r--r-- | man/FOCUS_2006_Z_gmkin.Rd | 27 | ||||
-rw-r--r-- | man/FOCUS_2006_gmkin.Rd | 28 |
11 files changed, 133 insertions, 39 deletions
@@ -1,10 +1,19 @@ -2013-12-04 Johannes Ranke <jranke@uni-bremen.de> for mkin (0.9-25)
+2014-02-27 Johannes Ranke <jranke@uni-bremen.de> for mkin (0.9-25)
* Change vignette format from Sweave to knitr
* Split examples vignette to FOCUS_L and FOCUS_Z
- * Add a starter function for the GUI: gmkin()
* Remove warning about constant formation fractions in mkinmod
as it was based on a misconception
+ * Restrict the unit test with the Schaefer data to parent and primary
+ metabolites as formation fraction and DT50 for A2 are higly correlated and
+ passing the test is platform dependent. For example, the test fails in 1
+ out of 14 platforms on CRAN as of today.
+ * Add Eurofins Regulatory AG copyright notices
+ * Import FME and deSolve instead of depending on them to have clean startup
+ * Add a starter function for the GUI: gmkin()
+ * Change the format of the workspace files of gmkin so they can be
+ distributed and documented in the package
+ * Add gmkin workspace datasets FOCUS_2006_gmkin and FOCUS_2006_Z_gmkin
2013-11-06 Johannes Ranke <jranke@uni-bremen.de> for mkin (0.9-24)
diff --git a/DESCRIPTION b/DESCRIPTION index 7b478e49..c7687ee4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -3,7 +3,7 @@ Type: Package Title: Routines for fitting kinetic models with one or more state variables to chemical degradation data Version: 0.9-25 -Date: 2014-01-22 +Date: 2014-02-27 Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre"), email = "jranke@uni-bremen.de"), person("Katrin", "Lindenberger", role = "ctb"), @@ -14,7 +14,8 @@ Description: Calculation routines based on the FOCUS Kinetics Report (2006). and a choice of the optimisation methods made available by the FME package (default is a Levenberg-Marquardt variant). Please note that no warranty is implied for correctness of results or fitness for a particular purpose. -Depends: FME, deSolve, minpack.lm +Depends: minpack.lm +Imports: FME, deSolve Suggests: knitr, RUnit, gWidgetsWWW2, RSVGTipsDevice License: GPL LazyLoad: yes diff --git a/GNUmakefile b/GNUmakefile index cf5c845e..4511b07f 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -21,7 +21,7 @@ help: @echo " check Invoke build and then check the package" @echo " check-no-vignettes Invoke build without rebuilding vignettes, and then check" @echo " install Invoke build and then install the result" - @echo " install Invoke build without rebuilding vignettes and then install the result" + @echo " install-no-vignettes Invoke build without rebuilding vignettes and then install the result" @echo " test Install a new copy of the package and run it " @echo " through the testsuite" @echo " test-no-vignettes Invoke build without rebuilding vignettes, and then run it" diff --git a/R/mkinfit.R b/R/mkinfit.R index 6c976a37..326f4044 100644 --- a/R/mkinfit.R +++ b/R/mkinfit.R @@ -1,4 +1,5 @@ # Copyright (C) 2010-2014 Johannes Ranke
+# Portions of this code are copyright (C) 2013 Eurofins Regulatory AG
# Contact: jranke@uni-bremen.de
# The summary function is an adapted and extended version of summary.modFit
# from the FME package, v 1.1 by Soetart and Petzoldt, which was in turn
diff --git a/R/mkinpredict.R b/R/mkinpredict.R index 07c1a819..14efc568 100644 --- a/R/mkinpredict.R +++ b/R/mkinpredict.R @@ -1,4 +1,5 @@ -# Copyright (C) 2010-2013 Johannes Ranke +# Copyright (C) 2010-2014 Johannes Ranke +# Some lines in this code are copyright (C) 2013 Eurofins Regulatory AG # Contact: jranke@uni-bremen.de # This file is part of the R package mkin diff --git a/data/FOCUS_2006_Z_gmkin.RData b/data/FOCUS_2006_Z_gmkin.RData Binary files differnew file mode 100644 index 00000000..9e9aeace --- /dev/null +++ b/data/FOCUS_2006_Z_gmkin.RData diff --git a/data/FOCUS_2006_gmkin.RData b/data/FOCUS_2006_gmkin.RData Binary files differnew file mode 100644 index 00000000..22c86252 --- /dev/null +++ b/data/FOCUS_2006_gmkin.RData diff --git a/inst/GUI/gmkin.R b/inst/GUI/gmkin.R index 07f892e0..6de4de2e 100644 --- a/inst/GUI/gmkin.R +++ b/inst/GUI/gmkin.R @@ -1,9 +1,8 @@ -# $Id: mkinGUI.R 122 2013-10-21 20:19:57Z jranke $ {{{1
+# gWidgetsWWW2 GUI for mkin {{{1
-# gWidgetsWWW2 GUI for mkin
-
-# Copyright (C) 2013 Johannes Ranke
-# Contact: jranke@uni-bremen.de, johannesranke@eurofins.com
+# Copyright (C) 2013,2014 Johannes Ranke
+# Portions of this file are copyright (C) 2013 Eurofins Regulatory AG, Switzerland
+# Contact: jranke@uni-bremen.de
# This file is part of the R package mkin
@@ -19,10 +18,11 @@ # You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>
+
require(mkin) # {{{1
# Set the GUI title and create the basic widget layout {{{1
-w <- gwindow("Browser based GUI for kinetic evaluations using mkin")
-sb <- gstatusbar("Powered by gWidgetsWWW2 and Rook", cont = w)
+w <- gwindow("gmkin - Browser based GUI for kinetic evaluations using mkin")
+sb <- gstatusbar(paste("Powered by gWidgetsWWW2, ExtJS, Rook, FME, deSolve and minpack.lm --- Working directory is", getwd()), cont = w)
pg <- gpanedgroup(cont = w, default.size = 300)
center <- gnotebook(cont = pg)
left <- gvbox(cont = pg)
@@ -35,7 +35,8 @@ override <- function(d) { }
# Set default values for project data {{{1
# Initial project file name {{{2
-project_file <- "mkin_FOCUS_2006.RData"
+project_name <- "mkin_FOCUS_2006"
+project_file <- paste0(project_name, ".RData")
# Initial studies {{{2
studies.df <- data.frame(Index = as.integer(1),
Citation = "FOCUS (2006) Guidance on degradation kinetics",
@@ -133,53 +134,79 @@ upload_file_handler <- function(h, ...) {
# General
tmpfile <- normalizePath(svalue(h$obj), winslash = "/")
- try(load(tmpfile))
project_file <<- pr.gf$filename
- svalue(pr.ge) <- project_file
+ project_name <<- try(load(tmpfile))
+ if (inherits(project_name, "try-error")) {
+ galert(paste("Failed to load", project_file, "from", getwd()), parent = w)
+ }
+
+ svalue(sb) <- paste("Loaded project file", project_file, "from working directory", getwd())
+ svalue(pr.ge) <- project_name
+ workspace <- get(project_name)
# Studies
- studies.gdf[,] <- studies.df
+ studies.gdf[,] <- studies.df <- workspace$studies.df
# Datasets
- ds.cur <<- ds.cur
- ds <<- ds
+ ds.cur <<- workspace$ds.cur
+ ds <<- workspace$ds
update_ds.df()
ds.gtable[,] <- ds.df
update_ds_editor()
# Models
- m.cur <<- ds.cur
- m <<- m
+ m.cur <<- workspace$m.cur
+ m <<- workspace$m
update_m.df()
m.gtable[,] <- m.df
update_m_editor()
# Fits
- f.cur <<- f.cur
- f <<- f
- s <<- s
- if (length(f) > 0) update_f.df()
- else f.df <- f.df.empty
+ f.cur <<- workspace$f.cur
+ f <<- workspace$f
+ s <<- workspace$s
+ if (length(f) > 0) {
+ update_f.df()
+ ftmp <<- f[[f.cur]]
+ stmp <<- s[[f.cur]]
+ ds.i <<- ds.cur
+ update_plotting_and_fitting()
+ } else {
+ f.df <<- f.df.empty
+ update_ds_editor()
+ svalue(center) <- 1
+ }
f.gtable[,] <- f.df
- ftmp <<- f[[f.cur]]
- stmp <<- s[[f.cur]]
- ds.i <<- ds.cur
- update_plotting_and_fitting()
}
save_to_file_handler <- function(h, ...)
{
- studies.df <- data.frame(studies.gdf[,], stringsAsFactors = FALSE)
- save(studies.df, ds, ds.cur, m, m.cur, f, s, f.cur, file = project_file)
- galert(paste("Saved project contents to", project_file), parent = w)
+ studies.df <- data.frame(studies.gdf[,], stringsAsFactors = FALSE)
+ workspace <- list(
+ studies.df = studies.df,
+
+ ds = ds,
+ ds.cur = ds.cur,
+
+ m = m,
+ m.cur = m.cur,
+
+ f = f,
+ f.cur = f.cur,
+
+ s = s)
+ assign(project_name, workspace)
+ save(list = project_name, file = project_file)
+ svalue(sb) <- paste("Saved project contents to", project_file, "in working directory", getwd())
}
-change_project_file_handler = function(h, ...) {
- project_file <<- as.character(svalue(h$obj))
+change_project_name_handler = function(h, ...) {
+ project_name <<- as.character(svalue(h$obj))
+ project_file <<- paste0(project_name, ".RData")
}
# Project data management GUI elements {{{2
pr.gf <- gfile(text = "Select project file", cont = prg,
handler = upload_file_handler)
-pr.ge <- gedit(project_file, cont = prg,
- handler = change_project_file_handler)
+pr.ge <- gedit(project_name, cont = prg, label = "Project", width = 240,
+ handler = change_project_name_handler)
# The save button is always visible {{{1
gbutton("Save current project contents", cont = left,
handler = save_to_file_handler)
diff --git a/inst/unitTests/runit.mkinfit.R b/inst/unitTests/runit.mkinfit.R index 89f4daf9..9a6bd722 100644 --- a/inst/unitTests/runit.mkinfit.R +++ b/inst/unitTests/runit.mkinfit.R @@ -1,6 +1,6 @@ # $Id: runit.mkinfit.R 68 2010-09-09 22:40:04Z jranke $
-# Copyright (C) 2010-2012 Johannes Ranke
+# Copyright (C) 2010-2013 Johannes Ranke
# Contact: jranke@uni-bremen.de
# This file is part of the R package mkin
@@ -288,7 +288,7 @@ test.mkinfit.schaefer07_complex_example <- function() s$distimes["A2", "DT50"])
r$means <- (r$KinGUI + r$ModelMaker)/2
r$mkin.deviation <- abs(round(100 * ((r$mkin - r$means)/r$means), digits=1))
- checkIdentical(r$mkin.deviation < 10, rep(TRUE, length(r$mkin.deviation)))
+ checkIdentical(r$mkin.deviation[1:11] < 10, rep(TRUE, 11))
} # }}}
# vim: set foldmethod=marker ts=2 sw=2 expandtab:
diff --git a/man/FOCUS_2006_Z_gmkin.Rd b/man/FOCUS_2006_Z_gmkin.Rd new file mode 100644 index 00000000..4f6a5e4d --- /dev/null +++ b/man/FOCUS_2006_Z_gmkin.Rd @@ -0,0 +1,27 @@ +\name{FOCUS_2006_Z_gmkin}
+\Rdversion{1.1}
+\alias{FOCUS_2006_Z_gmkin}
+\docType{data}
+\title{
+ Example gmkin workspace for Dataset Z from the FOCUS Kinetics report
+}
+\description{
+ Data taken from FOCUS (2006), Appendix 7, p. 350.
+}
+\usage{FOCUS_2006_Z_gmkin}
+\format{
+ A list named \code{FOCUS_2006_Z_gmkin} containing the components
+ needed to populate the \code{\link{gmkin}} user interface.
+}
+\examples{
+ save(FOCUS_2006_Z_gmkin, file = "FOCUS_2006_gmkin_Z.RData")
+ # Now you can load the file "FOCUS_2006_gmkin_Z.RData" from gmkin
+}
+\source{
+ FOCUS (2006) \dQuote{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,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ \url{http://focus.jrc.ec.europa.eu/dk}
+}
+\keyword{datasets}
diff --git a/man/FOCUS_2006_gmkin.Rd b/man/FOCUS_2006_gmkin.Rd new file mode 100644 index 00000000..371ddc70 --- /dev/null +++ b/man/FOCUS_2006_gmkin.Rd @@ -0,0 +1,28 @@ +\name{FOCUS_2006_gmkin}
+\Rdversion{1.1}
+\alias{FOCUS_2006_gmkin}
+\docType{data}
+\title{
+ Example gmkin workspace for Datasets C and D from the FOCUS Kinetics report
+}
+\description{
+ Data taken from FOCUS (2006), Appendix 3. This is the the workspace that is
+ loaded into \code{\link{gmkin}} by default.
+}
+\usage{FOCUS_2006_gmkin}
+\format{
+ A list named \code{FOCUS_2006_gmkin} containing the components
+ needed to populate the gmkin user interface.
+}
+\examples{
+ save(FOCUS_2006_gmkin, file = "FOCUS_2006_gmkin.RData")
+ # Now you can load the file "FOCUS_2006_gmkin.RData" from gmkin
+}
+\source{
+ FOCUS (2006) \dQuote{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,
+ EC Document Reference Sanco/10058/2005 version 2.0, 434 pp,
+ \url{http://focus.jrc.ec.europa.eu/dk}
+}
+\keyword{datasets}
|