comparison lib.r @ 35:2b0a4c7a4a48 draft

planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 5e066c50d2e4ac6d5796b53331cbd3198ab8c4f9-dirty
author lecorguille
date Thu, 05 Apr 2018 18:09:18 -0400
parents 9714270678a7
children e309e6af6744
comparison
equal deleted inserted replaced
34:9714270678a7 35:2b0a4c7a4a48
26 cat("Other loaded packages:\n") 26 cat("Other loaded packages:\n")
27 for (pkg in names(sessioninfo$loadedOnly)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n") 27 for (pkg in names(sessioninfo$loadedOnly)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n")
28 } 28 }
29 29
30 #@author G. Le Corguille 30 #@author G. Le Corguille
31 # This function merge several chromBPI or chromTIC into one.
32 mergeChrom <- function(chromTIC_merged, chromTIC, xdata_merged) {
33 if (is.null(chromTIC_merged)) return(NULL)
34 chromTIC_merged@.Data <- cbind(chromTIC_merged@.Data, chromTIC@.Data)
35 chromTIC_merged@phenoData <- xdata_merged@phenoData
36 return(chromTIC_merged)
37 }
38
39 #@author G. Le Corguille
31 # This function merge several xdata into one. 40 # This function merge several xdata into one.
32 mergeXData <- function(args) { 41 mergeXData <- function(args) {
42 chromTIC <- NULL; chromBPI <- NULL
33 for(image in args$images) { 43 for(image in args$images) {
34 load(image) 44 load(image)
35 # Handle infiles 45 # Handle infiles
36 if (!exists("singlefile")) singlefile <- NULL 46 if (!exists("singlefile")) singlefile <- NULL
37 if (!exists("zipfile")) zipfile <- NULL 47 if (!exists("zipfile")) zipfile <- NULL
45 if (!exists("xdata_merged")) { 55 if (!exists("xdata_merged")) {
46 xdata_merged <- xdata 56 xdata_merged <- xdata
47 singlefile_merged <- singlefile 57 singlefile_merged <- singlefile
48 md5sumList_merged <- md5sumList 58 md5sumList_merged <- md5sumList
49 sampleNamesList_merged <- sampleNamesList 59 sampleNamesList_merged <- sampleNamesList
60 chromTIC_merged <- chromTIC
61 chromBPI_merged <- chromBPI
50 } else { 62 } else {
51 if (is(xdata, "XCMSnExp")) xdata_merged <- c(xdata_merged,xdata) 63 if (is(xdata, "XCMSnExp")) xdata_merged <- c(xdata_merged,xdata)
52 else if (is(xdata, "OnDiskMSnExp")) xdata_merged <- .concatenate_OnDiskMSnExp(xdata_merged,xdata) 64 else if (is(xdata, "OnDiskMSnExp")) xdata_merged <- .concatenate_OnDiskMSnExp(xdata_merged,xdata)
53 else stop("\n\nERROR: The RData either a OnDiskMSnExp object called raw_data or a XCMSnExp object called xdata") 65 else stop("\n\nERROR: The RData either a OnDiskMSnExp object called raw_data or a XCMSnExp object called xdata")
54 singlefile_merged <- c(singlefile_merged,singlefile) 66 singlefile_merged <- c(singlefile_merged,singlefile)
55 md5sumList_merged$origin <- rbind(md5sumList_merged$origin,md5sumList$origin) 67 md5sumList_merged$origin <- rbind(md5sumList_merged$origin,md5sumList$origin)
56 sampleNamesList_merged$sampleNamesOrigin <- c(sampleNamesList_merged$sampleNamesOrigin,sampleNamesList$sampleNamesOrigin) 68 sampleNamesList_merged$sampleNamesOrigin <- c(sampleNamesList_merged$sampleNamesOrigin,sampleNamesList$sampleNamesOrigin)
57 sampleNamesList_merged$sampleNamesMakeNames <- c(sampleNamesList_merged$sampleNamesMakeNames,sampleNamesList$sampleNamesMakeNames) 69 sampleNamesList_merged$sampleNamesMakeNames <- c(sampleNamesList_merged$sampleNamesMakeNames,sampleNamesList$sampleNamesMakeNames)
70 chromTIC_merged <- mergeChrom(chromTIC_merged, chromTIC, xdata_merged)
71 chromBPI_merged <- mergeChrom(chromBPI_merged, chromBPI, xdata_merged)
58 } 72 }
59 } 73 }
60 rm(image) 74 rm(image)
61 xdata <- xdata_merged; rm(xdata_merged) 75 xdata <- xdata_merged; rm(xdata_merged)
62 singlefile <- singlefile_merged; rm(singlefile_merged) 76 singlefile <- singlefile_merged; rm(singlefile_merged)
63 md5sumList <- md5sumList_merged; rm(md5sumList_merged) 77 md5sumList <- md5sumList_merged; rm(md5sumList_merged)
64 sampleNamesList <- sampleNamesList_merged; rm(sampleNamesList_merged) 78 sampleNamesList <- sampleNamesList_merged; rm(sampleNamesList_merged)
79 chromTIC <- chromTIC_merged; rm(chromTIC_merged)
80 chromBPI <- chromBPI_merged; rm(chromBPI_merged)
65 81
66 if (!is.null(args$sampleMetadata)) { 82 if (!is.null(args$sampleMetadata)) {
67 cat("\tXSET PHENODATA SETTING...\n") 83 cat("\tXSET PHENODATA SETTING...\n")
68 sampleMetadataFile <- args$sampleMetadata 84 sampleMetadataFile <- args$sampleMetadata
69 sampleMetadata <- getDataFrameFromFile(sampleMetadataFile, header=F) 85 sampleMetadata <- getDataFrameFromFile(sampleMetadataFile, header=F)
74 error_message <- paste("Those samples are missing in your sampleMetadata:", paste(sample_missing, collapse=" ")) 90 error_message <- paste("Those samples are missing in your sampleMetadata:", paste(sample_missing, collapse=" "))
75 print(error_message) 91 print(error_message)
76 stop(error_message) 92 stop(error_message)
77 } 93 }
78 } 94 }
79 return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList)) 95 return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList, "chromTIC"=chromTIC, "chromBPI"=chromBPI))
80 } 96 }
81 97
82 #@author G. Le Corguille 98 #@author G. Le Corguille
83 # This function convert if it is required the Retention Time in minutes 99 # This function convert if it is required the Retention Time in minutes
84 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { 100 RTSecondToMinute <- function(variableMetadata, convertRTMinute) {
174 stop(error_message) 190 stop(error_message)
175 } 191 }
176 return(myDataFrame) 192 return(myDataFrame)
177 } 193 }
178 194
179 getPlotChromatogram <- function(xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") { 195 getPlotChromatogram <- function(chrom, xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") {
180 196
181 chrom <- chromatogram(xdata, aggregationFun = aggregationFun)
182 if (aggregationFun == "sum") 197 if (aggregationFun == "sum")
183 type="Total Ion Chromatograms" 198 type="Total Ion Chromatograms"
184 else 199 else
185 type="Base Peak Intensity Chromatograms" 200 type="Base Peak Intensity Chromatograms"
186 201
203 # Color by sample 218 # Color by sample
204 plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main) 219 plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main)
205 legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1) 220 legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1)
206 221
207 dev.off() 222 dev.off()
208 }
209
210 #@author G. Le Corguille
211 getPlotTICs <- function(xdata, pdfname="TICs.pdf") {
212 getPlotChromatogram(xdata, pdfname, aggregationFun = "sum")
213 }
214
215 #@author G. Le Corguille
216 getPlotBPIs <- function(xdata, pdfname="BPIs.pdf") {
217 getPlotChromatogram(xdata, pdfname, aggregationFun = "max")
218 } 223 }
219 224
220 225
221 # Get the polarities from all the samples of a condition 226 # Get the polarities from all the samples of a condition
222 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM 227 #@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM