Mercurial > repos > lecorguille > ipo
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") } - + }