diff lib.r @ 6:03fdfbd914ab draft

planemo upload commit 8dfb0b11442ccce78165b5d8f07555ccbd303cce
author lecorguille
date Thu, 30 Mar 2017 11:27:09 -0400
parents 9fa5856f6184
children 364756ea5f42
line wrap: on
line diff
--- a/lib.r	Thu Sep 29 16:55:16 2016 -0400
+++ b/lib.r	Thu Mar 30 11:27:09 2017 -0400
@@ -7,7 +7,7 @@
 
     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"
-    
+
     mzmlfile = files
     if (samplebyclass > 0) {
         #random selection of N files for IPO in each class
@@ -34,12 +34,35 @@
     peakpickingParametersUser$verbose.columns = TRUE
 
     #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
-    
+    resultPeakpicking = optimizeXcmsSet(mzmlfile, peakpickingParametersUser, nSlaves=peakpickingParametersUser$nSlaves, subdir="../IPO_results") #some images generated by IPO
+
     # 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
+    write.table(t(as.data.frame(resultPeakpicking_best_settings_parameters)), file=parametersOutput,  sep="\t", row.names=T, col.names=F, quote=F)  #can be read by user
+
+    return (resultPeakpicking$best_settings$xset)
+}
+
+##
+## This function launch IPO functions to get the best parameters for group and retcor
+##
+ipo4retgroup = function(xset, directory, parametersOutput, listArguments, samplebyclass=4) {
+    setwd(directory)
 
+    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"
+
+    retcorGroupParameters = getDefaultRetGroupStartingParams(listArguments[["retcorMethod"]]) #get default parameters of IPO
+    print(retcorGroupParameters)
+    # filter listArguments to only get releavant parameters and complete with those that are not declared
+    retcorGroupParametersUser = c(listArguments[names(listArguments) %in% names(retcorGroupParameters)], retcorGroupParameters[!(names(retcorGroupParameters) %in% names(listArguments))])
+    print("retcorGroupParametersUser")
+    print(retcorGroupParametersUser)
+    resultRetcorGroup = optimizeRetGroup(xset, retcorGroupParametersUser, nSlaves=listArguments[["nSlaves"]], subdir="../IPO_results") #some images generated by IPO
+
+    # export
+    resultRetcorGroup_best_settings_parameters = resultRetcorGroup$best_settings
+    write.table(t(as.data.frame(resultRetcorGroup_best_settings_parameters)), file=parametersOutput,  sep="\t", row.names=T, col.names=F, quote=F)  #can be read by user
 }
 
 
@@ -67,7 +90,7 @@
   filesystem_filepaths=filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)]
 
   # COMPARISON
-  if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) { 
+  if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) {
     write("\n\nERROR: List of the files which will not be imported by xcmsSet",stderr())
     write(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr())
     stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.")
@@ -93,5 +116,5 @@
     write(capture, stderr())
     stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files")
   }
-   
+
 }