diff xcms_xcmsSet.r @ 35:7f636ad1162b draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f01148783819c37e474790dbd56619862960448a
author lecorguille
date Tue, 03 Apr 2018 11:37:02 -0400
parents efd23113d5f4
children d39b9aff9cf7
line wrap: on
line diff
--- a/xcms_xcmsSet.r	Thu Mar 08 05:51:32 2018 -0500
+++ b/xcms_xcmsSet.r	Tue Apr 03 11:37:02 2018 -0400
@@ -32,42 +32,40 @@
 #saving the commun parameters
 BPPARAM <- MulticoreParam(1)
 if (!is.null(args$BPPARAM)){
-    BPPARAM <- MulticoreParam(args$BPPARAM); args$BPPARAM <- NULL
+    BPPARAM <- MulticoreParam(args$BPPARAM)
 }
 register(BPPARAM)
 
 #saving the specific parameters
-if (!is.null(args$filterAcquisitionNum)){
-    filterAcquisitionNumParam <- args$filterAcquisitionNum; args$filterAcquisitionNum <- NULL
-}
-if (!is.null(args$filterRt)){
-    filterRtParam <- args$filterRt; args$filterRt <- NULL
+if (!is.null(args$filterAcquisitionNum)) filterAcquisitionNumParam <- args$filterAcquisitionNum
+if (!is.null(args$filterRt)) filterRtParam <- args$filterRt
+if (!is.null(args$filterMz)) filterMzParam <- args$filterMz
+
+method <- args$method
+
+if (!is.null(args$roiList)){
+    cat("\t\troiList provided\n")
+    args$roiList <- list(getDataFrameFromFile(args$roiList))
+    print(args$roiList)
 }
-if (!is.null(args$filterMz)){
-    filterMzParam <- args$filterMz; args$filterMz <- NULL
-}
-
-method <- args$method; args$method <- NULL
 
 cat("\n\n")
 
 # ----- INFILE PROCESSING -----
 cat("\tINFILE PROCESSING INFO\n")
 
+#image is an .RData file necessary to use xset variable given by previous tools
+load(args$image)
+if (!exists("raw_data")) stop("\n\nERROR: The RData doesn't contain any object called 'raw_data' which is provided by the tool: MSnbase readMSData")
+
 # Handle infiles
 if (!exists("singlefile")) singlefile <- NULL
 if (!exists("zipfile")) zipfile <- NULL
 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)
 zipfile <- rawFilePath$zipfile
 singlefile <- rawFilePath$singlefile
-args <- rawFilePath$args
 directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)
 
-# Check some character issues
-md5sumList <- list("origin" = getMd5sum(directory))
-checkXmlStructure(directory)
-checkFilesCompatibilityWithXcms(directory)
-
 
 cat("\n\n")
 
@@ -81,27 +79,15 @@
 ## Get the full path to the files
 files <- getMSFiles(directory)
 
-cat("\t\t\tCreate a phenodata data.frame\n")
-s_groups <- sapply(files, function(x) tail(unlist(strsplit(dirname(x),"/")), n=1))
-s_name <- tools::file_path_sans_ext(basename(files))
-pd <- data.frame(sample_name=s_name, sample_group=s_groups, stringsAsFactors=FALSE)
-print(pd)
-
-cat("\t\t\tLoad Raw Data\n")
-raw_data <- readMSData(files=files, pdata = new("NAnnotatedDataFrame", pd), mode="onDisk")
-
 cat("\t\t\tApply filter[s] (if asked)\n")
-if (exists("filterAcquisitionNumParam")) {
-    raw_data <- filterAcquisitionNum(raw_data, filterAcquisitionNumParam[1]:filterAcquisitionNumParam[2])
-}
-if (exists("filterRtParam")) {
-    raw_data <- filterRt(raw_data, filterRtParam)
-}
-if (exists("filterMzParam")) {
-    raw_data <- filterMz(raw_data, filterMzParam)
-}
+if (exists("filterAcquisitionNumParam"))  raw_data <- filterAcquisitionNum(raw_data, filterAcquisitionNumParam[1]:filterAcquisitionNumParam[2])
+if (exists("filterRtParam")) raw_data <- filterRt(raw_data, filterRtParam)
+if (exists("filterMzParam")) raw_data <- filterMz(raw_data, filterMzParam)
 
 cat("\t\t\tChromatographic peak detection\n")
+# clear the arguement list to remove unexpected key/value as singlefile_galaxyPath or method ...
+args <- args[names(args) %in% slotNames(do.call(paste0(method,"Param"), list()))]
+
 findChromPeaksParam <- do.call(paste0(method,"Param"), args)
 print(findChromPeaksParam)
 xdata <- findChromPeaks(raw_data, param=findChromPeaksParam)