Mercurial > repos > lecorguille > xcms_retcor
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 |