Repository 'xcms_xcmsset'
hg clone https://toolshed.g2.bx.psu.edu/repos/lecorguille/xcms_xcmsset

Changeset 30:14b1c52fae62 (2020-02-12)
Previous changeset 29:793f87231d49 (2020-01-07) Next changeset 31:eb15a3841da4 (2020-04-28)
Commit message:
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f1caf2a3bf23cf319a75dd12c86402555dd02617"
modified:
README.rst
abims_xcms_xcmsSet.xml
lib.r
macros_xcms.xml
xcms_xcmsSet.r
b
diff -r 793f87231d49 -r 14b1c52fae62 README.rst
--- a/README.rst Tue Jan 07 08:16:02 2020 -0500
+++ b/README.rst Wed Feb 12 08:30:58 2020 -0500
b
@@ -24,6 +24,10 @@
 
 .. _News: https://bioconductor.org/packages/release/bioc/news/xcms/NEWS
 
+**Version 3.6.1.0 - 03/09/2019**
+
+- UPGRADE: upgrade the xcms version from 3.4.4 to 3.6.1 (see XCMS News_)
+
 **Version 3.4.4.1 - 30/04/2019**
 
 - BUGFIX: remove the pre-compute of the chromatograms which was memory consuming. Now, only xcms plot chromatogram will generate the Chromatograms.
b
diff -r 793f87231d49 -r 14b1c52fae62 abims_xcms_xcmsSet.xml
--- a/abims_xcms_xcmsSet.xml Tue Jan 07 08:16:02 2020 -0500
+++ b/abims_xcms_xcmsSet.xml Wed Feb 12 08:30:58 2020 -0500
b
@@ -1,4 +1,4 @@
-<tool id="abims_xcms_xcmsSet" name="xcms findChromPeaks (xcmsSet)" version="@WRAPPER_VERSION@.2">
+<tool id="abims_xcms_xcmsSet" name="xcms findChromPeaks (xcmsSet)" version="@TOOL_VERSION@+galaxy0">
     <description>Chromatographic peak detection</description>
 
     <macros>
@@ -224,7 +224,7 @@
                 <param name="ppm" value="25" />
                 <param name="peakwidth" value="20,50" />
             </conditional>
-            <expand macro="test_file_load_single_ko15"/>
+            <expand macro="test_file_load_single_file" filename="ko15"/>
             <assert_stdout>
                 <has_text text="ppm: 25" />
                 <has_text text="peakwidth: 20, 50" />
@@ -235,6 +235,7 @@
                 <has_text text="Peak Groups: 0" />
                 <has_text text="Sample classes: ." />
             </assert_stdout>
+            <!--<output name="xsetRData" file="ko15-xset.RData" />-->
         </test>
         <!-- DISABLE FOR TRAVIS
         Useful to generate test-data for the further steps
@@ -245,6 +246,7 @@
                 <param name="ppm" value="25" />
                 <param name="peakwidth" value="20,50" />
             </conditional>
+            <expand macro="test_file_load_single_file" filename="ko16"/>
             <assert_stdout>
                 <has_text text="object with 1 samples" />
                 <has_text text="Time range: 2521.7-4477.9 seconds (42-74.6 minutes)" />
@@ -253,6 +255,7 @@
                 <has_text text="Peak Groups: 0" />
                 <has_text text="Sample classes: ." />
             </assert_stdout>
+            <output name="xsetRData" file="ko16-xset.RData" />
         </test>
         <test>
             <param name="image" value="wt15-raw.RData" ftype="rdata" />
@@ -261,6 +264,7 @@
                 <param name="ppm" value="25" />
                 <param name="peakwidth" value="20,50" />
             </conditional>
+            <expand macro="test_file_load_single_file" filename="wt15"/>
             <assert_stdout>
                 <has_text text="object with 1 samples" />
                 <has_text text="Time range: 2517-4473.2 seconds (42-74.6 minutes)" />
@@ -269,6 +273,7 @@
                 <has_text text="Peak Groups: 0" />
                 <has_text text="Sample classes: ." />
             </assert_stdout>
+            <output name="xsetRData" file="wt15-xset.RData" />
         </test>
         <test>
             <param name="image" value="wt16-raw.RData" ftype="rdata" />
@@ -277,6 +282,7 @@
                 <param name="ppm" value="25" />
                 <param name="peakwidth" value="20,50" />
             </conditional>
+            <expand macro="test_file_load_single_file" filename="wt16"/>
             <assert_stdout>
                 <has_text text="object with 1 samples" />
                 <has_text text="Time range: 2521.7-4468.5 seconds (42-74.5 minutes)" />
@@ -285,6 +291,7 @@
                 <has_text text="Peak Groups: 0" />
                 <has_text text="Sample classes: ." />
             </assert_stdout>
+            <output name="xsetRData" file="wt16-xset.RData" />
         </test>
         -->
         <!-- DISABLE FOR TRAVIS
@@ -485,14 +492,13 @@
 
 .. _News: https://bioconductor.org/packages/release/bioc/news/xcms/NEWS
 
+@HELP_XCMS_NEWVERSION_3610@
+
 **Version 3.4.4.1 - 30/04/2019**
 
 - BUGFIX: remove the pre-compute of the chromatograms which was memory consuming. Now, only xcms plot chromatogram will generate the Chromatograms.
 
-**Version 3.4.4.0 - 08/02/2019**
-
-- UPGRADE: upgrade the xcms version from 3.0.0 to 3.4.4 (see XCMS News_)
-
+@HELP_XCMS_NEWVERSION_3440@
 
 **Version 3.0.0.0 - 08/03/2018**
 
b
diff -r 793f87231d49 -r 14b1c52fae62 lib.r
--- a/lib.r Tue Jan 07 08:16:02 2020 -0500
+++ b/lib.r Wed Feb 12 08:30:58 2020 -0500
[
b'@@ -42,16 +42,16 @@\n     chromBPI <- NULL\n     chromTIC_adjusted <- NULL\n     chromBPI_adjusted <- NULL\n+    md5sumList <- NULL\n     for(image in args$images) {\n \n         load(image)\n         # Handle infiles\n         if (!exists("singlefile")) singlefile <- NULL\n         if (!exists("zipfile")) zipfile <- NULL\n-        rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)\n+        rawFilePath <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile, args)\n         zipfile <- rawFilePath$zipfile\n         singlefile <- rawFilePath$singlefile\n-        retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)\n \n         if (exists("raw_data")) xdata <- raw_data\n         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.*")\n@@ -149,7 +149,7 @@\n \n     par(mfrow = c(3, 1), mar = c(4, 4, 1, 0.5))\n \n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     names(group_colors) <- unique(xdata$sample_group)\n \n     xlim <- c(min(featureDefinitions(xdata)$rtmin), max(featureDefinitions(xdata)$rtmax))\n@@ -170,7 +170,7 @@\n     pdf(file="raw_vs_adjusted_rt.pdf", width=16, height=12)\n \n     # Color by group\n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     if (length(group_colors) > 1) {\n         names(group_colors) <- unique(xdata$sample_group)\n         plotAdjustedRtime(xdata, col = group_colors[xdata$sample_group])\n@@ -239,15 +239,15 @@\n     pdf(pdfname, width=16, height=10)\n \n     # Color by group\n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     if (length(group_colors) > 1) {\n         names(group_colors) <- unique(xdata$sample_group)\n-        plot(chrom, col = group_colors[chrom$sample_group], main=main)\n+        plot(chrom, col = group_colors[as.factor(chrom$sample_group)], main=main, peakType = "none")\n         legend("topright", legend=names(group_colors), col=group_colors, cex=0.8, lty=1)\n     }\n \n     # Color by sample\n-    plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main)\n+    plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main, peakType = "none")\n     legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1)\n \n     dev.off()\n@@ -317,142 +317,43 @@\n }\n \n \n-# This function check if xcms will found all the files\n-#@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM\n-checkFilesCompatibilityWithXcms <- function(directory) {\n-    cat("Checking files filenames compatibilities with xmcs...\\n")\n-    # WHAT XCMS WILL FIND\n-    filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")\n-    filepattern <- paste(paste("\\\\.", filepattern, "$", sep=""),collapse="|")\n-    info <- file.info(directory)\n-    listed <- list.files(directory[info$isdir], pattern=filepattern, recursive=TRUE, full.names=TRUE)\n-    files <- c(directory[!info$isdir], listed)\n-    files_abs <- file.path(getwd(), files)\n-    exists <- file.exists(files_abs)\n-    files[exists] <- files_abs[exists]\n-    files[exists] <- sub("//","/",files[exists])\n-\n-    # WHAT IS ON THE FILESYSTEM\n-    filesystem_filepaths <- system(paste0("find \\"",getwd(),"/",directory,"\\" -not -name \'\\\\.*\' -not -path \'*conda-env*\' -type f -name \\"*\\""), intern=T)\n-    filesystem_filepaths <- filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)]\n-\n-    # COMPARISON\n-    if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) {\n-        write("\\n\\nERROR: List of the files which will not be imported by xcmsSet",stderr())\n-        write(files'..b'ames <- unlist(strsplit(singlefile_sampleNames,"\\\\|"))\n-\n-    singlefile <- NULL\n-    for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {\n-      singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i]\n-      singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i]\n-      # In case, an url is used to import data within Galaxy\n-      singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1)\n-      singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath\n-    }\n-  }\n-  return(list(zipfile=zipfile, singlefile=singlefile))\n-}\n-\n # This function retrieve the raw file in the working directory\n #   - if zipfile: unzip the file with its directory tree\n #   - if singlefiles: set symlink with the good filename\n #@author Gildas Le Corguille lecorguille@sb-roscoff.fr\n-retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) {\n+retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile, args, prefix="") {\n+\n+    if (!(prefix %in% c("","Positive","Negative","MS1","MS2"))) stop("prefix must be either \'\', \'Positive\', \'Negative\', \'MS1\' or \'MS2\'")\n+\n+    # single - if the file are passed in the command arguments -> refresh singlefile\n+    if (!is.null(args[[paste0("singlefile_galaxyPath",prefix)]])) {\n+      singlefile_galaxyPaths <- unlist(strsplit(args[[paste0("singlefile_galaxyPath",prefix)]],"\\\\|"))\n+      singlefile_sampleNames <- unlist(strsplit(args[[paste0("singlefile_sampleName",prefix)]],"\\\\|"))\n+\n+      singlefile <- NULL\n+      for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {\n+        singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i]\n+        singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i]\n+        # In case, an url is used to import data within Galaxy\n+        singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1)\n+        singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath\n+      }\n+    }\n+    # zipfile - if the file are passed in the command arguments -> refresh zipfile\n+    if (!is.null(args[[paste0("zipfile",prefix)]]))\n+      zipfile <- args[[paste0("zipfile",prefix)]]\n+\n+    # single\n     if(!is.null(singlefile) && (length("singlefile")>0)) {\n+        files <- vector()\n         for (singlefile_sampleName in names(singlefile)) {\n             singlefile_galaxyPath <- singlefile[[singlefile_sampleName]]\n             if(!file.exists(singlefile_galaxyPath)){\n@@ -462,22 +363,16 @@\n \n             if (!suppressWarnings( try (file.link(singlefile_galaxyPath, singlefile_sampleName), silent=T)))\n                 file.copy(singlefile_galaxyPath, singlefile_sampleName)\n-\n+            files <- c(files, singlefile_sampleName)\n         }\n-        directory <- "."\n-\n     }\n+    # zipfile\n     if(!is.null(zipfile) && (zipfile != "")) {\n         if(!file.exists(zipfile)){\n             error_message <- paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")\n             print(error_message)\n             stop(error_message)\n         }\n-\n-        #list all file in the zip file\n-        #zip_files <- unzip(zipfile,list=T)[,"Name"]\n-\n-        #unzip\n         suppressWarnings(unzip(zipfile, unzip="unzip"))\n \n         #get the directory name\n@@ -489,8 +384,17 @@\n \n         cat("files_root_directory\\t",directory,"\\n")\n \n+        filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")\n+        filepattern <- paste(paste("\\\\.", filepattern, "$", sep=""),collapse="|")\n+        info <- file.info(directory)\n+        listed <- list.files(directory[info$isdir], pattern=filepattern,recursive=TRUE, full.names=TRUE)\n+        files <- c(directory[!info$isdir], listed)\n+        exists <- file.exists(files)\n+        files <- files[exists]\n+\n     }\n-    return (directory)\n+    return(list(zipfile=zipfile, singlefile=singlefile, files=files))\n+\n }\n \n \n'
b
diff -r 793f87231d49 -r 14b1c52fae62 macros_xcms.xml
--- a/macros_xcms.xml Tue Jan 07 08:16:02 2020 -0500
+++ b/macros_xcms.xml Wed Feb 12 08:30:58 2020 -0500
b
@@ -1,11 +1,11 @@
 <?xml version="1.0"?>
 <macros>
 
-    <token name="@WRAPPER_VERSION@">3.4.4</token>
+    <token name="@TOOL_VERSION@">3.6.1</token>
     <xml name="requirements">
         <requirements>
-            <requirement type="package" version="@WRAPPER_VERSION@">bioconductor-xcms</requirement>
-            <requirement type="package" version="1.1_4">r-batch</requirement>
+            <requirement type="package" version="@TOOL_VERSION@">bioconductor-xcms</requirement>
+            <requirement type="package" version="1.1_5">r-batch</requirement>
             <requirement type="package" version="1.1_2">r-rcolorbrewer</requirement>
             <requirement type="package" version="6.0">unzip</requirement>
             <yield />
@@ -69,11 +69,11 @@
         </section>
     </xml>
 
-    <xml name="test_file_load_single_ko15">
+    <xml name="test_file_load_single_file" token_filename="">
         <section name="file_load_section">
             <conditional name="file_load_conditional">
                 <param name="file_load_select" value="yes" />
-                <param name="input" value="ko15.CDF" ftype="netcdf" />
+                <param name="input" value="@FILENAME@.CDF" ftype="netcdf" />
             </conditional>
         </section>
     </xml>
@@ -246,6 +246,17 @@
 
     </token>
 
+    <token name="@HELP_XCMS_NEWVERSION_3440@">
+**Version 3.4.4.0 - 08/02/2019**
+
+- UPGRADE: upgrade the xcms version from 3.0.0 to 3.4.4 (see XCMS News_)
+    </token>
+    <token name="@HELP_XCMS_NEWVERSION_3610@">
+**Version 3.6.1+galaxy* - 03/09/2019**
+
+- UPGRADE: upgrade the xcms version from 3.4.4 to 3.6.1 (see XCMS News_)
+    </token>
+
     <xml name="citation">
         <citations>
             <citation type="doi">10.1021/ac051437y</citation>
b
diff -r 793f87231d49 -r 14b1c52fae62 xcms_xcmsSet.r
--- a/xcms_xcmsSet.r Tue Jan 07 08:16:02 2020 -0500
+++ b/xcms_xcmsSet.r Wed Feb 12 08:30:58 2020 -0500
[
@@ -59,12 +59,9 @@
 if (!exists("raw_data")) stop("\n\nERROR: The RData doesn't contain any object called 'raw_data' which is provided by the tool: MSnbase readMSData")
 
 # Handle infiles
-if (!exists("singlefile")) singlefile <- NULL
-if (!exists("zipfile")) zipfile <- NULL
-rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)
+rawFilePath <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile, args)
 zipfile <- rawFilePath$zipfile
 singlefile <- rawFilePath$singlefile
-directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)
 
 
 cat("\n\n")
@@ -76,9 +73,6 @@
 
 cat("\t\tCOMPUTE\n")
 
-## Get the full path to the files
-files <- getMSFiles(directory)
-
 cat("\t\t\tApply filter[s] (if asked)\n")
 if (exists("filterAcquisitionNumParam"))  raw_data <- filterAcquisitionNum(raw_data, filterAcquisitionNumParam[1]:filterAcquisitionNumParam[2])
 if (exists("filterRtParam")) raw_data <- filterRt(raw_data, filterRtParam)
@@ -99,9 +93,6 @@
 # Check if there are no peaks
 if (nrow(chromPeaks(xdata)) == 0) stop("No peaks were detected. You should review your settings")
 
-# Transform the files absolute pathways into relative pathways
-xdata@processingData@files <- sub(paste(getwd(), "/", sep="") , "", xdata@processingData@files)
-
 # Create a sampleMetada file
 sampleNamesList <- getSampleMetadata(xdata=xdata, sampleMetadataOutput="sampleMetadata.tsv")