Mercurial > repos > lecorguille > xcms_merge
changeset 15:2c7d3db37974 draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 088699d00f7e45bebb7da07bebc005c68df058d8
author | lecorguille |
---|---|
date | Wed, 05 Sep 2018 05:57:56 -0400 |
parents | 40ae497bdc57 |
children | 40791ab6c06b |
files | lib.r static/images/xcms_merge_workflow.png xcms_merge.xml |
diffstat | 3 files changed, 45 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/lib.r Fri Aug 31 09:00:33 2018 -0400 +++ b/lib.r Wed Sep 05 05:57:56 2018 -0400 @@ -29,18 +29,21 @@ #@author G. Le Corguille # This function merge several chromBPI or chromTIC into one. -mergeChrom <- function(chromTIC_merged, chromTIC, xdata_merged) { - if (is.null(chromTIC_merged)) return(NULL) - chromTIC_merged@.Data <- cbind(chromTIC_merged@.Data, chromTIC@.Data) - chromTIC_merged@phenoData <- xdata_merged@phenoData - return(chromTIC_merged) +mergeChrom <- function(chrom_merged, chrom) { + if (is.null(chrom_merged)) return(NULL) + chrom_merged@.Data <- cbind(chrom_merged@.Data, chrom@.Data) + return(chrom_merged) } #@author G. Le Corguille # This function merge several xdata into one. mergeXData <- function(args) { - chromTIC <- NULL; chromBPI <- NULL + chromTIC <- NULL + chromBPI <- NULL + chromTIC_adjusted <- NULL + chromBPI_adjusted <- NULL for(image in args$images) { + load(image) # Handle infiles if (!exists("singlefile")) singlefile <- NULL @@ -49,9 +52,12 @@ zipfile <- rawFilePath$zipfile singlefile <- rawFilePath$singlefile retrieveRawfileInTheWorkingDirectory(singlefile, zipfile) + if (exists("raw_data")) xdata <- raw_data 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.*") + cat(sampleNamesList$sampleNamesOrigin,"\n") + if (!exists("xdata_merged")) { xdata_merged <- xdata singlefile_merged <- singlefile @@ -59,16 +65,21 @@ sampleNamesList_merged <- sampleNamesList chromTIC_merged <- chromTIC chromBPI_merged <- chromBPI + chromTIC_adjusted_merged <- chromTIC_adjusted + chromBPI_adjusted_merged <- chromBPI_adjusted } else { if (is(xdata, "XCMSnExp")) xdata_merged <- c(xdata_merged,xdata) else if (is(xdata, "OnDiskMSnExp")) xdata_merged <- .concatenate_OnDiskMSnExp(xdata_merged,xdata) else stop("\n\nERROR: The RData either a OnDiskMSnExp object called raw_data or a XCMSnExp object called xdata") + singlefile_merged <- c(singlefile_merged,singlefile) md5sumList_merged$origin <- rbind(md5sumList_merged$origin,md5sumList$origin) sampleNamesList_merged$sampleNamesOrigin <- c(sampleNamesList_merged$sampleNamesOrigin,sampleNamesList$sampleNamesOrigin) sampleNamesList_merged$sampleNamesMakeNames <- c(sampleNamesList_merged$sampleNamesMakeNames,sampleNamesList$sampleNamesMakeNames) - chromTIC_merged <- mergeChrom(chromTIC_merged, chromTIC, xdata_merged) - chromBPI_merged <- mergeChrom(chromBPI_merged, chromBPI, xdata_merged) + chromTIC_merged <- mergeChrom(chromTIC_merged, chromTIC) + chromBPI_merged <- mergeChrom(chromBPI_merged, chromBPI) + chromTIC_adjusted_merged <- mergeChrom(chromTIC_adjusted_merged, chromTIC_adjusted) + chromBPI_adjusted_merged <- mergeChrom(chromBPI_adjusted_merged, chromBPI_adjusted) } } rm(image) @@ -76,8 +87,6 @@ singlefile <- singlefile_merged; rm(singlefile_merged) md5sumList <- md5sumList_merged; rm(md5sumList_merged) sampleNamesList <- sampleNamesList_merged; rm(sampleNamesList_merged) - chromTIC <- chromTIC_merged; rm(chromTIC_merged) - chromBPI <- chromBPI_merged; rm(chromBPI_merged) if (!is.null(args$sampleMetadata)) { cat("\tXSET PHENODATA SETTING...\n") @@ -92,7 +101,13 @@ stop(error_message) } } - return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList, "chromTIC"=chromTIC, "chromBPI"=chromBPI)) + + if (!is.null(chromTIC_merged)) { chromTIC <- chromTIC_merged; chromTIC@phenoData <- xdata@phenoData } + if (!is.null(chromBPI_merged)) { chromBPI <- chromBPI_merged; chromBPI@phenoData <- xdata@phenoData } + if (!is.null(chromTIC_adjusted_merged)) { chromTIC_adjusted <- chromTIC_adjusted_merged; chromTIC_adjusted@phenoData <- xdata@phenoData } + if (!is.null(chromBPI_adjusted_merged)) { chromBPI_adjusted <- chromBPI_adjusted_merged; chromBPI_adjusted@phenoData <- xdata@phenoData } + + return(list("xdata"=xdata, "singlefile"=singlefile, "md5sumList"=md5sumList,"sampleNamesList"=sampleNamesList, "chromTIC"=chromTIC, "chromBPI"=chromBPI, "chromTIC_adjusted"=chromTIC_adjusted, "chromBPI_adjusted"=chromBPI_adjusted)) } #@author G. Le Corguille @@ -192,6 +207,9 @@ return(myDataFrame) } +#@author G. Le Corguille +# Draw the BPI and TIC graphics +# colored by sample names or class names getPlotChromatogram <- function(chrom, xdata, pdfname="Chromatogram.pdf", aggregationFun = "max") { if (aggregationFun == "sum") @@ -408,7 +426,7 @@ for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) { singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i] singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i] - # In case, an url is used to import data within Galaxy + # In case, an url is used to import data within Galaxy singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1) singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath }
--- a/xcms_merge.xml Fri Aug 31 09:00:33 2018 -0400 +++ b/xcms_merge.xml Wed Sep 05 05:57:56 2018 -0400 @@ -102,17 +102,19 @@ **Upstream tools** -========================= ================= ============================== ========== -Name output file format parameter -========================= ================= ============================== ========== -xcms.xcmsSet xset.RData rdata.xcms.findchrompeaks RData file -------------------------- ----------------- ------------------------------ ---------- -xcms.xcmsSet xset.RData rdata.xcms.findchrompeaks RData file -------------------------- ----------------- ------------------------------ ---------- -xcms.xcmsSet xset.RData rdata.xcms.findchrompeaks RData file -------------------------- ----------------- ------------------------------ ---------- -... ... ... ... -========================= ================= ============================== ========== +========================= ===================== ============================== +Name Output file Format +========================= ===================== ============================== +xcms.findChromPeaks ``*``.raw.xset.RData rdata.xcms.findchrompeaks +------------------------- --------------------- ------------------------------ +xcms.findChromPeaks ``*``.raw.xset.RData rdata.xcms.findchrompeaks +------------------------- --------------------- ------------------------------ +xcms.findChromPeaks ``*``.raw.xset.RData rdata.xcms.findchrompeaks +------------------------- --------------------- ------------------------------ +... ... ... +------------------------- --------------------- ------------------------------ +Upload file [optional] sampleMetadata tabular +========================= ===================== ============================== **Downstream tools** @@ -120,7 +122,7 @@ =========================== ==================== ============================ Name Output file Format =========================== ==================== ============================ -xcms.group xset.RData rdata.xcms.findchrompeaks +xcms.groupChromPeaks xset.merged.RData rdata.xcms.findchrompeaks =========================== ==================== ============================ .. image:: xcms_merge_workflow.png @@ -161,7 +163,7 @@ xset.merged.RData: rdata.xcms.findchrompeaks format - | Rdata file that is necessary in the next step of the workflow "xcms.group". + | Rdata file that is necessary in the next step of the workflow "xcms.groupChromPeaks". ---------------------------------------------------