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

Changeset 6:0888f7ef739a (2016-04-08)
Previous changeset 5:588b0a7ae4b0 (2016-02-22) Next changeset 7:451ff602a957 (2016-04-25)
Commit message:
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 83b80dcd96b379518c2e4ace992affc889d32ca6
modified:
README.rst
abims_xcms_xcmsSet.xml
tool_dependencies.xml
added:
lib.r
macros.xml
planemo_test.sh
test-data/sacuri_current_root.zip
test-data/sacuri_dir_root.log.txt
test-data/sacuri_dir_root.zip
xcms.r
removed:
planemo.sh
test-data/log.txt
test-data/sacuri.zip
test-data/sampleMetadata.tsv
test-data/xset.BPCs_raw.pdf
test-data/xset.RData
test-data/xset.TICs_raw.pdf
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a README.rst
--- a/README.rst Mon Feb 22 16:25:05 2016 -0500
+++ b/README.rst Fri Apr 08 10:38:52 2016 -0400
b
@@ -2,6 +2,10 @@
 Changelog/News
 --------------
 
+**Version 2.0.8 - 06/04/2016**
+
+- TEST: refactoring to pass planemo test using conda dependencies
+
 
 **Version 2.0.7 - 10/02/2016**
 
@@ -16,7 +20,7 @@
 - UPDATE: refactoring to feed the new report tool
 
 
-**Version 2.0.2 - 18/01/2016
+**Version 2.0.2 - 18/01/2016**
 
 - BUGFIX: Some zip files were tag as "corrupt" by R. We have changed the extraction mode to deal with thoses cases.
 
@@ -33,3 +37,13 @@
 - IMPROVEMENT: new datatype/dataset formats (rdata.xcms.raw, rdata.xcms.group, rdata.xcms.retcor ...) will facilitate the sequence of tools and so avoid incompatibility errors.
 
 - IMPROVEMENT: parameter labels have changed to facilitate their reading.
+
+
+Test Status
+-----------
+
+Planemo test using conda: passed
+
+Planemo test using source env.sh: passed
+
+Planemo shed_test : passed
\ No newline at end of file
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a abims_xcms_xcmsSet.xml
--- a/abims_xcms_xcmsSet.xml Mon Feb 22 16:25:05 2016 -0500
+++ b/abims_xcms_xcmsSet.xml Fri Apr 08 10:38:52 2016 -0400
[
@@ -1,20 +1,16 @@
-<tool id="abims_xcms_xcmsSet" name="xcms.xcmsSet" version="2.0.7">
+<tool id="abims_xcms_xcmsSet" name="xcms.xcmsSet" version="2.0.8">
     
     <description>Filtration and Peak Identification using xcmsSet function from xcms R package to preprocess LC/MS data for relative quantification and statistical analysis </description>
     
-    <requirements>
-        <requirement type="package" version="3.1.2">R</requirement>
-        <requirement type="binary">Rscript</requirement>
-        <requirement type="package" version="1.44.0">xcms</requirement>
-        <requirement type="package" version="2.2.0">xcms_w4m_script</requirement>
-    </requirements>
-    
-    <stdio>
-        <exit_code range="1:" level="fatal" />
-    </stdio>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="requirements"/>
+    <expand macro="stdio"/>
     
     <command><![CDATA[
-        xcms.r
+        @COMMAND_XCMS_SCRIPT@
         #if $inputs.input == "lib":
             library $__app__.config.user_library_import_dir/$__user_email__/$inputs.library
         #elif $inputs.input == "zip_file":
@@ -33,16 +29,16 @@
         #if $methods.method == "centWave":
             ppm $methods.ppm
             peakwidth "c($methods.peakwidth)"
-        #if $methods.options_scanrange.option == "show":
+            #if $methods.options_scanrange.option == "show":
                 scanrange "c($methods.options_scanrange.scanrange)"
-        #end if 
-        #if $methods.options_c.option == "show":
-            mzdiff $methods.options_c.mzdiff
-            snthresh $methods.options_c.snthresh
-            integrate $methods.options_c.integrate
-            noise $methods.options_c.noise
-            prefilter "c($methods.options_c.prefilter)"
-        #end if
+            #end if 
+            #if $methods.options_c.option == "show":
+                mzdiff $methods.options_c.mzdiff
+                snthresh $methods.options_c.snthresh
+                integrate $methods.options_c.integrate
+                noise $methods.options_c.noise
+                prefilter "c($methods.options_c.prefilter)"
+            #end if
         #elif $methods.method == "matchedFilter":
             step $methods.step
             fwhm $methods.fwhm
@@ -62,11 +58,7 @@
             scales "c($methods.scales)"
             SNR.method "$methods.SNR_method"
         #end if
-        ;
-        return=\$?;
-        mv log.txt $log;
-        cat $log;
-        sh -c "exit \$return"
+        @COMMAND_LOG_EXIT@
     ]]></command>
     
     <inputs>
@@ -192,25 +184,38 @@
     
     <tests>
         <test>
-            <param name="inputs.input" value="zip_file" />
-            <param name="inputs.zip_file" value="sacuri.zip" />
-            <param name="methods.method" value="matchedFilter" />
-            <param name="methods.step" value="0.01" />
-            <param name="methods.fwhm" value="4" />
-            <param name="methods.options_m.option" value="show" />
-            <param name="methods.options_m.max" value="50" />
-            <param name="methods.options_m.snthresh" value="1" />
-            <param name="methods.options_m.steps" value="2" />
-            <!--<output name="xsetRData" file="xset.RData" />-->
-            <!--<output name="sampleMetadata" file="sampleMetadata.tsv" />-->
-            <!--<output name="ticsRawPdf" file="xset.TICs_raw.pdf" />-->
-            <!--<output name="bpcsRawPdf" file="xset.BPCs_raw.pdf" />-->
+            <param name="inputs|input" value="zip_file" />
+            <param name="inputs|zip_file" value="sacuri_dir_root.zip"  ftype="zip" />
+            <param name="methods|method" value="matchedFilter" />
+            <param name="methods|step" value="0.01" />
+            <param name="methods|fwhm" value="4" />
+            <param name="methods|options_m|option" value="show" />
+            <param name="methods|options_m|max" value="50" />
+            <param name="methods|options_m|snthresh" value="1" />
+            <param name="methods|options_m|steps" value="2" />
             <output name="log">
                 <assert_contents>
-                    <has_text text="object with 9 samples" />
-                    <has_text text="Time range: 0.7-1140 seconds (0-19 minutes)" />
-                    <has_text text="Mass range: 50.0019-999.9863 m/z" />
-                    <has_text text="Peaks: 135846 (about 15094 per sample)" />
+                    <has_text text="object with 4 samples" />
+                    <has_text text="Time range: 0.7-1139.7 seconds (0-19 minutes)" />
+                    <has_text text="Mass range: 50.0021-999.9863 m/z" />
+                    <has_text text="Peaks: 59359 (about 14840 per sample)" />
+                    <has_text text="Peak Groups: 0" />
+                    <has_text text="Sample classes: bio, blank" />
+                </assert_contents>
+            </output>
+        </test> 
+        <test>
+            <param name="inputs|input" value="zip_file" />
+            <param name="inputs|zip_file" value="sacuri_current_root.zip"  ftype="zip" />
+            <param name="methods|method" value="centWave" />
+            <param name="methods|ppm" value="25" />
+            <param name="methods|peakwidth" value="20,50" />
+            <output name="log">
+                <assert_contents>
+                    <has_text text="object with 4 samples" />
+                    <has_text text="Time range: 3.5-1139.2 seconds (0.1-19 minutes)" />
+                    <has_text text="Mass range: 57.9756-593.4086 m/z" />
+                    <has_text text="Peaks: 1535 (about 384 per sample)" />
                     <has_text text="Peak Groups: 0" />
                     <has_text text="Sample classes: bio, blank" />
                 </assert_contents>
@@ -220,17 +225,7 @@
     
     <help><![CDATA[
 
-.. class:: infomark
-
-**Authors**  Colin A. Smith csmith@scripps.edu, Ralf Tautenhahn rtautenh@gmail.com, Steffen Neumann sneumann@ipb-halle.de, Paul Benton hpaul.benton08@imperial.ac.uk and Christopher Conley cjconley@ucdavis.edu 
-
-.. class:: infomark
-
-**Galaxy integration** ABiMS TEAM - UPMC/CNRS - Station biologique de Roscoff and Yann Guitton yann.guitton@univ-nantes.fr - part of Workflow4Metabolomics.org [W4M]
-
- | Contact support@workflow4metabolomics.org for any questions or concerns about the Galaxy implementation of this tool.
-
----------------------------------------------------
+@HELP_AUTHORS@
 
 ============
 Xcms.xcmsSet
@@ -463,6 +458,10 @@
 Changelog/News
 --------------
 
+**Version 2.0.8 - 06/04/2016**
+
+- TEST: refactoring to pass planemo test using conda dependencies
+
 
 **Version 2.0.7 - 10/02/2016**
 
@@ -474,7 +473,7 @@
 
 - UPDATE: refactoring of internal management of inputs/outputs
 
-- UPDATE: refactoring to feed the new report tool
+- TEST: refactoring to feed the new report tool
 
 
 **Version 2.0.2 - 18/01/2016
@@ -497,10 +496,5 @@
 
     ]]></help>
 
-
-    <citations>
-        <citation type="doi">10.1021/ac051437y</citation>
-        <citation type="doi">10.1093/bioinformatics/btu813</citation>
-    </citations>
-
+    <expand macro="citation" />
 </tool>
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a lib.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib.r Fri Apr 08 10:38:52 2016 -0400
[
b'@@ -0,0 +1,400 @@\n+# lib.r version="2.0.1"\n+#Authors ABiMS TEAM\n+#Lib.r for Galaxy Workflow4Metabo\n+#version 2.2\n+#Based on lib.r 2.1\n+#Modifications made by Guitton Yann \n+#correct bug in Base Peak Chromatogram (BPC) option, not only TIC when scanrange used in xcmsSet\n+#Note if scanrange is used a warning is prompted in R console but do not stop PDF generation\n+\n+\n+\n+\n+#@author Y. Guitton\n+getBPC <- function(file,rtcor=NULL, ...) {\n+  object <- xcmsRaw(file)\n+  sel <- profRange(object, ...)\n+  cbind(if (is.null(rtcor)) object@scantime[sel$scanidx] else rtcor ,xcms:::colMax(object@env$profile[sel$massidx,sel$scanidx,drop=FALSE]))\n+  #plotChrom(xcmsRaw(file), base=T)\n+}\n+\n+#@author Y. Guitton\n+getBPCs <- function (xcmsSet=NULL, pdfname="BPCs.pdf",rt=c("raw","corrected"), scanrange=NULL) {\n+  cat("Creating BIC pdf...\\n")\n+\n+  if (is.null(xcmsSet)) {\n+    cat("Enter an xcmsSet \\n")\n+    stop()\n+  } else {\n+    files <- filepaths(xcmsSet)\n+  }\n+\n+  class<-as.vector(levels(xcmsSet@phenoData[,1])) #sometime phenoData have more than 1 column use first as class\n+\n+  classnames<-vector("list",length(class))\n+  for (i in 1:length(class)){\n+    classnames[[i]]<-which( xcmsSet@phenoData[,1]==class[i])\n+  }\n+\n+  N <- dim(phenoData(xcmsSet))[1]\n+\n+  TIC <- vector("list",N)\n+\n+\n+  for (j in 1:N) {\n+\n+    TIC[[j]] <- getBPC(files[j])\n+    #good for raw \n+    # seems strange for corrected\n+    #errors if scanrange used in xcmsSetgeneration\n+    if (!is.null(xcmsSet) && rt == "corrected")\n+    rtcor <- xcmsSet@rt$corrected[[j]] else\n+    rtcor <- NULL\n+    \n+    TIC[[j]] <- getBPC(files[j],rtcor=rtcor)\n+    # TIC[[j]][,1]<-rtcor\n+  }\n+\n+\n+\n+  pdf(pdfname,w=16,h=10)\n+  cols <- rainbow(N)\n+  lty = 1:N\n+  pch = 1:N\n+  #search for max x and max y in BPCs\n+  xlim = range(sapply(TIC, function(x) range(x[,1])))\n+  ylim = range(sapply(TIC, function(x) range(x[,2])))\n+  ylim = c(-ylim[2], ylim[2])\n+\n+\n+  ##plot start\n+  \n+  if (length(class)>2){\n+    for (k in 1:(length(class)-1)){\n+      for (l in (k+1):length(class)){\n+        #print(paste(class[k],"vs",class[l],sep=" ")) \n+        plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Base Peak Chromatograms \\n","BPCs_",class[k]," vs ",class[l], sep=""), xlab = "Retention Time (min)", ylab = "BPC")\n+        colvect<-NULL\n+        for (j in 1:length(classnames[[k]])) {\n+          tic <- TIC[[classnames[[k]][j]]]\n+          # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l")\n+          points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l")\n+          colvect<-append(colvect,cols[classnames[[k]][j]])\n+        }\n+        for (j in 1:length(classnames[[l]])) {\n+          # i=class2names[j]\n+          tic <- TIC[[classnames[[l]][j]]]\n+          points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l")\n+          colvect<-append(colvect,cols[classnames[[l]][j]])\n+        }\n+        legend("topright",paste(basename(files[c(classnames[[k]],classnames[[l]])])), col = colvect, lty = lty, pch = pch)\n+      }\n+    }\n+  }#end if length >2\n+\n+  if (length(class)==2){\n+    k=1\n+    l=2\n+    colvect<-NULL\n+    plot(0, 0, type="n", xlim = xlim/60, ylim = ylim, main = paste("Base Peak Chromatograms \\n","BPCs_",class[k],"vs",class[l], sep=""), xlab = "Retention Time (min)", ylab = "BPC")\n+\n+    for (j in 1:length(classnames[[k]])) {\n+\n+      tic <- TIC[[classnames[[k]][j]]]\n+      # points(tic[,1]/60, tic[,2], col = cols[i], pch = pch[i], type="l")\n+      points(tic[,1]/60, tic[,2], col = cols[classnames[[k]][j]], pch = pch[classnames[[k]][j]], type="l")\n+      colvect<-append(colvect,cols[classnames[[k]][j]])\n+    }\n+    for (j in 1:length(classnames[[l]])) {\n+      # i=class2names[j]\n+      tic <- TIC[[classnames[[l]][j]]]\n+      points(tic[,1]/60, -tic[,2], col = cols[classnames[[l]][j]], pch = pch[classnames[[l]][j]], type="l")\n+      colvect<-append(colvect,cols[classnames[[l]][j]])\n+    }\n+    legen'..b'}\n+\n+\n+##\n+## This function check if xcms will found all the files\n+##\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(paste("find $PWD/",directory," -not -name \'\\\\.*\' -not -path \'*conda-env*\' -type f -name \\"*\\"", sep=""), 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(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr())\n+    stop("\\n\\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.")\n+\n+  }\n+}\n+\n+\n+\n+##\n+## This function check if XML contains special caracters. It also checks integrity and completness.\n+##\n+#@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM\n+checkXmlStructure <- function (directory) {\n+  cat("Checking XML structure...\\n")\n+\n+  cmd=paste("IFS=$\'\\n\'; for xml in $(find",directory,"-not -name \'\\\\.*\' -not -path \'*conda-env*\' -type f -iname \'*.*ml*\'); do if [ $(xmllint --nonet --noout \\"$xml\\" 2> /dev/null; echo $?) -gt 0 ]; then echo $xml;fi; done;")\n+  capture=system(cmd,intern=TRUE)\n+\n+  if (length(capture)>0){\n+    #message=paste("The following mzXML or mzML file is incorrect, please check these files first:",capture)\n+    write("\\n\\nERROR: The following mzXML or mzML file(s) are incorrect, please check these files first:", stderr())\n+    write(capture, stderr())\n+    stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files")\n+  }\n+   \n+}\n+\n+\n+##\n+## This function check if XML contain special characters\n+##\n+#@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM\n+deleteXmlBadCharacters<- function (directory) {\n+  cat("Checking Non ASCII characters in the XML...\\n")\n+\n+  processed=F\n+  l=system( paste("find",directory, "-not -name \'\\\\.*\' -not -path \'*conda-env*\' -type f -iname \'*.*ml*\'"),intern=TRUE) \n+  for (i in l){\n+    cmd=paste("LC_ALL=C grep \'[^ -~]\' \\"",i,"\\"",sep="")\n+    capture=suppressWarnings(system(cmd,intern=TRUE))\n+    if (length(capture)>0){\n+      cmd=paste("perl -i -pe \'s/[^[:ascii:]]//g;\'",i)\n+      print( paste("WARNING: Non ASCII characters have been removed from the ",i,"file") )\n+      c=system(cmd,intern=TRUE)\n+      capture=""\n+      processed=T \n+    }\n+  }\n+  if (processed) cat("\\n\\n")\n+  return(processed)\n+}\n+\n+\n+## \n+## This function will compute MD5 checksum to check the data integrity\n+##\n+#@author Gildas Le Corguille lecorguille@sb-roscoff.fr\n+getMd5sum <- function (directory) {\n+  cat("Compute md5 checksum...\\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+  exists <- file.exists(files)\n+  files <- files[exists]\n+\n+  library(tools)\n+\n+  #cat("\\n\\n")\n+\n+  return(as.matrix(md5sum(files)))\n+}\n+\n'
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Fri Apr 08 10:38:52 2016 -0400
[
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<macros>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="3.1.2">R</requirement>
+     <requirement type="package" version="0.4_1">r-snow</requirement>
+            <requirement type="package" version="1.44.0">bioconductor-xcms</requirement>
+     <requirement type="package" version="1.1_4">r-batch</requirement>
+        </requirements>
+    </xml>
+    <xml name="stdio">
+        <stdio>
+            <exit_code range="1" level="fatal" />
+        </stdio>
+    </xml>
+
+    <token name="@COMMAND_XCMS_SCRIPT@">
+        LANG=C Rscript $__tool_directory__/xcms.r
+    </token>
+
+    <token name="@COMMAND_LOG_EXIT@">
+        ;
+        return=\$?;
+        mv log.txt $log;
+        cat $log;
+        sh -c "exit \$return"
+    </token>
+
+    <token name="@HELP_AUTHORS@">
+.. class:: infomark
+
+**Authors**  Colin A. Smith csmith@scripps.edu, Ralf Tautenhahn rtautenh@gmail.com, Steffen Neumann sneumann@ipb-halle.de, Paul Benton hpaul.benton08@imperial.ac.uk and Christopher Conley cjconley@ucdavis.edu 
+
+.. class:: infomark
+
+**Galaxy integration** ABiMS TEAM - UPMC/CNRS - Station biologique de Roscoff and Yann Guitton yann.guitton@oniris-nantes.fr - part of Workflow4Metabolomics.org [W4M]
+
+ | Contact support@workflow4metabolomics.org for any questions or concerns about the Galaxy implementation of this tool.
+
+---------------------------------------------------
+
+    </token>
+
+
+    <xml name="citation">
+        <citations>
+            <citation type="doi">10.1021/ac051437y</citation>
+            <citation type="doi">10.1093/bioinformatics/btu813</citation>
+        </citations>
+    </xml>
+</macros>
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a planemo.sh
--- a/planemo.sh Mon Feb 22 16:25:05 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,1 +0,0 @@
-planemo shed_init -f --name=xcms_xcms_set --owner=lecorguille --description="[W4M][GC-MS] XCMS R Package - Preprocessing - peaks calling in NetCDF/mzXML files" --homepage_url="http://workflow4metabolomics.org" --long_description="Part of the W4M project: http://workflow4metabolomics.org\n\nXCMS: http://www.bioconductor.org/packages/release/bioc/html/xcms.html\n\nFiltration and Peak Identification using xcmsSet function from xcms R package to preprocess LC/MS data for relative quantification and statistical analysis\n\nBEWARE: this tool don't come with its script. You will need to install the dedicated package_xcms_w4m_script too" --category="Metabolomics"
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a planemo_test.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo_test.sh Fri Apr 08 10:38:52 2016 -0400
[
@@ -0,0 +1,18 @@
+planemo conda_init
+planemo conda_install .
+planemo test --install_galaxy --conda_dependency_resolution --galaxy_branch "dev"
+
+#All 2 test(s) executed passed.
+#abims_xcms_xcmsSet[0]: passed
+#abims_xcms_xcmsSet[1]: passed
+
+
+
+
+source /w/galaxy/dev/shed_tools_tool_dependency_dir/R/3.1.2/iuc/package_r_3_1_2/1ca39eb16186/env.sh
+source /w/galaxy/dev/shed_tools_tool_dependency_dir/bioconductor-xcms/1.44.0/lecorguille/package_bioconductor_xcms_1_44_0/0c38f7d43e08/env.sh
+planemo test --install_galaxy --galaxy_branch "dev"
+
+#All 2 test(s) executed passed.
+#abims_xcms_xcmsSet[0]: passed
+#abims_xcms_xcmsSet[1]: passed
\ No newline at end of file
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/log.txt
--- a/test-data/log.txt Mon Feb 22 16:25:05 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,56 +0,0 @@
- PACKAGE INFO
-parallel 3.1.1
-BiocGenerics 0.12.1
-Biobase 2.26.0
-Rcpp 0.11.5
-mzR 2.0.0
-igraph 0.7.1
-xcms 1.42.0
-snow 0.3.13
-batch 1.1.4
-
-
- ARGUMENTS INFO
-zipfile /w/galaxy/galaxy4metabolomics/galaxy-dist/database/files/041/dataset_41794.dat
-xfunction xcmsSet
-nSlaves 8
-method matchedFilter
-step 0.01
-fwhm 4
-max 50
-snthresh 1
-steps 2
-
-
- INFILE PROCESSING INFO
-
-
- MAIN PROCESSING INFO
-Starting snow cluster with 8 local sockets.
-Detecting features in file # 1 : HU_neg_028.mzXML 
-Detecting features in file # 2 : HU_neg_060.mzXML 
-Detecting features in file # 3 : HU_neg_051.mzXML 
-Detecting features in file # 4 : HU_neg_017.mzXML 
-Detecting features in file # 5 : HU_neg_034.mzXML 
-Detecting features in file # 6 : Blanc09.mzXML 
-Detecting features in file # 7 : Blanc06.mzXML 
-Detecting features in file # 8 : Blanc12.mzXML 
-Detecting features in file # 9 : Blanc04.mzXML 
-
-
- XSET OBJECT INFO
-An "xcmsSet" object with 9 samples
-
-Time range: 0.7-1140 seconds (0-19 minutes)
-Mass range: 50.0019-999.9863 m/z
-Peaks: 135846 (about 15094 per sample)
-Peak Groups: 0 
-Sample classes: bio, blank 
-
-Profile settings: method = bin
-                  step = 0.01
-
-Memory usage: 13.8 MB
-
-
- DONE
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/sacuri.zip
b
Binary file test-data/sacuri.zip has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/sacuri_current_root.zip
b
Binary file test-data/sacuri_current_root.zip has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/sacuri_dir_root.log.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sacuri_dir_root.log.txt Fri Apr 08 10:38:52 2016 -0400
b
b'@@ -0,0 +1,67 @@\n+\tPACKAGE INFO\n+parallel\t3.2.2\n+BiocGenerics\t0.16.1\n+Biobase\t2.30.0\n+Rcpp\t0.12.2\n+mzR\t2.4.1\n+xcms\t1.44.0\n+snow\t0.4.1\n+batch\t1.1.4\n+\n+\n+\tARGUMENTS INFO\n+zipfile\t/tmp/tmpAmhDSv/files/000/dataset_1.dat\n+xfunction\txcmsSet\n+xsetRdataOutput\t/tmp/tmpAmhDSv/files/000/dataset_2.dat\n+sampleMetadataOutput\t/tmp/tmpAmhDSv/files/000/dataset_3.dat\n+ticspdf\t/tmp/tmpAmhDSv/files/000/dataset_4.dat\n+bicspdf\t/tmp/tmpAmhDSv/files/000/dataset_5.dat\n+nSlaves\t1\n+method\tmatchedFilter\n+step\t0.01\n+fwhm\t4\n+max\t50\n+snthresh\t1\n+steps\t2\n+\n+\n+\tINFILE PROCESSING INFO\n+\n+\n+\tARGUMENTS PROCESSING INFO\n+files_root_directory\t sacuri \n+Compute md5 checksum...\n+Checking XML structure...\n+Checking files filenames compatibilities with xmcs...\n+\n+\n+\tMAIN PROCESSING INFO\n+55:579 60:1264 65:1988 70:2602 75:3287 80:3894 85:4629 90:5499 95:6174 100:6672 105:7194 110:7737 115:8205 120:8673 125:9117 130:9532 135:9973 140:10562 145:10945 150:11380 155:11788 160:12163 165:12477 170:12835 175:13276 180:13632 185:14142 190:14489 195:15022 200:15360 205:15716 210:15992 215:16297 220:16669 225:16895 230:17227 235:17487 240:17657 245:17956 250:18238 255:18464 260:18779 265:18969 270:19194 275:19503 280:19798 285:20041 290:20282 295:20498 300:20673 305:21027 310:21220 315:21403 320:21881 325:22431 330:22630 335:22775 340:22969 345:23144 350:23282 355:23425 360:24001 365:24131 370:24242 375:24362 380:24475 385:24580 390:24763 395:25006 400:25190 405:25308 410:25446 415:25555 420:25648 425:25761 430:25962 435:26057 440:26172 445:26260 450:26343 455:26414 460:26608 465:26720 470:26827 475:26979 480:27048 485:27126 490:27218 495:27272 500:27341 505:27433 510:27487 515:27535 520:27600 525:27758 530:27820 535:27896 540:27940 545:28085 550:28141 555:28298 560:28711 565:28732 570:28760 575:28792 580:28822 585:28995 590:29019 595:29059 600:29090 605:29119 610:29151 615:29182 620:29202 625:29238 630:29266 635:29294 640:29317 645:29472 650:29494 655:29599 660:29628 665:29781 670:29812 675:29868 680:29895 685:29923 690:29953 695:29973 700:30032 705:30048 710:30069 715:30089 720:30107 725:30128 730:30144 735:30168 740:30286 745:30312 750:30331 755:30369 760:30402 765:30420 770:30438 775:30584 780:30620 785:30647 790:30666 795:30682 800:30701 805:30712 810:30785 815:30801 820:30816 825:30831 830:30945 835:30979 840:31004 845:31102 850:31114 855:31132 860:31147 865:31166 870:31175 875:31205 880:31227 885:31253 890:31264 895:31280 900:31298 905:31314 910:31325 915:31337 920:31351 925:31370 930:31389 935:31405 940:31416 945:31442 950:31453 955:31470 960:31486 965:31680 970:31794 975:31803 980:31811 985:31836 990:32026 995:32126 1000:32142 \n+55:826 60:1707 65:2578 70:3373 75:4271 80:5020 85:5907 90:6893 95:7729 100:8434 105:9094 110:9712 115:10298 120:10911 125:11430 130:12005 135:12573 140:13234 145:13750 150:14314 155:14841 160:15333 165:15894 170:16323 175:16847 180:17319 185:17867 190:18337 195:18957 200:19402 205:19925 210:20275 215:20746 220:21271 225:21607 230:22062 235:22473 240:22748 245:23187 250:23559 255:23845 260:24284 265:24628 270:24973 275:25315 280:25726 285:26019 290:26327 295:26632 300:26886 305:27300 310:27579 315:27880 320:28450 325:29107 330:29377 335:29609 340:29860 345:30141 350:30369 355:30586 360:31214 365:31446 370:31656 375:31860 380:32067 385:32210 390:32451 395:32690 400:32909 405:33093 410:33312 415:33488 420:33687 425:33837 430:34074 435:34229 440:34403 445:34541 450:34702 455:34798 460:35015 465:35207 470:35390 475:35528 480:35633 485:35754 490:35880 495:35964 500:36076 505:36165 510:36251 515:36336 520:36439 525:36588 530:36699 535:36810 540:36882 545:37060 550:37124 555:37263 560:37718 565:37789 570:37829 575:37878 580:37915 585:38016 590:38054 595:38102 600:38137 605:38188 610:38237 615:38277 620:38312 625:38359 630:38387 635:38413 640:38450 645:38558 650:38590 655:38714 660:38749 665:38864 670:38914 675:38967 680:39003 685:39038 690:39073 695:39096 700:39199 705:39227 710:39256 715:39279 720:39302 725:39334 730:39358 735:39388 740:39513 745:39537'..b'0:9632 155:9960 160:10258 165:10541 170:10816 175:11141 180:11384 185:11827 190:12048 195:12370 200:12608 205:12929 210:13142 215:13337 220:13642 225:13802 230:14032 235:14204 240:14349 245:14614 250:14773 255:14935 260:15217 265:15344 270:15512 275:15763 280:15966 285:16095 290:16255 295:16456 300:16589 305:16806 310:16956 315:17091 320:17476 325:17978 330:18165 335:18251 340:18393 345:18517 350:18606 355:18739 360:19210 365:19275 370:19358 375:19420 380:19510 385:19577 390:19668 395:19833 400:19955 405:20040 410:20154 415:20244 420:20323 425:20414 430:20577 435:20639 440:20724 445:20785 450:20835 455:20897 460:21073 465:21160 470:21235 475:21428 480:21486 485:21538 490:21599 495:21640 500:21685 505:21738 510:21773 515:21798 520:21863 525:22005 530:22044 535:22121 540:22162 545:22286 550:22340 555:22493 560:22814 565:22842 570:22869 575:22895 580:22927 585:23067 590:23090 595:23119 600:23134 605:23172 610:23197 615:23223 620:23242 625:23275 630:23304 635:23314 640:23339 645:23465 650:23490 655:23600 660:23619 665:23756 670:23781 675:23849 680:23870 685:23895 690:23910 695:23929 700:23992 705:24015 710:24026 715:24044 720:24068 725:24089 730:24122 735:24146 740:24242 745:24259 750:24280 755:24307 760:24330 765:24352 770:24373 775:24493 780:24514 785:24551 790:24563 795:24584 800:24605 805:24637 810:24684 815:24704 820:24715 825:24723 830:24736 835:24763 840:24854 845:24938 850:24950 855:24968 860:24983 865:25000 870:25019 875:25030 880:25046 885:25067 890:25084 895:25100 900:25119 905:25132 910:25141 915:25153 920:25170 925:25184 930:25199 935:25211 940:25224 945:25240 950:25251 955:25266 960:25278 965:25437 970:25548 975:25560 980:25568 985:25580 990:25784 995:25822 \n+55:568 60:1154 65:1793 70:2433 75:3064 80:3635 85:4363 90:5039 95:5627 100:6077 105:6641 110:7124 115:7603 120:8076 125:8439 130:8836 135:9206 140:9628 145:9963 150:10288 155:10623 160:10937 165:11304 170:11676 175:12092 180:12358 185:12768 190:13022 195:13435 200:13746 205:14079 210:14229 215:14412 220:14688 225:14901 230:15155 235:15314 240:15475 245:15750 250:15938 255:16115 260:16396 265:16512 270:16704 275:16893 280:17127 285:17336 290:17484 295:17668 300:17788 305:18044 310:18177 315:18318 320:18785 325:19242 330:19399 335:19491 340:19646 345:19785 350:19886 355:19994 360:20481 365:20574 370:20675 375:20743 380:20827 385:20903 390:21012 395:21202 400:21349 405:21433 410:21527 415:21590 420:21649 425:21741 430:21888 435:21942 440:21998 445:22067 450:22121 455:22169 460:22293 465:22371 470:22476 475:22629 480:22666 485:22706 490:22765 495:22820 500:22881 505:22934 510:22988 515:23039 520:23087 525:23185 530:23226 535:23293 540:23332 545:23463 550:23513 555:23674 560:24058 565:24076 570:24095 575:24132 580:24156 585:24262 590:24278 595:24313 600:24336 605:24360 610:24396 615:24421 620:24459 625:24479 630:24498 635:24521 640:24542 645:24692 650:24712 655:24831 660:24853 665:24976 670:24991 675:25048 680:25063 685:25079 690:25095 695:25114 700:25163 705:25184 710:25202 715:25213 720:25227 725:25250 730:25276 735:25289 740:25384 745:25400 750:25416 755:25458 760:25483 765:25508 770:25530 775:25654 780:25671 785:25692 790:25715 795:25742 800:25752 805:25763 810:25832 815:25845 820:25862 825:25875 830:25890 835:25905 840:26020 845:26094 850:26108 855:26134 860:26150 865:26163 870:26174 875:26185 880:26200 885:26212 890:26225 895:26236 900:26250 905:26262 910:26279 915:26287 920:26299 925:26317 930:26325 935:26339 940:26356 945:26367 950:26381 955:26392 960:26404 965:26592 970:26701 975:26720 980:26743 985:26759 990:26969 995:26990 \n+\n+\n+null device \n+          1 \n+Creating the sampleMetadata file...\n+Creating TIC pdf...\n+Creating BIC pdf...\n+\n+\n+\tXSET OBJECT INFO\n+An "xcmsSet" object with 4 samples\n+\n+Time range: 0.7-1139.7 seconds (0-19 minutes)\n+Mass range: 50.0021-999.9863 m/z\n+Peaks: 59359 (about 14840 per sample)\n+Peak Groups: 0 \n+Sample classes: bio, blank \n+\n+Profile settings: method = bin\n+                  step = 0.01\n+\n+Memory usage: 6.02 MB\n+\n+\n+\tDONE\n'
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/sacuri_dir_root.zip
b
Binary file test-data/sacuri_dir_root.zip has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/sampleMetadata.tsv
--- a/test-data/sampleMetadata.tsv Mon Feb 22 16:25:05 2016 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,10 +0,0 @@
-sampleMetadata class polarity
-HU_neg_028 bio negative
-HU_neg_060 bio negative
-HU_neg_051 bio negative
-HU_neg_017 bio negative
-HU_neg_034 bio negative
-Blanc09 blank negative
-Blanc06 blank negative
-Blanc12 blank negative
-Blanc04 blank negative
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/xset.BPCs_raw.pdf
b
Binary file test-data/xset.BPCs_raw.pdf has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/xset.RData
b
Binary file test-data/xset.RData has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a test-data/xset.TICs_raw.pdf
b
Binary file test-data/xset.TICs_raw.pdf has changed
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a tool_dependencies.xml
--- a/tool_dependencies.xml Mon Feb 22 16:25:05 2016 -0500
+++ b/tool_dependencies.xml Fri Apr 08 10:38:52 2016 -0400
b
@@ -1,12 +1,9 @@
 <?xml version="1.0"?>
 <tool_dependency>
     <package name="R" version="3.1.2">
-        <repository changeset_revision="c987143177d4" name="package_r_3_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
+        <repository changeset_revision="4d2fd1413b56" name="package_r_3_1_2" owner="iuc" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
-    <package name="xcms" version="1.44.0">
-        <repository changeset_revision="4443617bdd85" name="package_r_xcms_1_44_0" owner="lecorguille" toolshed="https://toolshed.g2.bx.psu.edu" />
-    </package>
-    <package name="xcms_w4m_script" version="2.2.0">
-        <repository changeset_revision="115cf2b43a3c" name="package_xcms_w4m_script_2_2_0" owner="lecorguille" toolshed="https://toolshed.g2.bx.psu.edu" />
+    <package name="bioconductor-xcms" version="1.44.0">
+        <repository changeset_revision="58ebb405a3d6" name="package_bioconductor_xcms_1_44_0" owner="lecorguille" toolshed="https://toolshed.g2.bx.psu.edu" />
     </package>
 </tool_dependency>
b
diff -r 588b0a7ae4b0 -r 0888f7ef739a xcms.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xcms.r Fri Apr 08 10:38:52 2016 -0400
[
@@ -0,0 +1,246 @@
+#!/usr/bin/env Rscript
+# xcms.r version="2.2.0"
+#Authors ABIMS TEAM
+#BPC Addition from Y.guitton
+
+
+# ----- LOG FILE -----
+log_file=file("log.txt", open = "wt")
+sink(log_file)
+sink(log_file, type = "output")
+
+
+# ----- PACKAGE -----
+cat("\tPACKAGE INFO\n")
+#pkgs=c("xcms","batch")
+pkgs=c("parallel","BiocGenerics", "Biobase", "Rcpp", "mzR", "xcms","snow","batch")
+for(pkg in pkgs) {
+  suppressPackageStartupMessages( stopifnot( library(pkg, quietly=TRUE, logical.return=TRUE, character.only=TRUE)))
+  cat(pkg,"\t",as.character(packageVersion(pkg)),"\n",sep="")
+}
+source_local <- function(fname){ argv <- commandArgs(trailingOnly = FALSE); base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)); source(paste(base_dir, fname, sep="/")) }
+cat("\n\n"); 
+
+
+
+
+
+# ----- ARGUMENTS -----
+cat("\tARGUMENTS INFO\n")
+listArguments = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
+write.table(as.matrix(listArguments), col.names=F, quote=F, sep='\t')
+
+cat("\n\n");
+
+
+# ----- ARGUMENTS PROCESSING -----
+cat("\tINFILE PROCESSING INFO\n")
+
+#image is an .RData file necessary to use xset variable given by previous tools
+if (!is.null(listArguments[["image"]])){
+  load(listArguments[["image"]]); listArguments[["image"]]=NULL
+}
+
+#Import the different functions
+source_local("lib.r")
+
+cat("\n\n")
+
+#Import the different functions
+
+# ----- PROCESSING INFILE -----
+cat("\tARGUMENTS PROCESSING INFO\n")
+
+# Save arguments to generate a report
+if (!exists("listOFlistArguments")) listOFlistArguments=list()
+listOFlistArguments[[paste(format(Sys.time(), "%y%m%d-%H:%M:%S_"),listArguments[["xfunction"]],sep="")]] = listArguments
+
+
+#saving the commun parameters
+thefunction = listArguments[["xfunction"]]; listArguments[["xfunction"]]=NULL #delete from the list of arguments
+
+xsetRdataOutput = paste(thefunction,"RData",sep=".")
+if (!is.null(listArguments[["xsetRdataOutput"]])){
+  xsetRdataOutput = listArguments[["xsetRdataOutput"]]; listArguments[["xsetRdataOutput"]]=NULL
+}
+
+rplotspdf = "Rplots.pdf"
+if (!is.null(listArguments[["rplotspdf"]])){
+  rplotspdf = listArguments[["rplotspdf"]]; listArguments[["rplotspdf"]]=NULL
+}
+
+sampleMetadataOutput = "sampleMetadata.tsv"
+if (!is.null(listArguments[["sampleMetadataOutput"]])){
+  sampleMetadataOutput = listArguments[["sampleMetadataOutput"]]; listArguments[["sampleMetadataOutput"]]=NULL
+}
+
+
+
+
+if (thefunction %in% c("xcmsSet","retcor")) {
+  ticspdf = listArguments[["ticspdf"]]; listArguments[["ticspdf"]]=NULL
+  bicspdf = listArguments[["bicspdf"]]; listArguments[["bicspdf"]]=NULL
+}
+
+#necessary to unzip .zip file uploaded to Galaxy
+#thanks to .zip file it's possible to upload many file as the same time conserving the tree hierarchy of directories
+
+
+if (!is.null(listArguments[["zipfile"]])){
+  zipfile= listArguments[["zipfile"]]; listArguments[["zipfile"]]=NULL
+}
+
+if (!is.null(listArguments[["library"]])){
+  directory=listArguments[["library"]]; listArguments[["library"]]=NULL
+  if(!file.exists(directory)){
+    error_message=paste("Cannot access the directory:",directory,". Please verify if the directory exists or not.")
+    print(error_message)
+    stop(error_message)
+  }
+}
+
+# We unzip automatically the chromatograms from the zip files.
+if (thefunction %in% c("xcmsSet","retcor","fillPeaks"))  {
+  if(exists("zipfile") && (zipfile!="")) {
+    if(!file.exists(zipfile)){
+      error_message=paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")
+      print(error_message)
+      stop(error_message)
+    }
+
+    #list all file in the zip file
+    #zip_files=unzip(zipfile,list=T)[,"Name"]
+
+
+    #unzip
+    suppressWarnings(unzip(zipfile, unzip="unzip"))
+
+    #get the directory name
+    filesInZip=unzip(zipfile, list=T); 
+    directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])));
+    directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
+    directory = "."
+    if (length(directories) == 1) directory = directories
+    
+    cat("files_root_directory\t",directory,"\n")
+
+    # 
+    md5sumList=list("origin"=getMd5sum(directory))
+
+    # Check and fix if there are non ASCII characters. If so, they will be removed from the *mzXML mzML files.
+    # Remove because can create issue with some clean files
+    #@TODO: fix me
+    #if (deleteXmlBadCharacters(directory)) {
+    #  md5sumList=list("removalBadCharacters"=getMd5sum(directory))
+    #}
+
+  }
+}
+
+#addition of the directory to the list of arguments in the first position
+if (thefunction == "xcmsSet") {
+  checkXmlStructure(directory)
+  checkFilesCompatibilityWithXcms(directory)
+  listArguments=append(directory, listArguments)
+}
+
+
+#addition of xset object to the list of arguments in the first position
+if (exists("xset")){
+  listArguments=append(list(xset), listArguments)
+}
+
+cat("\n\n")
+
+
+
+
+
+
+# ----- MAIN PROCESSING INFO -----
+cat("\tMAIN PROCESSING INFO\n")
+
+
+#Verification of a group step before doing the fillpeaks job.
+
+if (thefunction == "fillPeaks") {
+  res=try(is.null(groupnames(xset)))
+  if (class(res) == "try-error"){
+    error<-geterrmessage()
+    write(error, stderr())
+    stop("You must always do a group step after a retcor. Otherwise it won't work for the fillpeaks step")
+  }
+
+}
+
+#change the default display settings
+#dev.new(file="Rplots.pdf", width=16, height=12)
+pdf(file=rplotspdf, width=16, height=12)
+if (thefunction == "group") {
+  par(mfrow=c(2,2))
+}
+#else if (thefunction == "retcor") {
+#try to change the legend display
+#     par(xpd=NA)
+#     par(xpd=T, mar=par()$mar+c(0,0,0,4))
+#}
+
+
+#execution of the function "thefunction" with the parameters given in "listArguments"
+xset = do.call(thefunction, listArguments)
+
+
+cat("\n\n")
+
+dev.off() #dev.new(file="Rplots.pdf", width=16, height=12)
+
+if (thefunction  == "xcmsSet") {
+
+  #transform the files absolute pathways into relative pathways
+  xset@filepaths<-sub(paste(getwd(),"/",sep="") ,"", xset@filepaths)
+
+  if(exists("zipfile") && (zipfile!="")) {
+    
+    #Modify the samples names (erase the path)
+    for(i in 1:length(sampnames(xset))){
+
+      sample_name=unlist(strsplit(sampnames(xset)[i], "/"))
+      sample_name=sample_name[length(sample_name)]
+      sample_name= unlist(strsplit(sample_name,"[.]"))[1]
+      sampnames(xset)[i]=sample_name
+
+    }
+
+  }
+
+}
+
+# -- TIC --
+if (thefunction == "xcmsSet") {
+  sampleNamesList = getSampleMetadata(xcmsSet=xset, sampleMetadataOutput=sampleMetadataOutput)
+  getTICs(xcmsSet=xset, pdfname=ticspdf,rt="raw")
+  getBPCs(xcmsSet=xset,rt="raw",pdfname=bicspdf)
+} else if (thefunction == "retcor") {
+  getTICs(xcmsSet=xset, pdfname=ticspdf,rt="corrected")
+  getBPCs(xcmsSet=xset,rt="corrected",pdfname=bicspdf)
+}
+
+cat("\n\n")
+
+
+# ----- EXPORT -----
+
+cat("\tXSET OBJECT INFO\n")
+print(xset)
+#delete the parameters to avoid the passage to the next tool in .RData image
+
+
+#saving R data in .Rdata file to save the variables used in the present tool
+objects2save = c("xset","zipfile","listOFlistArguments","md5sumList","sampleNamesList")
+save(list=objects2save[objects2save %in% ls()], file=xsetRdataOutput)
+
+cat("\n\n")
+
+
+cat("\tDONE\n")
+