comparison 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
comparison
equal deleted inserted replaced
34:efd23113d5f4 35:7f636ad1162b
30 cat("\tARGUMENTS PROCESSING INFO\n") 30 cat("\tARGUMENTS PROCESSING INFO\n")
31 31
32 #saving the commun parameters 32 #saving the commun parameters
33 BPPARAM <- MulticoreParam(1) 33 BPPARAM <- MulticoreParam(1)
34 if (!is.null(args$BPPARAM)){ 34 if (!is.null(args$BPPARAM)){
35 BPPARAM <- MulticoreParam(args$BPPARAM); args$BPPARAM <- NULL 35 BPPARAM <- MulticoreParam(args$BPPARAM)
36 } 36 }
37 register(BPPARAM) 37 register(BPPARAM)
38 38
39 #saving the specific parameters 39 #saving the specific parameters
40 if (!is.null(args$filterAcquisitionNum)){ 40 if (!is.null(args$filterAcquisitionNum)) filterAcquisitionNumParam <- args$filterAcquisitionNum
41 filterAcquisitionNumParam <- args$filterAcquisitionNum; args$filterAcquisitionNum <- NULL 41 if (!is.null(args$filterRt)) filterRtParam <- args$filterRt
42 if (!is.null(args$filterMz)) filterMzParam <- args$filterMz
43
44 method <- args$method
45
46 if (!is.null(args$roiList)){
47 cat("\t\troiList provided\n")
48 args$roiList <- list(getDataFrameFromFile(args$roiList))
49 print(args$roiList)
42 } 50 }
43 if (!is.null(args$filterRt)){
44 filterRtParam <- args$filterRt; args$filterRt <- NULL
45 }
46 if (!is.null(args$filterMz)){
47 filterMzParam <- args$filterMz; args$filterMz <- NULL
48 }
49
50 method <- args$method; args$method <- NULL
51 51
52 cat("\n\n") 52 cat("\n\n")
53 53
54 # ----- INFILE PROCESSING ----- 54 # ----- INFILE PROCESSING -----
55 cat("\tINFILE PROCESSING INFO\n") 55 cat("\tINFILE PROCESSING INFO\n")
56
57 #image is an .RData file necessary to use xset variable given by previous tools
58 load(args$image)
59 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")
56 60
57 # Handle infiles 61 # Handle infiles
58 if (!exists("singlefile")) singlefile <- NULL 62 if (!exists("singlefile")) singlefile <- NULL
59 if (!exists("zipfile")) zipfile <- NULL 63 if (!exists("zipfile")) zipfile <- NULL
60 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args) 64 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)
61 zipfile <- rawFilePath$zipfile 65 zipfile <- rawFilePath$zipfile
62 singlefile <- rawFilePath$singlefile 66 singlefile <- rawFilePath$singlefile
63 args <- rawFilePath$args
64 directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile) 67 directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)
65
66 # Check some character issues
67 md5sumList <- list("origin" = getMd5sum(directory))
68 checkXmlStructure(directory)
69 checkFilesCompatibilityWithXcms(directory)
70 68
71 69
72 cat("\n\n") 70 cat("\n\n")
73 71
74 72
79 cat("\t\tCOMPUTE\n") 77 cat("\t\tCOMPUTE\n")
80 78
81 ## Get the full path to the files 79 ## Get the full path to the files
82 files <- getMSFiles(directory) 80 files <- getMSFiles(directory)
83 81
84 cat("\t\t\tCreate a phenodata data.frame\n")
85 s_groups <- sapply(files, function(x) tail(unlist(strsplit(dirname(x),"/")), n=1))
86 s_name <- tools::file_path_sans_ext(basename(files))
87 pd <- data.frame(sample_name=s_name, sample_group=s_groups, stringsAsFactors=FALSE)
88 print(pd)
89
90 cat("\t\t\tLoad Raw Data\n")
91 raw_data <- readMSData(files=files, pdata = new("NAnnotatedDataFrame", pd), mode="onDisk")
92
93 cat("\t\t\tApply filter[s] (if asked)\n") 82 cat("\t\t\tApply filter[s] (if asked)\n")
94 if (exists("filterAcquisitionNumParam")) { 83 if (exists("filterAcquisitionNumParam")) raw_data <- filterAcquisitionNum(raw_data, filterAcquisitionNumParam[1]:filterAcquisitionNumParam[2])
95 raw_data <- filterAcquisitionNum(raw_data, filterAcquisitionNumParam[1]:filterAcquisitionNumParam[2]) 84 if (exists("filterRtParam")) raw_data <- filterRt(raw_data, filterRtParam)
96 } 85 if (exists("filterMzParam")) raw_data <- filterMz(raw_data, filterMzParam)
97 if (exists("filterRtParam")) {
98 raw_data <- filterRt(raw_data, filterRtParam)
99 }
100 if (exists("filterMzParam")) {
101 raw_data <- filterMz(raw_data, filterMzParam)
102 }
103 86
104 cat("\t\t\tChromatographic peak detection\n") 87 cat("\t\t\tChromatographic peak detection\n")
88 # clear the arguement list to remove unexpected key/value as singlefile_galaxyPath or method ...
89 args <- args[names(args) %in% slotNames(do.call(paste0(method,"Param"), list()))]
90
105 findChromPeaksParam <- do.call(paste0(method,"Param"), args) 91 findChromPeaksParam <- do.call(paste0(method,"Param"), args)
106 print(findChromPeaksParam) 92 print(findChromPeaksParam)
107 xdata <- findChromPeaks(raw_data, param=findChromPeaksParam) 93 xdata <- findChromPeaks(raw_data, param=findChromPeaksParam)
108 94
109 # Check if there are no peaks 95 # Check if there are no peaks