Mercurial > repos > lecorguille > xcms_retcor
comparison lib.r @ 37:35a20d7c9f33 draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 088699d00f7e45bebb7da07bebc005c68df058d8
author | lecorguille |
---|---|
date | Wed, 05 Sep 2018 05:59:21 -0400 |
parents | e309e6af6744 |
children | 67ee46ce9781 |
comparison
equal
deleted
inserted
replaced
36:e309e6af6744 | 37:35a20d7c9f33 |
---|---|
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. | 31 # This function merge several chromBPI or chromTIC into one. |
32 mergeChrom <- function(chromTIC_merged, chromTIC, xdata_merged) { | 32 mergeChrom <- function(chrom_merged, chrom) { |
33 if (is.null(chromTIC_merged)) return(NULL) | 33 if (is.null(chrom_merged)) return(NULL) |
34 chromTIC_merged@.Data <- cbind(chromTIC_merged@.Data, chromTIC@.Data) | 34 chrom_merged@.Data <- cbind(chrom_merged@.Data, chrom@.Data) |
35 chromTIC_merged@phenoData <- xdata_merged@phenoData | 35 return(chrom_merged) |
36 return(chromTIC_merged) | |
37 } | 36 } |
38 | 37 |
39 #@author G. Le Corguille | 38 #@author G. Le Corguille |
40 # This function merge several xdata into one. | 39 # This function merge several xdata into one. |
41 mergeXData <- function(args) { | 40 mergeXData <- function(args) { |
42 chromTIC <- NULL; chromBPI <- NULL | 41 chromTIC <- NULL |
42 chromBPI <- NULL | |
43 chromTIC_adjusted <- NULL | |
44 chromBPI_adjusted <- NULL | |
43 for(image in args$images) { | 45 for(image in args$images) { |
46 | |
44 load(image) | 47 load(image) |
45 # Handle infiles | 48 # Handle infiles |
46 if (!exists("singlefile")) singlefile <- NULL | 49 if (!exists("singlefile")) singlefile <- NULL |
47 if (!exists("zipfile")) zipfile <- NULL | 50 if (!exists("zipfile")) zipfile <- NULL |
48 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args) | 51 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args) |
49 zipfile <- rawFilePath$zipfile | 52 zipfile <- rawFilePath$zipfile |
50 singlefile <- rawFilePath$singlefile | 53 singlefile <- rawFilePath$singlefile |
51 retrieveRawfileInTheWorkingDirectory(singlefile, zipfile) | 54 retrieveRawfileInTheWorkingDirectory(singlefile, zipfile) |
55 | |
52 if (exists("raw_data")) xdata <- raw_data | 56 if (exists("raw_data")) xdata <- raw_data |
53 if (!exists("xdata")) stop("\n\nERROR: The RData doesn't contain any object called 'xdata'. This RData should have been created by an old version of XMCS 2.*") | 57 if (!exists("xdata")) stop("\n\nERROR: The RData doesn't contain any object called 'xdata'. This RData should have been created by an old version of XMCS 2.*") |
58 | |
54 cat(sampleNamesList$sampleNamesOrigin,"\n") | 59 cat(sampleNamesList$sampleNamesOrigin,"\n") |
60 | |
55 if (!exists("xdata_merged")) { | 61 if (!exists("xdata_merged")) { |
56 xdata_merged <- xdata | 62 xdata_merged <- xdata |
57 singlefile_merged <- singlefile | 63 singlefile_merged <- singlefile |
58 md5sumList_merged <- md5sumList | 64 md5sumList_merged <- md5sumList |
59 sampleNamesList_merged <- sampleNamesList | 65 sampleNamesList_merged <- sampleNamesList |
60 chromTIC_merged <- chromTIC | 66 chromTIC_merged <- chromTIC |
61 chromBPI_merged <- chromBPI | 67 chromBPI_merged <- chromBPI |
68 chromTIC_adjusted_merged <- chromTIC_adjusted | |
69 chromBPI_adjusted_merged <- chromBPI_adjusted | |
62 } else { | 70 } else { |
63 if (is(xdata, "XCMSnExp")) xdata_merged <- c(xdata_merged,xdata) | 71 if (is(xdata, "XCMSnExp")) xdata_merged <- c(xdata_merged,xdata) |
64 else if (is(xdata, "OnDiskMSnExp")) xdata_merged <- .concatenate_OnDiskMSnExp(xdata_merged,xdata) | 72 else if (is(xdata, "OnDiskMSnExp")) xdata_merged <- .concatenate_OnDiskMSnExp(xdata_merged,xdata) |
65 else stop("\n\nERROR: The RData either a OnDiskMSnExp object called raw_data or a XCMSnExp object called xdata") | 73 else stop("\n\nERROR: The RData either a OnDiskMSnExp object called raw_data or a XCMSnExp object called xdata") |
74 | |
66 singlefile_merged <- c(singlefile_merged,singlefile) | 75 singlefile_merged <- c(singlefile_merged,singlefile) |
67 md5sumList_merged$origin <- rbind(md5sumList_merged$origin,md5sumList$origin) | 76 md5sumList_merged$origin <- rbind(md5sumList_merged$origin,md5sumList$origin) |
68 sampleNamesList_merged$sampleNamesOrigin <- c(sampleNamesList_merged$sampleNamesOrigin,sampleNamesList$sampleNamesOrigin) | 77 sampleNamesList_merged$sampleNamesOrigin <- c(sampleNamesList_merged$sampleNamesOrigin,sampleNamesList$sampleNamesOrigin) |
69 sampleNamesList_merged$sampleNamesMakeNames <- c(sampleNamesList_merged$sampleNamesMakeNames,sampleNamesList$sampleNamesMakeNames) | 78 sampleNamesList_merged$sampleNamesMakeNames <- c(sampleNamesList_merged$sampleNamesMakeNames,sampleNamesList$sampleNamesMakeNames) |
70 chromTIC_merged <- mergeChrom(chromTIC_merged, chromTIC, xdata_merged) | 79 chromTIC_merged <- mergeChrom(chromTIC_merged, chromTIC) |
71 chromBPI_merged <- mergeChrom(chromBPI_merged, chromBPI, xdata_merged) | 80 chromBPI_merged <- mergeChrom(chromBPI_merged, chromBPI) |
81 chromTIC_adjusted_merged <- mergeChrom(chromTIC_adjusted_merged, chromTIC_adjusted) | |
82 chromBPI_adjusted_merged <- mergeChrom(chromBPI_adjusted_merged, chromBPI_adjusted) | |
72 } | 83 } |
73 } | 84 } |
74 rm(image) | 85 rm(image) |
75 xdata <- xdata_merged; rm(xdata_merged) | 86 xdata <- xdata_merged; rm(xdata_merged) |
76 singlefile <- singlefile_merged; rm(singlefile_merged) | 87 singlefile <- singlefile_merged; rm(singlefile_merged) |
77 md5sumList <- md5sumList_merged; rm(md5sumList_merged) | 88 md5sumList <- md5sumList_merged; rm(md5sumList_merged) |
78 sampleNamesList <- sampleNamesList_merged; rm(sampleNamesList_merged) | 89 sampleNamesList <- sampleNamesList_merged; rm(sampleNamesList_merged) |
79 chromTIC <- chromTIC_merged; rm(chromTIC_merged) | |
80 chromBPI <- chromBPI_merged; rm(chromBPI_merged) | |
81 | 90 |
82 if (!is.null(args$sampleMetadata)) { | 91 if (!is.null(args$sampleMetadata)) { |
83 cat("\tXSET PHENODATA SETTING...\n") | 92 cat("\tXSET PHENODATA SETTING...\n") |
84 sampleMetadataFile <- args$sampleMetadata | 93 sampleMetadataFile <- args$sampleMetadata |
85 sampleMetadata <- getDataFrameFromFile(sampleMetadataFile, header=F) | 94 sampleMetadata <- getDataFrameFromFile(sampleMetadataFile, header=F) |
90 error_message <- paste("Those samples are missing in your sampleMetadata:", paste(sample_missing, collapse=" ")) | 99 error_message <- paste("Those samples are missing in your sampleMetadata:", paste(sample_missing, collapse=" ")) |
91 print(error_message) | 100 print(error_message) |
92 stop(error_message) | 101 stop(error_message) |
93 } | 102 } |
94 } | 103 } |
95 return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList, "chromTIC"=chromTIC, "chromBPI"=chromBPI)) | 104 |
105 if (!is.null(chromTIC_merged)) { chromTIC <- chromTIC_merged; chromTIC@phenoData <- xdata@phenoData } | |
106 if (!is.null(chromBPI_merged)) { chromBPI <- chromBPI_merged; chromBPI@phenoData <- xdata@phenoData } | |
107 if (!is.null(chromTIC_adjusted_merged)) { chromTIC_adjusted <- chromTIC_adjusted_merged; chromTIC_adjusted@phenoData <- xdata@phenoData } | |
108 if (!is.null(chromBPI_adjusted_merged)) { chromBPI_adjusted <- chromBPI_adjusted_merged; chromBPI_adjusted@phenoData <- xdata@phenoData } | |
109 | |
110 return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList, "chromTIC"=chromTIC, "chromBPI"=chromBPI, "chromTIC_adjusted"=chromTIC_adjusted, "chromBPI_adjusted"=chromBPI_adjusted)) | |
96 } | 111 } |
97 | 112 |
98 #@author G. Le Corguille | 113 #@author G. Le Corguille |
99 # This function convert if it is required the Retention Time in minutes | 114 # This function convert if it is required the Retention Time in minutes |
100 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { | 115 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { |
190 stop(error_message) | 205 stop(error_message) |
191 } | 206 } |
192 return(myDataFrame) | 207 return(myDataFrame) |
193 } | 208 } |
194 | 209 |
210 #@author G. Le Corguille | |
211 # Draw the BPI and TIC graphics | |
212 # colored by sample names or class names | |
195 getPlotChromatogram <- function(chrom, xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") { | 213 getPlotChromatogram <- function(chrom, xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") { |
196 | 214 |
197 if (aggregationFun == "sum") | 215 if (aggregationFun == "sum") |
198 type="Total Ion Chromatograms" | 216 type="Total Ion Chromatograms" |
199 else | 217 else |
406 | 424 |
407 singlefile <- NULL | 425 singlefile <- NULL |
408 for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) { | 426 for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) { |
409 singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i] | 427 singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i] |
410 singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i] | 428 singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i] |
411 # In case, an url is used to import data within Galaxy | 429 # In case, an url is used to import data within Galaxy |
412 singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1) | 430 singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1) |
413 singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath | 431 singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath |
414 } | 432 } |
415 } | 433 } |
416 return(list(zipfile=zipfile, singlefile=singlefile)) | 434 return(list(zipfile=zipfile, singlefile=singlefile)) |