xrdpkWrapper <- function(data.exp, run, override = FALSE, kerpk = 1, fitmaxiter = 50, gam = 1.0, scl.factor = 1.2, maxwdth=5.0) { print("... Started xrdpkWrapper") # check if xrdpk has already completed successfully for the current job current.dirname <- getwd() print(current.dirname) current.filename <- "xrd-peak-data.rda" xrddatafile <- paste(current.dirname, current.filename, sep = "/") if (file.exists(xrddatafile) && !override) { print("... Started if-clause 1") # File already exists # return the data using load() or data() load(file = xrddatafile) if (run > length(xrdres)) { print("... Started if-clause 1:1") # then it does not really exist xrdres[[run]] <- xrdpk(data.exp, kerpk = kerpk, fitmaxiter = fitmaxiter, gam = gam, scl.factor = scl.factor, maxwdth = maxwdth) save(xrdres, file = xrddatafile) print("... Ended if-clause 1:1") } print("... Ended if-clause 1") return(xrdres) } else { # File does not exist # OR override is TRUE print("... Started else-clause 1") # If file does not exist at all, run all necessary code to re-create it if (!file.exists(xrddatafile)) { xrdres <- list() print("... xrdres list created") xrdres[[run]] <- xrdpk(data.exp, kerpk = kerpk, fitmaxiter = fitmaxiter, gam = gam, scl.factor = scl.factor, maxwdth = maxwdth) save(xrdres, file = xrddatafile) } else { # File already exists, but override is TRUE load(file = xrddatafile) xrdres[[run]] <- xrdpk(data.exp, kerpk = kerpk, fitmaxiter = fitmaxiter, gam = gam, scl.factor = scl.factor, maxwdth = maxwdth) save(xrdres, file = xrddatafile) } print("... Ended else-clause 1") return(xrdres) } }