Mercurial > repos > lecorguille > camera_annotate
changeset 17:73d82de36369 draft
planemo upload commit 1a5357c0e28103a0325b2df858504721f6266049
author | lecorguille |
---|---|
date | Tue, 09 Oct 2018 06:03:01 -0400 |
parents | a2c49996603e |
children | cb923396e70f |
files | CAMERA.r README.rst abims_CAMERA_annotateDiffreport.xml lib.r |
diffstat | 4 files changed, 53 insertions(+), 69 deletions(-) [+] |
line wrap: on
line diff
--- a/CAMERA.r Wed Sep 19 03:22:21 2018 -0400 +++ b/CAMERA.r Tue Oct 09 06:03:01 2018 -0400 @@ -83,11 +83,6 @@ rplotspdf = listArguments[["rplotspdf"]]; listArguments[["rplotspdf"]]=NULL } -dataMatrixOutput = "dataMatrix.tsv" -if (!is.null(listArguments[["dataMatrixOutput"]])){ - dataMatrixOutput = listArguments[["dataMatrixOutput"]]; listArguments[["dataMatrixOutput"]]=NULL -} - variableMetadataOutput = "variableMetadata.tsv" if (!is.null(listArguments[["variableMetadataOutput"]])){ variableMetadataOutput = listArguments[["variableMetadataOutput"]]; listArguments[["variableMetadataOutput"]]=NULL @@ -129,7 +124,7 @@ pdf(file=rplotspdf, width=16, height=12) if (thefunction %in% c("annotatediff")) { - results_list=annotatediff(xset=xset,listArguments=listArguments,variableMetadataOutput=variableMetadataOutput,dataMatrixOutput=dataMatrixOutput) + results_list=annotatediff(xset=xset,listArguments=listArguments,variableMetadataOutput=variableMetadataOutput) xa=results_list[["xa"]] diffrep=results_list[["diffrep"]] variableMetadata=results_list[["variableMetadata"]]
--- a/README.rst Wed Sep 19 03:22:21 2018 -0400 +++ b/README.rst Tue Oct 09 06:03:01 2018 -0400 @@ -2,6 +2,10 @@ Changelog/News -------------- +**Version 2.2.4 - 09/10/2018** + +- NES: CAMERA.annotate no longer export a DataMatrix. fillChromPeaks does the job + **Version 2.2.3 - 30/04/2018** - NEW: support the new xcms 3.0.0 wrapper
--- a/abims_CAMERA_annotateDiffreport.xml Wed Sep 19 03:22:21 2018 -0400 +++ b/abims_CAMERA_annotateDiffreport.xml Tue Oct 09 06:03:01 2018 -0400 @@ -1,4 +1,4 @@ -<tool id="abims_CAMERA_annotateDiffreport" name="CAMERA.annotate" version="2.2.3"> +<tool id="abims_CAMERA_annotateDiffreport" name="CAMERA.annotate" version="2.2.4"> <description>CAMERA annotate function. Returns annotation results (isotope peaks, adducts and fragments) and a diffreport if more than one condition.</description> @@ -18,7 +18,6 @@ ## output variableMetadataOutput '$variableMetadata' - dataMatrixOutput '$datamatrix' ## groupFWHM sigma $groupfwhm.sigma @@ -172,7 +171,6 @@ <outputs> <data name="variableMetadata" format="tabular" label="${image.name[:-6]}.annotate.variableMetadata.tsv" /> - <data name="datamatrix" format="tabular" label="${image.name[:-6]}.annotate.dataMatrix.tsv" /> <data name="rdata_quick_false" format="rdata.camera.quick" label="${image.name[:-6]}.annotate.${$quick_block.findadducts.polarity}.Rdata" > <filter>quick_block['quick'] == 'FALSE'</filter> <change_format> @@ -197,23 +195,20 @@ <expand macro="test_annotate_quick_true"/> <expand macro="test_file_load_zip"/> <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.variableMetadata.tsv" /> - <output name="datamatrix" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.dataMatrix.tsv" /> </test>--> <test> <param name="image" value="faahKO-single.xset.merged.group.retcor.group.fillpeaks.RData"/> <expand macro="test_annotate_diffreport"/> <expand macro="test_annotate_quick_true"/> <expand macro="test_file_load_single"/> - <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.variableMetadata.tsv" /> - <output name="datamatrix" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.dataMatrix.tsv" /> + <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.variableMetadata.tsv" lines_diff="2" /> </test> <test> <param name="image" value="faahKO-single.xset.merged.group.retcor.group.fillpeaks-xcms3.RData"/> <expand macro="test_annotate_diffreport"/> <expand macro="test_annotate_quick_true"/> <expand macro="test_file_load_single"/> - <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.variableMetadata-xcms3.tsv" /> - <output name="datamatrix" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.dataMatrix-xcms3.tsv" /> + <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.variableMetadata-xcms3.tsv" lines_diff="2" /> </test> <test> <param name="image" value="faahKO-single.xset.merged.group.retcor.group.fillpeaks.RData"/> @@ -229,8 +224,7 @@ </section> </conditional> <expand macro="test_file_load_single"/> - <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.rules.variableMetadata.tsv" /> - <output name="datamatrix" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.rules.dataMatrix.tsv" /> + <output name="variableMetadata" file="faahKO.xset.group.retcor.group.fillPeaks.annotate.rules.variableMetadata.tsv" lines_diff="2"/> </test> </tests> @@ -287,19 +281,19 @@ +===========================+=======================================+================================================+ |CAMERA_combinexsAnnot |xset.annotate.Rdata | rdata.camera.positive or rdata.camera.negative | +---------------------------+---------------------------------------+------------------------------------------------+ -|Determine Vdk or Lowess |xset.annotate.dataMatrix.tsv | Tabular | +|Determine Vdk or Lowess |xset.annotate.variableMetadata.tsv | Tabular | +---------------------------+---------------------------------------+------------------------------------------------+ -|Normalization Vdk/Lowess |xset.annotate.dataMatrix.tsv | Tabular | +|Normalization Vdk/Lowess |xset.annotate.variableMetadata.tsv | Tabular | +---------------------------+---------------------------------------+------------------------------------------------+ -|Anova |xset.annotate.dataMatrix.tsv | Tabular | +|Anova |xset.annotate.variableMetadata.tsv | Tabular | +---------------------------+---------------------------------------+------------------------------------------------+ -|PCA |xset.annotate.dataMatrix.tsv | Tabular | +|PCA |xset.annotate.variableMetadata.tsv | Tabular | +---------------------------+---------------------------------------+------------------------------------------------+ -|Hierarchical Clustering |xset.annotate.dataMatrix.tsv | Tabular | +|Hierarchical Clustering |xset.annotate.variableMetadata.tsv | Tabular | +---------------------------+---------------------------------------+------------------------------------------------+ -The output file **xset.annotate.dataMatrix.tsv** is an tabular file. You can continue your analysis using it in the following tools: +The output file **xset.annotate.variableMetadata.tsv** is an tabular file. You can continue your analysis using it in the following tools: | Determine Vdk or Lowess | Normalization Vdk/Lowess @@ -361,10 +355,6 @@ | For each metabolite (row) : | the value of the intensity in each sample, fold, anova, mzmed, mzmin, mzmax, rtmed, rtmin, rtmax, npeaks, isotopes, adduct and pcgroup -xset.annotate.dataMatrix.tsv - - | A tabular file which represents for each metabolite (row), the value of the intensity in each sample (column). - xset.annotate.zip | It contains filebase_eic, filebase_box and filebase.tsv for one conditon vs another (Anova analysis). @@ -377,7 +367,7 @@ .. class:: infomark -The output **"xset.annotate.dataMatrix.tsv"** is a tabular file. You can continue your analysis using it in the following tools of the workflow: +The output **"xset.annotate.variableMetadata.tsv"** is a tabular file. You can continue your analysis using it in the following tools of the workflow: | Determine Vdk or Lowess (Data correction) | Normalization Vdk/Lowess (Data correction) @@ -418,10 +408,6 @@ Output files ------------ -**Example of an xset.annotate.dataMatrix.tsv output** - -.. image:: annotatediffreport_dataMatrix.png - **Example of a part of xset.annotate.variableMetadata.tsv output** .. image:: annotatediffreport_variableMetadata.png @@ -432,6 +418,10 @@ Changelog/News -------------- +**Version 2.2.4 - 09/10/2018** + +- NES: CAMERA.annotate no longer export a DataMatrix. fillChromPeaks does the job + **Version 2.2.3 - 30/04/2018** - NEW: support the new xcms 3.0.0 wrapper
--- a/lib.r Wed Sep 19 03:22:21 2018 -0400 +++ b/lib.r Tue Oct 09 06:03:01 2018 -0400 @@ -57,7 +57,7 @@ } #The function annotateDiffreport without the corr function which bugs -annotatediff <- function(xset=xset, listArguments=listArguments, variableMetadataOutput="variableMetadata.tsv", dataMatrixOutput="dataMatrix.tsv") { +annotatediff <- function(xset=xset, listArguments=listArguments, variableMetadataOutput="variableMetadata.tsv") { # Resolve the bug with x11, with the function png options(bitmapType='cairo') @@ -108,11 +108,6 @@ peakList=getPeaklist(xa,intval=listArguments[["intval"]]) peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name"); - # --- dataMatrix --- - dataMatrix = peakList[,(make.names(colnames(peakList)) %in% c("name", make.names(sampnames(xa@xcmsSet))))] - write.table(dataMatrix, sep="\t", quote=FALSE, row.names=FALSE, file=dataMatrixOutput) - - # --- Multi condition : diffreport --- diffrepOri=NULL if (!is.null(listArguments[["runDiffreport"]]) & nlevels(sampclass(xset))>=2) { @@ -330,24 +325,24 @@ getEIC <- function(object, mzrange, rtrange = 200, groupidx, sampleidx = sampnames(object), rt = c("corrected", "raw")) { - + files <- filepaths(object) grp <- groups(object) samp <- sampnames(object) prof <- profinfo(object) - + rt <- match.arg(rt) - + if (is.numeric(sampleidx)) sampleidx <- sampnames(object)[sampleidx] sampidx <- match(sampleidx, sampnames(object)) - + if (!missing(groupidx)) { if (is.numeric(groupidx)) groupidx <- groupnames(object)[unique(as.integer(groupidx))] grpidx <- match(groupidx, groupnames(object, template = groupidx)) } - + if (missing(mzrange)) { if (missing(groupidx)) stop("No m/z range or groups specified") @@ -369,7 +364,7 @@ else if (is.null(dim(mzrange))) stop("mzrange must be a matrix") colnames(mzrange) <- c("mzmin", "mzmax") - + if (length(rtrange) == 1) { if (missing(groupidx)) rtrange <- matrix(rep(range(object@rt[[rt]][sampidx]), nrow(mzrange)), @@ -380,11 +375,11 @@ } else if (is.null(dim(rtrange))) stop("rtrange must be a matrix or single number") colnames(rtrange) <- c("rtmin", "rtmax") - + ## Ensure that we've got corrected retention time if requested. if (is.null(object@rt[[rt]])) stop(rt, " retention times not present in 'object'!") - + ## Ensure that the defined retention time range is within the rtrange of the ## object: we're using the max minimal rt of all files and the min maximal rt rtrs <- lapply(object@rt[[rt]], range) @@ -406,17 +401,17 @@ rtrange[lower_rt_outside, "rtmin"] <- rtr[1] rtrange[upper_rt_outside, "rtmax"] <- rtr[2] } - + if (missing(groupidx)) gnames <- character(0) else gnames <- groupidx - + eic <- vector("list", length(sampleidx)) names(eic) <- sampleidx - + for (i in seq(along = sampidx)) { - + ## cat(sampleidx[i], "") flush.console() ## getXcmsRaw takes care of rt correction, susetting to scanrage and other @@ -428,7 +423,7 @@ gc() } ## cat("\n") - + invisible(new("xcmsEIC", eic = eic, mzrange = mzrange, rtrange = rtrange, rt = rt, groupnames = gnames)) } @@ -449,15 +444,15 @@ metlin = FALSE, h = 480, w = 640, mzdec=2, missing = numeric(), ...) { - + if ( nrow(object@groups)<1 || length(object@groupidx) <1) { stop("No group information. Use group().") } - + if (!is.numeric(w) || !is.numeric(h)) stop("'h' and 'w' have to be numeric") ## require(multtest) || stop("Couldn't load multtest") - + value <- match.arg(value) groupmat <- groups(object) if (length(groupmat) == 0) @@ -466,20 +461,20 @@ n <- length(samples) classlabel <- sampclass(object) classlabel <- levels(classlabel)[as.vector(unclass(classlabel))] - + values <- groupval(object, "medret", value=value) indecies <- groupval(object, "medret", value = "index") - + if (!all(c(class1,class2) %in% classlabel)) stop("Incorrect Class Labels") - + ## c1 and c2 are column indices of class1 and class2 resp. c1 <- which(classlabel %in% class1) c2 <- which(classlabel %in% class2) ceic <- which(classlabel %in% classeic) if (length(intersect(c1, c2)) > 0) stop("Intersecting Classes") - + ## Optionally replace NA values with the value provided with missing if (length(missing)) { if (is.numeric(missing)) { @@ -493,21 +488,21 @@ warning("`NA` values in xcmsSet. Use fillPeaks() on the object to fill", "-in missing peak values. Note however that this will also ", "insert intensities of 0 for peaks that can not be filled in.") - + mean1 <- rowMeans(values[,c1,drop=FALSE], na.rm = TRUE) mean2 <- rowMeans(values[,c2,drop=FALSE], na.rm = TRUE) - + ## Calculate fold change. ## For foldchange <1 set fold to 1/fold ## See tstat to check which was higher fold <- mean2 / mean1 fold[!is.na(fold) & fold < 1] <- 1/fold[!is.na(fold) & fold < 1] - + testval <- values[,c(c1,c2)] ## Replace eventual infinite values with NA (CAMERA issue #33) testval[is.infinite(testval)] <- NA testclab <- c(rep(0,length(c1)),rep(1,length(c2))) - + if (min(length(c1), length(c2)) >= 2) { tstat <- mt.teststat(testval, testclab, ...) pvalue <- xcms:::pval(testval, testclab, tstat) @@ -543,18 +538,18 @@ values<-values[tsidx,] } else tsidx <- 1:nrow(values) - + if (length(filebase)) write.table(twosamp, paste(filebase, ".tsv", sep = ""), quote = FALSE, sep = "\t", col.names = NA) - + if (eicmax > 0) { if (length(unique(peaks(object)[,"rt"])) > 1) { ## This looks like "normal" LC data - + eicmax <- min(eicmax, length(tsidx)) eics <- getEIC(object, rtrange = eicwidth*1.1, sampleidx = ceic, groupidx = tsidx[seq(length = eicmax)]) - + if (length(filebase)) { eicdir <- paste(filebase, "_eic", sep="") boxdir <- paste(filebase, "_box", sep="") @@ -572,7 +567,7 @@ } } plot(eics, object, rtrange = eicwidth, mzdec=mzdec) - + if (length(filebase)) dev.off() } else { @@ -596,13 +591,13 @@ height = h/72, onefile = FALSE) } } - + plotSpecWindow(object, gidxs = tsidx[seq(length = eicmax)], borderwidth=1) - + if (length(filebase)) dev.off() } } - + invisible(twosamp) }