diff lib.r @ 4:9fa5856f6184 draft

planemo upload commit 98cb24e57c0ce8ac3294e8c7e87aee337ac29f62
author lecorguille
date Thu, 28 Jul 2016 11:11:38 -0400
parents 9f1e18bc8ce3
children 03fdfbd914ab
line wrap: on
line diff
--- a/lib.r	Thu Jul 28 11:03:04 2016 -0400
+++ b/lib.r	Thu Jul 28 11:11:38 2016 -0400
@@ -4,7 +4,7 @@
 ##
 ipo4xcmsSet = function(directory, parametersOutput, listArguments, samplebyclass=4) {
     setwd(directory)
-    #@TODO: check the behaviour of direcory = "." ?
+
     files = list.files(".", recursive=T)  # "KO/ko15.CDF" "KO/ko16.CDF" "WT/wt15.CDF" "WT/wt16.CDF"
     files_classes = basename(dirname(files))    # "KO", "KO", "WT", "WT"
     
@@ -22,22 +22,23 @@
             }
         }
     }
-    #TODO: else, must we keep the RData to been use directly by group?
+    #@TODO: else, must we keep the RData to been use directly by group?
 
     cat("\t\tSamples used:\n")
     print(mzmlfile)
 
-    paramsPP <- getDefaultXcmsSetStartingParams(listArguments[["method"]]) #load default parameters of IPO
+    peakpickingParameters = getDefaultXcmsSetStartingParams(listArguments[["method"]]) #get default parameters of IPO
+
+    # filter listArguments to only get releavant parameters and complete with those that are not declared
+    peakpickingParametersUser = c(listArguments[names(listArguments) %in% names(peakpickingParameters)], peakpickingParameters[!(names(peakpickingParameters) %in% names(listArguments))])
+    peakpickingParametersUser$verbose.columns = TRUE
 
-    #user defined new parameters
-    paramsPP$ppm <- listArguments[["ppm"]]
-    paramsPP$min_peakwidth <- listArguments[["min_peakwidth"]]
-    paramsPP$max_peakwidth <- listArguments[["max_peakwidth"]]
-    paramsPP$nSlaves <- listArguments[["nSlaves"]]
+    #peakpickingParametersUser$profparam <- list(step=0.005) #not yet used by IPO have to think of it for futur improvement
+    resultPeakpicking = optimizeXcmsSet(mzmlfile, peakpickingParametersUser, subdir="IPO_results") #some images generated by IPO
     
-    #paramsPP$profparam <- list(step=0.005) #not yet used by IPO have to think of it for futur improvement
-    resultPPpos <- optimizeXcmsSet(mzmlfile, paramsPP, subdir="IPO_results") #some images generated by IPO
-    write.table(resultPPpos$best_settings$parameters, file=parametersOutput, sep="\t",row.names=FALSE) #can be read by user
+    # export
+    resultPeakpicking_best_settings_parameters = resultPeakpicking$best_settings$parameters[!(names(resultPeakpicking$best_settings$parameters) %in% c("nSlaves","verbose.columns"))]
+    write.table(resultPeakpicking_best_settings_parameters, file=parametersOutput, sep="\t",row.names=FALSE) #can be read by user
 
 }