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

Changeset 0:ac5f2936575b (2017-08-03)
Next changeset 1:ae8de756dfcf (2019-12-16)
Commit message:
planemo upload commit 131562ad89c33a2f87754936ce3c8fe6899484c0
added:
README.rst
ipo4retgroup.r
ipo4retgroup.xml
ipo4xcmsSet.r
ipo4xcmsSet.xml
lib.r
macros.xml
planemo_test.sh
repository_dependencies.xml
test-data/MM-xset-merge.RData
test-data/MM14.mzML
test-data/MM14_IPO_ipo4xcmsSet.RData
test-data/MM14_IPO_parameters4xcmsSet_peakwidth.tsv
test-data/MM14_IPO_parameters4xcmsSet_ppm.tsv
test-data/MM8.mzML
test-data/MM_IPO_parameters4retgroup.tsv
test-data/faahKO.xset.RData
test-data/faahKO.xset.RData2
test-data/faahKO_IPO_parameters4retgroup.tsv
test-data/faahKO_IPO_parameters4retgroup_bw.tsv
test-data/faahKO_IPO_parameters4retgroup_mzmid.tsv
test-data/faahKO_reduce.zip
test-data/sacuri_2files.zip
test-data/sacuri_2files_centWave_IPO_parameters4xcmsSet.tsv
test-data/sacuri_2files_matchedFilter_IPO_parameters4xcmsSet.tsv
b
diff -r 000000000000 -r ac5f2936575b README.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,14 @@
+
+Changelog/News
+--------------
+
+**Version X.X.X - XX/XX/XXXX**
+
+- NEW: 
+
+Test Status
+-----------
+
+Planemo test using conda: failed on the faahKO_reduce.zip
+
+Planemo shed_test : unbuild
b
diff -r 000000000000 -r ac5f2936575b ipo4retgroup.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ipo4retgroup.r Thu Aug 03 06:00:00 2017 -0400
[
@@ -0,0 +1,158 @@
+#!/usr/bin/env Rscript
+#Authors Gildas Le Corguille and Yann Guitton
+
+
+# ----- LOG FILE -----
+log_file=file("log.txt", open = "wt")
+sink(log_file)
+sink(log_file, type = "output")
+
+
+# ----- PACKAGE -----
+options(bitmapType='cairo')
+cat("\tPACKAGE INFO\n")
+#pkgs=c("xcms","batch")
+pkgs=c("parallel","BiocGenerics", "Biobase", "Rcpp", "mzR", "xcms","rsm","igraph","CAMERA","IPO","snow","batch")
+for(pkg in pkgs) {
+  suppressWarnings( 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")
+
+
+parametersOutput = "parametersOutput.tsv"
+if (!is.null(listArguments[["parametersOutput"]])){
+  parametersOutput = listArguments[["parametersOutput"]]; listArguments[["parametersOutput"]]=NULL
+}
+
+samplebyclass = 2
+if (!is.null(listArguments[["samplebyclass"]])){
+  samplebyclass = listArguments[["samplebyclass"]]; listArguments[["samplebyclass"]]=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[["singlefile_galaxyPath"]])){
+    singlefile_galaxyPath = unlist(strsplit(listArguments[["singlefile_galaxyPath"]],",")); listArguments[["singlefile_galaxyPath"]]=NULL
+    singlefile_sampleName = unlist(strsplit(listArguments[["singlefile_sampleName"]],",")); listArguments[["singlefile_sampleName"]]=NULL
+}
+
+# single file case
+#@TODO: need to be refactoring
+if(exists("singlefile_galaxyPath") && (singlefile_galaxyPath!="")) {
+
+    cwd=getwd()
+    dir.create("raw")
+    setwd("raw")
+
+    for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPath))) {
+        if(!file.exists(singlefile_galaxyPath[singlefile_galaxyPath_i])){
+            error_message=paste("Cannot access the sample:",singlefile_sampleName[singlefile_galaxyPath_i],"located:",singlefile_galaxyPath[singlefile_galaxyPath_i],". Please, contact your administrator ... if you have one!")
+            print(error_message); stop(error_message)
+        }
+        file.symlink(singlefile_galaxyPath[singlefile_galaxyPath_i],singlefile_sampleName[singlefile_galaxyPath_i])
+    }
+
+    setwd(cwd)
+
+    directory = "raw"
+
+}
+
+# We unzip automatically the chromatograms from the zip files.
+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"]
+
+    # Because IPO only want raw data in its working directory
+    dir.create("ipoworkingdir")
+    setwd("ipoworkingdir")
+
+    #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")
+
+
+}
+
+#addition of the directory to the list of arguments in the first position
+checkXmlStructure(directory)
+checkFilesCompatibilityWithXcms(directory)
+
+cat("\n\n")
+
+
+
+
+
+
+# ----- MAIN PROCESSING INFO -----
+cat("\tMAIN PROCESSING INFO\n")
+
+
+ipo4retgroup(xset, directory, parametersOutput, listArguments, samplebyclass)
+
+
+
+cat("\n\n")
+
+
+# ----- EXPORT -----
+
+cat("\tEXPORTING INFO\n")
+
+#save.image(file="ipo-retcor.RData")
+
+cat("\n\n")
+
+
+cat("\tDONE\n")
b
diff -r 000000000000 -r ac5f2936575b ipo4retgroup.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ipo4retgroup.xml Thu Aug 03 06:00:00 2017 -0400
[
b'@@ -0,0 +1,364 @@\n+<tool id="ipo4retgroup" name="IPO for group and retcor" version="0.0.1">\n+\n+    <description>IPO optimization process for xcms.group and xcms.retcor</description>\n+\n+    <macros>\n+        <import>macros.xml</import>\n+\n+        <macro name="group_density_bw_fixed">\n+            <param name="bw" type="integer" value="30" label="Bandwidth" help="[bw] bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel to apply to the peak density chromatogram" />\n+        </macro>\n+\n+        <macro name="group_density_mzwid_fixed">\n+            <param name="mzwid" type="float" value="0.25" label="Width of overlapping m/z slices" help="[mzwid] to use for creating peak density chromatograms and grouping peaks across samples " />\n+        </macro>\n+    </macros>\n+\n+    <expand macro="requirements"/>\n+    <expand macro="stdio"/>\n+\n+    <command><![CDATA[\n+        LANG=C Rscript $__tool_directory__/ipo4retgroup.r\n+\n+        image \'$image\'\n+\n+        parametersOutput \'$parametersOutput\'\n+\n+        samplebyclass $samplebyclass\n+\n+        @COMMAND_NSLAVES@\n+\n+        ## group methods\n+\n+        sleep 0.001\n+        #if $group.methods.method == "density":\n+            bw "c($group.methods.section_group_density_optiomizable.conditional_parameter.bw)"\n+            mzwid "c($group.methods.section_group_density_optiomizable.conditional_parameter.mzwid)"\n+\n+            minfrac $group.methods.section_group_density_non_optimizable.minfrac\n+            max $group.methods.section_group_density_non_optimizable.max\n+        #end if\n+\n+        ## retcor methods\n+\n+        #if $retcor.methods.method == "obiwarp":\n+            retcorMethod obiwarp\n+            profStep $methods.section_retcor_obiwarp_non_optimizable.profStep\n+\n+        #elif $retcor.methods.method == "peakgroups":\n+            retcorMethod loess\n+            smooth $retcor.methods.section_retcor_peakgroups_non_optimizable.smooth\n+            extra $retcor.methods.section_retcor_peakgroups_non_optimizable.extra\n+            missing $retcor.methods.section_retcor_peakgroups_non_optimizable.missing\n+            span $retcor.methods.section_retcor_peakgroups_non_optimizable.span\n+            family $retcor.methods.section_retcor_peakgroups_non_optimizable.family\n+            plottype $retcor.methods.section_retcor_peakgroups_non_optimizable.plottype\n+        #elif $retcor.methods.method == "none":\n+            retcorMethod none\n+        #end if\n+\n+        @COMMAND_FILE_LOAD@\n+\n+        @COMMAND_LOG_EXIT@\n+    ]]></command>\n+\n+    <inputs>\n+\n+        <param name="image" type="data" format="rdata.xcms.raw,rdata.xcms.group,rdata.xcms.retcor,rdata" label="xset RData file" help="output file from another function xcms (xcmsSet, retcor etc.)" />\n+\n+        <param name="samplebyclass" type="integer" value="2" label="Number of samples used per class to estimate the best parameters" help="Set to 0 to use the whole dataset. To save time, reduce this number" />\n+\n+        <section name="group" title="Group Options" expanded="True">\n+            <conditional name="methods">\n+                <param name="method" type="select" label="Method to use for grouping" help="[method] See the help section below. Only the density method is available so far">\n+                    <option value="density" selected="true">density</option>\n+                </param>\n+                <when value="density">\n+                    <section name="section_group_density_optiomizable"  title="Optimizable parameters" expanded="True">\n+                        <conditional name="conditional_parameter">\n+                            <param name="select_parameter" type="select" label="Which parameter do you want to optimize?" help="Only one paramter can be optimized at once. The other will require fixed values">\n+                                <option value="bw">Bandwidth [bw]</option>\n+                                <option value="mzwid">Width of overlapping m/z slices [mzwid]</option>\n+    '..b'======= =========\n+Name                      output file       format  parameter\n+========================= ================= ======= =========\n+NA                        NA                zip     NA\n+========================= ================= ======= =========\n+\n+\n+**Downstream tools**\n+\n++---------------------------+----------------------+-----------------+\n+| Name                      | Output file          | Format          |\n++===========================+======================+=================+\n+|xcms.xcmsSet               | parametersOutput.tsv | Tabular         |\n++---------------------------+--------------------+-------------------+\n+\n+\n+\n+-----------\n+Input files\n+-----------\n+\n++---------------------------+------------+\n+| Parameter : num + label   |   Format   |\n++===========================+============+\n+| 1 : Choose your inputs    |   zip      |\n++---------------------------+------------+\n+\n+**Choose your inputs**\n+\n+You have two methods for your inputs:\n+\n+    | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories).\n+    | library folder: You must specify the name of your "library" (folder) created within your space project (for example: /projet/externe/institut/login/galaxylibrary/yourlibrary). Your library must contain all your conditions as sub-directories.\n+\n+Steps for creating the zip file\n+-------------------------------\n+\n+**Step1: Creating your directory and hierarchize the subdirectories**\n+\n+\n+VERY IMPORTANT: If you zip your files under Windows, you must use the 7Zip software (http://www.7-zip.org/), otherwise your zip will not be well unzipped on the platform W4M (zip corrupted bug).\n+\n+Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild):\n+arabidopsis/wild/01.raw\n+arabidopsis/mutant/01.raw\n+\n+**Step2: Creating a zip file**\n+\n+Create your zip file (e.g.: arabidopsis.zip).\n+\n+**Step 3 : Uploading it to our Galaxy server**\n+\n+If your zip file is less than 2Gb, you get use the Get Data tool to upload it.\n+\n+Otherwise if your zip file is larger than 2Gb, please refer to the HOWTO on workflow4metabolomics.org (http://application.sb-roscoff.fr/download/w4m/howto/galaxy_upload_up_2Go.pdf).\n+\n+For more informations, don\'t hesitate to send us an email at supportATworkflow4metabolomics.org).\n+\n+Advices for converting your files for the XCMS input\n+----------------------------------------------------\n+\n+We recommend you to convert your raw files to **mzXML** in centroid mode (smaller files) and the files will be compatible with the xmcs centWave method.\n+\n+**We recommend you the following parameters:**\n+\n+Use Filtering: **True**\n+\n+Use Peak Picking: **True**\n+\n+Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode\n+\n+Use zlib: **64**\n+\n+Binary Encoding: **64**\n+\n+m/z Encoding: **64**\n+\n+Intensity Encoding: **64**\n+\n+\n+----------\n+Parameters\n+----------\n+\n+Extraction method for peaks detection\n+-------------------------------------\n+\n+**Matched Filter**\n+\n+    | One parameter to consider is the Gaussian model peak width used for matched filtration,an integral part of the peak detection algorithm.\n+    | For a discussion of how model peak width affects the signal to noise ratio, see Danielsson et al. (2002).\n+\n+\n+**cent Wave**\n+\n+    | This algorithm is most suitable for high resolution LC/{TOF,OrbiTrap,FTICR}-MS data in centroid mode.\n+    | Due to the fact that peak centroids are used, a binning step is not necessary.\n+    | The method is capable of detecting close-by-peaks and also overlapping peaks. Some efforts are made to detect the exact peak boundaries to get precise peak integrals.\n+\n+\n+------------\n+Output files\n+------------\n+\n+IPO_parameters4xcmsSet.tsv\n+\n+    | Optimal parameters for xcmsSet\n+\n+\n+---------------------------------------------------\n+\n+Changelog/News\n+--------------\n+\n+\n+\n+    ]]></help>\n+\n+    <expand macro="citation" />\n+</tool>\n'
b
diff -r 000000000000 -r ac5f2936575b ipo4xcmsSet.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ipo4xcmsSet.r Thu Aug 03 06:00:00 2017 -0400
[
@@ -0,0 +1,163 @@
+#!/usr/bin/env Rscript
+#Authors Gildas Le Corguille and Yann Guitton
+
+
+# ----- LOG FILE -----
+log_file=file("log.txt", open = "wt")
+sink(log_file)
+sink(log_file, type = "output")
+
+
+# ----- PACKAGE -----
+options(bitmapType='cairo')
+cat("\tPACKAGE INFO\n")
+#pkgs=c("xcms","batch")
+pkgs=c("parallel","BiocGenerics", "Biobase", "Rcpp", "mzR", "xcms","rsm","igraph","CAMERA","IPO","snow","batch")
+for(pkg in pkgs) {
+  suppressWarnings( 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")
+
+
+#Import the different functions
+source_local("lib.r")
+
+cat("\n\n")
+
+#Import the different functions
+
+# ----- PROCESSING INFILE -----
+cat("\tARGUMENTS PROCESSING INFO\n")
+
+xsetRdataOutput = paste("ipo4xcmsSet","RData",sep=".")
+if (!is.null(listArguments[["xsetRdataOutput"]])){
+  xsetRdataOutput = listArguments[["xsetRdataOutput"]]; listArguments[["xsetRdataOutput"]]=NULL
+}
+
+parametersOutput = "parametersOutput.tsv"
+if (!is.null(listArguments[["parametersOutput"]])){
+  parametersOutput = listArguments[["parametersOutput"]]; listArguments[["parametersOutput"]]=NULL
+}
+
+samplebyclass = 2
+if (!is.null(listArguments[["samplebyclass"]])){
+  samplebyclass = listArguments[["samplebyclass"]]; listArguments[["samplebyclass"]]=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[["singlefile_galaxyPath"]])){
+    singlefile_galaxyPath = listArguments[["singlefile_galaxyPath"]]; listArguments[["singlefile_galaxyPath"]]=NULL
+    singlefile_sampleName = listArguments[["singlefile_sampleName"]]; listArguments[["singlefile_sampleName"]]=NULL
+}
+
+# single file case
+#@TODO: need to be refactoring
+if(exists("singlefile_galaxyPath") && (singlefile_galaxyPath!="")) {
+    if(!file.exists(singlefile_galaxyPath)){
+        error_message=paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!")
+        print(error_message); stop(error_message)
+    }
+    
+    cwd=getwd()
+    dir.create("raw")
+    setwd("raw")
+    file.symlink(singlefile_galaxyPath,singlefile_sampleName)
+    setwd(cwd)
+    
+    directory = "raw"
+    
+}
+
+# We unzip automatically the chromatograms from the zip files.
+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"]
+
+    # Because IPO only want raw data in its working directory
+    dir.create("ipoworkingdir")
+    setwd("ipoworkingdir")
+
+    #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")
+
+
+}
+
+#addition of the directory to the list of arguments in the first position
+checkXmlStructure(directory)
+checkFilesCompatibilityWithXcms(directory)
+
+cat("\n\n")
+
+
+
+
+
+
+# ----- MAIN PROCESSING INFO -----
+cat("\tMAIN PROCESSING INFO\n")
+
+
+xset = ipo4xcmsSet(directory, parametersOutput, listArguments, samplebyclass)
+
+
+
+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")
+save(list=objects2save[objects2save %in% ls()], file=xsetRdataOutput)
+
+cat("\n\n")
+
+
+cat("\tDONE\n")
+
b
diff -r 000000000000 -r ac5f2936575b ipo4xcmsSet.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ipo4xcmsSet.xml Thu Aug 03 06:00:00 2017 -0400
[
b'@@ -0,0 +1,382 @@\n+<tool id="ipo4xcmsSet" name="IPO for xcmsSet" version="0.0.3">\n+\n+    <description>IPO optimization process for xcms.xcmsSet</description>\n+\n+    <macros>\n+        <import>macros.xml</import>\n+\n+        <macro name="centwave_ppm_fixed">\n+            <param name="ppm" type="integer" value="25" label="Max tolerated ppm m/z deviation in consecutive scans in ppm" help="[ppm]" />\n+        </macro>\n+        <macro name="centwave_peakwidth_fixed">\n+            <param name="min_peakwidth" type="float" value="20" label="Min peak width range in seconds" optional="true" help="[min_peakwidth]" />\n+            <param name="max_peakwidth" type="float" value="50" label="Max peak width range in seconds" optional="true" help="[max_peakwidth]" />\n+        </macro>\n+        <macro name="centwave_mzdiff_fixed">\n+            <param name="mzdiff" type="float" value="-0.001" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] Can be negative to allow overlap" />\n+        </macro>\n+\n+        <macro name="matchedfilter_fwhm_fixed">\n+            <param name="fwhm" type="integer" value="30" label="Full width at half maximum of matched filtration gaussian model peak" help="[fwhm] Only used to calculate the actual sigma" />\n+        </macro>\n+        <macro name="matchedfilter_mzdiff_fixed">\n+            <param name="mzdiff" type="float" value="0.6" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] By default: 0.8-step*steps " />\n+        </macro>\n+    </macros>\n+\n+    <expand macro="requirements"/>\n+    <expand macro="stdio"/>\n+\n+    <command><![CDATA[\n+        LANG=C Rscript $__tool_directory__/ipo4xcmsSet.r\n+\n+        #if $input.is_of_type("mzxml") or $input.is_of_type("mzml") or $input.is_of_type("mzdata") or $input.is_of_type("netcdf"):\n+            singlefile_galaxyPath \'$input\' singlefile_sampleName \'$input.name\'\n+        #else\n+            zipfile \'$input\'\n+        #end if\n+\n+        parametersOutput $parametersOutput\n+        xsetRdataOutput $xsetRData\n+\n+        samplebyclass $samplebyclass\n+\n+        ## profmethod $profmethod\n+        @COMMAND_NSLAVES@\n+        method $methods.method\n+        #if $methods.method == "centWave":\n+            ppm "c($methods.section_centwave_optiomizable.conditional_parameter.ppm)"\n+            min_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.min_peakwidth)"\n+            max_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.max_peakwidth)"\n+            mzdiff "c($methods.section_centwave_optiomizable.conditional_parameter.mzdiff)"\n+\n+            snthresh $methods.section_centwave_non_optiomizable.snthresh\n+            integrate $methods.section_centwave_non_optiomizable.integrate\n+            noise $methods.section_centwave_non_optiomizable.noise\n+            prefilter "c($methods.section_centwave_non_optiomizable.prefilter)"\n+\n+        #elif $methods.method == "matchedFilter":\n+            fwhm "c($methods.section_matchedfilter_optiomizable.conditional_parameter.fwhm)"\n+            mzdiff "c($methods.section_matchedfilter_optiomizable.conditional_parameter.mzdiff)"\n+\n+            step $methods.section_matchedfilter_non_optimizable.step\n+            steps $methods.section_matchedfilter_non_optimizable.steps\n+            max $methods.section_matchedfilter_non_optimizable.max\n+            snthresh $methods.section_matchedfilter_non_optimizable.snthresh\n+        #end if\n+\n+        @COMMAND_LOG_EXIT@\n+    ]]></command>\n+\n+    <inputs>\n+\n+        <param name="input" type="data" format="mzxml,mzml,mzdata,netcdf,no_unzip.zip,zip" label="File(s) from your history containing your chromatograms" help="Single file mode for the format: mzxml, mzml, mzdata and netcdf. Zip file mode for the format: no_unzip.zip, zip. See the help section below." />\n+\n+        <param name="samplebyclass" type="integer" value="2" label="Number of samples used per class to estimate the best para'..b'======= =========\n+Name                      output file       format  parameter\n+========================= ================= ======= =========\n+NA                        NA                zip     NA\n+========================= ================= ======= =========\n+\n+\n+**Downstream tools**\n+\n++---------------------------+----------------------+-----------------+\n+| Name                      | Output file          | Format          |\n++===========================+======================+=================+\n+|xcms.xcmsSet               | parametersOutput.tsv | Tabular         |\n++---------------------------+--------------------+-------------------+\n+\n+\n+\n+-----------\n+Input files\n+-----------\n+\n++---------------------------+------------+\n+| Parameter : num + label   |   Format   |\n++===========================+============+\n+| 1 : Choose your inputs    |   zip      |\n++---------------------------+------------+\n+\n+**Choose your inputs**\n+\n+You have two methods for your inputs:\n+\n+    | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories).\n+    | library folder: You must specify the name of your "library" (folder) created within your space project (for example: /projet/externe/institut/login/galaxylibrary/yourlibrary). Your library must contain all your conditions as sub-directories.\n+\n+Steps for creating the zip file\n+-------------------------------\n+\n+**Step1: Creating your directory and hierarchize the subdirectories**\n+\n+\n+VERY IMPORTANT: If you zip your files under Windows, you must use the 7Zip software (http://www.7-zip.org/), otherwise your zip will not be well unzipped on the platform W4M (zip corrupted bug).\n+\n+Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild):\n+arabidopsis/wild/01.raw\n+arabidopsis/mutant/01.raw\n+\n+**Step2: Creating a zip file**\n+\n+Create your zip file (e.g.: arabidopsis.zip).\n+\n+**Step 3 : Uploading it to our Galaxy server**\n+\n+If your zip file is less than 2Gb, you get use the Get Data tool to upload it.\n+\n+Otherwise if your zip file is larger than 2Gb, please refer to the HOWTO on workflow4metabolomics.org (http://application.sb-roscoff.fr/download/w4m/howto/galaxy_upload_up_2Go.pdf).\n+\n+For more informations, don\'t hesitate to send us an email at supportATworkflow4metabolomics.org).\n+\n+Advices for converting your files for the XCMS input\n+----------------------------------------------------\n+\n+We recommend you to convert your raw files to **mzXML** in centroid mode (smaller files) and the files will be compatible with the xmcs centWave method.\n+\n+**We recommend you the following parameters:**\n+\n+Use Filtering: **True**\n+\n+Use Peak Picking: **True**\n+\n+Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode\n+\n+Use zlib: **64**\n+\n+Binary Encoding: **64**\n+\n+m/z Encoding: **64**\n+\n+Intensity Encoding: **64**\n+\n+\n+----------\n+Parameters\n+----------\n+\n+Extraction method for peaks detection\n+-------------------------------------\n+\n+**Matched Filter**\n+\n+    | One parameter to consider is the Gaussian model peak width used for matched filtration,an integral part of the peak detection algorithm.\n+    | For a discussion of how model peak width affects the signal to noise ratio, see Danielsson et al. (2002).\n+\n+\n+**cent Wave**\n+\n+    | This algorithm is most suitable for high resolution LC/{TOF,OrbiTrap,FTICR}-MS data in centroid mode.\n+    | Due to the fact that peak centroids are used, a binning step is not necessary.\n+    | The method is capable of detecting close-by-peaks and also overlapping peaks. Some efforts are made to detect the exact peak boundaries to get precise peak integrals.\n+\n+\n+------------\n+Output files\n+------------\n+\n+IPO_parameters4xcmsSet.tsv\n+\n+    | Optimal parameters for xcmsSet\n+\n+\n+---------------------------------------------------\n+\n+Changelog/News\n+--------------\n+\n+\n+\n+    ]]></help>\n+\n+    <expand macro="citation" />\n+</tool>\n'
b
diff -r 000000000000 -r ac5f2936575b lib.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib.r Thu Aug 03 06:00:00 2017 -0400
[
@@ -0,0 +1,120 @@
+##
+## This function launch IPO functions to get the best parameters for xcmsSet
+## A sample among the whole dataset is used to save time
+##
+ipo4xcmsSet = function(directory, parametersOutput, listArguments, samplebyclass=4) {
+    setwd(directory)
+
+    files = list.files(".", recursive=T)  # "KO/ko15.CDF" "KO/ko16.CDF" "WT/wt15.CDF" "WT/wt16.CDF"
+    files_classes = basename(dirname(files))    # "KO", "KO", "WT", "WT"
+
+    mzmlfile = files
+    if (samplebyclass > 0) {
+        #random selection of N files for IPO in each class
+        classes<-unique(basename(dirname(files)))
+        mzmlfile = NULL
+        for (class_i in classes){
+            files_class_i = files[files_classes==class_i]
+            if (samplebyclass > length(files_class_i)) {
+                mzmlfile = c(mzmlfile, files_class_i)
+            } else {
+                mzmlfile = c(mzmlfile,sample(files_class_i,samplebyclass))
+            }
+        }
+    }
+    #@TODO: else, must we keep the RData to been use directly by group?
+
+    cat("\t\tSamples used:\n")
+    print(mzmlfile)
+
+    peakpickingParameters = getDefaultXcmsSetStartingParams(listArguments[["method"]]) #get default parameters of IPO
+
+    # filter listArguments to only get releavant parameters and complete with those that are not declared
+    peakpickingParametersUser = c(listArguments[names(listArguments) %in% names(peakpickingParameters)], peakpickingParameters[!(names(peakpickingParameters) %in% names(listArguments))])
+    peakpickingParametersUser$verbose.columns = TRUE
+
+    #peakpickingParametersUser$profparam <- list(step=0.005) #not yet used by IPO have to think of it for futur improvement
+    resultPeakpicking = optimizeXcmsSet(mzmlfile, peakpickingParametersUser, nSlaves=peakpickingParametersUser$nSlaves, subdir="../IPO_results") #some images generated by IPO
+
+    # export
+    resultPeakpicking_best_settings_parameters = resultPeakpicking$best_settings$parameters[!(names(resultPeakpicking$best_settings$parameters) %in% c("nSlaves","verbose.columns"))]
+    write.table(t(as.data.frame(resultPeakpicking_best_settings_parameters)), file=parametersOutput,  sep="\t", row.names=T, col.names=F, quote=F)  #can be read by user
+
+    return (resultPeakpicking$best_settings$xset)
+}
+
+##
+## This function launch IPO functions to get the best parameters for group and retcor
+##
+ipo4retgroup = function(xset, directory, parametersOutput, listArguments, samplebyclass=4) {
+    setwd(directory)
+
+    files = list.files(".", recursive=T)  # "KO/ko15.CDF" "KO/ko16.CDF" "WT/wt15.CDF" "WT/wt16.CDF"
+    files_classes = basename(dirname(files))    # "KO", "KO", "WT", "WT"
+
+    retcorGroupParameters = getDefaultRetGroupStartingParams(listArguments[["retcorMethod"]]) #get default parameters of IPO
+    print(retcorGroupParameters)
+    # filter listArguments to only get releavant parameters and complete with those that are not declared
+    retcorGroupParametersUser = c(listArguments[names(listArguments) %in% names(retcorGroupParameters)], retcorGroupParameters[!(names(retcorGroupParameters) %in% names(listArguments))])
+    print("retcorGroupParametersUser")
+    print(retcorGroupParametersUser)
+    resultRetcorGroup = optimizeRetGroup(xset, retcorGroupParametersUser, nSlaves=listArguments[["nSlaves"]], subdir="../IPO_results") #some images generated by IPO
+
+    # export
+    resultRetcorGroup_best_settings_parameters = resultRetcorGroup$best_settings
+    write.table(t(as.data.frame(resultRetcorGroup_best_settings_parameters)), file=parametersOutput,  sep="\t", row.names=T, col.names=F, quote=F)  #can be read by user
+}
+
+
+
+
+##
+## This function check if xcms will found all the files
+##
+#@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM
+checkFilesCompatibilityWithXcms <- function(directory) {
+  cat("Checking files filenames compatibilities with xmcs...\n")
+  # WHAT XCMS WILL FIND
+  filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")
+  filepattern <- paste(paste("\\.", filepattern, "$", sep = ""),collapse = "|")
+  info <- file.info(directory)
+  listed <- list.files(directory[info$isdir], pattern = filepattern,recursive = TRUE, full.names = TRUE)
+  files <- c(directory[!info$isdir], listed)
+  files_abs <- file.path(getwd(), files)
+  exists <- file.exists(files_abs)
+  files[exists] <- files_abs[exists]
+  files[exists] <- sub("//","/",files[exists])
+
+  # WHAT IS ON THE FILESYSTEM
+  filesystem_filepaths=system(paste("find $PWD/",directory," -not -name '\\.*' -not -path '*conda-env*' -type f -name \"*\"", sep=""), intern=T)
+  filesystem_filepaths=filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)]
+
+  # COMPARISON
+  if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) {
+    write("\n\nERROR: List of the files which will not be imported by xcmsSet",stderr())
+    write(filesystem_filepaths[!(filesystem_filepaths %in% files)],stderr())
+    stop("\n\nERROR: One or more of your files will not be import by xcmsSet. It may due to bad characters in their filenames.")
+
+  }
+}
+
+
+
+##
+## This function check if XML contains special caracters. It also checks integrity and completness.
+##
+#@author Misharl Monsoor misharl.monsoor@sb-roscoff.fr ABiMS TEAM
+checkXmlStructure <- function (directory) {
+  cat("Checking XML structure...\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;")
+  capture=system(cmd,intern=TRUE)
+
+  if (length(capture)>0){
+    #message=paste("The following mzXML or mzML file is incorrect, please check these files first:",capture)
+    write("\n\nERROR: The following mzXML or mzML file(s) are incorrect, please check these files first:", stderr())
+    write(capture, stderr())
+    stop("ERROR: xcmsSet cannot continue with incorrect mzXML or mzML files")
+  }
+
+}
b
diff -r 000000000000 -r ac5f2936575b macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Thu Aug 03 06:00:00 2017 -0400
[
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+<macros>
+    <xml name="requirements">
+        <requirements>
+            <requirement type="package" version="0.4_1">r-snow</requirement>
+            <requirement type="package" version="1.0.0">bioconductor-ipo</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_SCRIPT@">
+        LANG=C Rscript $__tool_directory__/
+    </token>
+
+    <token name="@COMMAND_LOG_EXIT@">
+        ;
+        return=\$?;
+        mv log.txt $log;
+        cat $log;
+        sh -c "exit \$return"
+    </token>
+
+    <token name="@COMMAND_NSLAVES@">
+        nSlaves \${GALAXY_SLOTS:-1}
+    </token>
+
+    <!-- zipfile load for planemo test -->
+
+    <token name="@COMMAND_FILE_LOAD@">
+        #if $file_load_section.file_load_conditional.file_load_select == "yes":
+            #if $file_load_section.file_load_conditional.input[0].is_of_type("mzxml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzdata") or $file_load_section.file_load_conditional.input[0].is_of_type("netcdf"):
+                #set singlefile_galaxyPath = ','.join( [ str( $single_file ) for $single_file in $file_load_section.file_load_conditional.input ] )
+                #set singlefile_sampleName = ','.join( [ str( $single_file.name ) for $single_file in $file_load_section.file_load_conditional.input ] )
+
+                singlefile_galaxyPath '$singlefile_galaxyPath' singlefile_sampleName '$singlefile_sampleName'
+            #else
+                zipfile '$file_load_section.file_load_conditional.input'
+            #end if
+        #end if
+    </token>
+
+    <xml name="input_file_load">
+        <section name="file_load_section" title="Resubmit your raw dataset or your zip file">
+            <conditional name="file_load_conditional">
+                <param name="file_load_select" type="select" label="Resubmit your dataset or your zip file" help="Use only if you get a message which say that your original dataset or zip file have been deleted on the server." >
+                    <option value="no" >no need</option>
+                    <option value="yes" >yes</option>
+                </param>
+                <when value="no">
+                </when>
+                <when value="yes">
+                    <param name="input" type="data" format="mzxml,mzml,mzdata,netcdf,no_unzip.zip,zip" multiple="true" label="File(s) from your history containing your chromatograms" help="Single file mode for the format: mzxml, mzml, mzdata and netcdf. Zip file mode for the format: no_unzip.zip, zip. See the help section below." />
+                </when>
+            </conditional>
+        </section>
+    </xml>
+
+    <xml name="test_file_load_zip">
+        <section name="file_load_section">
+            <conditional name="file_load_conditional">
+                <param name="file_load_select" value="yes" />
+                <param name="input" value="faahKO_reduce.zip" ftype="zip" />
+            </conditional>
+        </section>
+    </xml>
+
+    <xml name="test_file_load_single">
+        <section name="file_load_section">
+            <conditional name="file_load_conditional">
+                <param name="file_load_select" value="yes" />
+                <param name="input" value="wt15.CDF,ko16.CDF,ko15.CDF,wt16.CDF" ftype="netcdf" />
+            </conditional>
+        </section>
+    </xml>
+
+    <token name="@HELP_AUTHORS@">
+.. class:: infomark
+
+**Authors**  Gunnar Libiseller, Michaela Dvorzak, Ulrike Kleb, Edgar Gander, Tobias Eisenberg, Frank Madeo, Steffen Neumann, Gert Trausinger, Frank Sinner, Thomas Pieber and Christoph Magnes
+
+.. 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.1186/s12859-015-0562-8</citation>
+            <citation type="doi">10.1093/bioinformatics/btu813</citation>
+        </citations>
+    </xml>
+</macros>
b
diff -r 000000000000 -r ac5f2936575b planemo_test.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo_test.sh Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,11 @@
+conda create -n r-ipo --use-local r-ipo r-batch
+. ~/miniconda2/bin/activate r-ipo
+planemo test --install_galaxy --galaxy_branch "dev" --update_test_data
+
+
+# -- Use of conda dependencies
+planemo conda_init --conda_prefix /tmp/mc
+planemo conda_install --conda_prefix /tmp/mc .
+planemo test --install_galaxy --conda_prefix /tmp/mc --conda_dependency_resolution
+
+planemo test --conda_auto_init --conda_auto_install --conda_dependency_resolution --conda_prefix /tmp/mc --galaxy_branch dev  > planemo.out 2>&1
b
diff -r 000000000000 -r ac5f2936575b repository_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/repository_dependencies.xml Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<repositories>
+    <repository changeset_revision="7800ba9a4c1e" name="no_unzip_datatype" owner="lecorguille" toolshed="https://toolshed.g2.bx.psu.edu" />
+</repositories>
b
diff -r 000000000000 -r ac5f2936575b test-data/MM-xset-merge.RData
b
Binary file test-data/MM-xset-merge.RData has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/MM14.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MM14.mzML Thu Aug 03 06:00:00 2017 -0400
b
b'@@ -0,0 +1,3667 @@\n+<?xml version="1.0" encoding="ISO-8859-1"?>\n+<mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" accession="" version="1.1">\n+\t<cvList count="2">\n+\t\t<cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>\n+\t\t<cv id="UO" fullName="Unit Ontology" URI="http://obo.cvs.sourceforge.net/obo/obo/ontology/phenotype/unit.obo"/>\n+\t</cvList>\n+\t<fileDescription>\n+\t\t<fileContent>\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000294" name="mass spectrum" />\n+\t\t</fileContent>\n+\t\t<sourceFileList count="1">\n+\t\t\t<sourceFile id="sf_ru_0" name="analysis.baf" location="MM14_20uM_2-A%2c4_01_1745.d/">\n+\t\t\t\t<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="" />\n+\t\t\t\t<cvParam cvRef="MS" accession="MS:1000564" name="PSI mzData file" />\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000824" name="no nativeID format" />\n+\t\t\t</sourceFile>\n+\t\t</sourceFileList>\n+\t\t<contact>\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="Customer, Bruker" />\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000590" name="contact organization" value="" />\n+\t\t</contact>\n+\t</fileDescription>\n+\t<sampleList count="1">\n+\t\t<sample id="sa_0" name="MM14_20uM">\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000004" name="sample mass" value="0"  unitAccession="UO:0000021" unitName="gram" unitCvRef="UO" />\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000005" name="sample volume" value="0" unitAccession="UO:0000098" unitName="milliliter" unitCvRef="UO" />\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000006" name="sample concentration" value="0" unitAccession="UO:0000175" unitName="gram per liter" unitCvRef="UO" />\n+\t\t</sample>\n+\t</sampleList>\n+\t<softwareList count="3">\n+\t\t<software id="so_in_0" version="" >\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000799" name="custom unreleased software tool" value="" />\n+\t\t</software>\n+\t\t<software id="so_dp_0" version="1.3.3" >\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000717" name="CompassXport" />\n+\t\t</software>\n+\t\t<software id="so_dp_1" version="1.4" >\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000756" name="FileConverter" />\n+\t\t</software>\n+\t</softwareList>\n+\t<instrumentConfigurationList count="1">\n+\t\t<instrumentConfiguration id="ic_0">\n+\t\t\t<cvParam cvRef="MS" accession="MS:1000031" name="instrument model" />\n+\t\t\t<componentList count="3">\n+\t\t\t\t<source order="0">\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" />\n+\t\t\t\t</source>\n+\t\t\t\t<analyzer order="0">\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000014" name="accuracy" value="0" unitAccession="UO:0000169" unitName="parts per million" unitCvRef="UO" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000022" name="TOF Total Path Length" value="0" unitAccession="UO:0000008" unitName="meter" unitCvRef="UO" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000024" name="final MS exponent" value="0" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000025" name="magnetic field strength" value="0" unitAccession="UO:0000228" unitName="tesla" unitCvRef="UO" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000443" name="mass analyzer type" />\n+\t\t\t\t</analyzer>\n+\t\t\t\t<detector order="0">\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000028" name="detector resolution" value="0" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000029" name="sampling frequency" value="0" unitAccession="UO:0000106" unitName="hertz" unitCvRef="UO" />\n+\t\t\t\t\t<cvParam cvRef="MS" accession="MS:1000026" name="detector type" />\n+\t\t\t\t</detector>\n+\t\t\t</componentList>\n+\t\t\t<softwareRef ref="so_in_0" />\n+\t\t</instrumentConfiguration>\n+\t</instrumentConfigurationList>\n+\t<dataProcessingList count="1">\n+\t\t<dataProcessing id="dp_ru_0">\n+\t\t\t<processingMethod order="0" softwareRef="so_dp_0">\n+\t\t\t\t<cvParam cvRef="MS" accession="MS:1000034" name="charge deconvolution" />\n+\t\t\t\t<cvP'..b'IBUQAAAAAAAAENAAAAAAAAAOUAAAAAAAAA6QAAAAAAAwFNAAAAAAACAQUAAAAAAAAA8QAAAAAAAADVAAAAAAAAAPkAAAAAAAABEQAAAAAAAAD9AAAAAAAAANkAAAAAAAAA8QAAAAAAAgEdAAAAAAAAAO0AAAAAAAABJQAAAAAAAADhAAAAAAAAAN0AAAAAAAAA5QAAAAAAAADVAAAAAAACAREAAAAAAAABFQAAAAAAAgEhAAAAAAAAAOkAAAAAAAAA1QAAAAAAAAEJAAAAAAAAANkAAAAAAAAA9QAAAAAAAADdAAAAAAAAAU0AAAAAAAAA8QAAAAAAAADtAAAAAAAAAP0AAAAAAAABFQAAAAAAAADVAAAAAAAAAP0AAAAAAAABDQAAAAAAAADtAAAAAAAAAOEAAAAAAAIBAQAAAAAAAADhAAAAAAAAAPUAAAAAAAAA3QAAAAAAAAD9AAAAAAAAAP0AAAAAAAAA4QAAAAAAAAEhAAAAAAAAAP0AAAAAAAABMQAAAAAAAAD1AAAAAAAAAP0AAAAAAAABCQAAAAAAAADZAAAAAAACAR0AAAAAAAAA+QAAAAAAAAE1AAAAAAAAAO0AAAAAAAAA+QAAAAAAAADlAAAAAAACAQEAAAAAAAAA4QAAAAAAAAEFAAAAAAAAAOkAAAAAAAABDQAAAAAAAADdAAAAAAAAANUAAAAAAAIBJQAAAAAAAgENAAAAAAACAQ0AAAAAAAIBCQAAAAAAAAEJAAAAAAAAAP0AAAAAAAEBTQAAAAAAAgEhAAAAAAAAAQUAAAAAAAEBQQAAAAAAAADdAAAAAAACAQkAAAAAAAAA8QAAAAAAAAD5AAAAAAAAAPkAAAAAAAABFQAAAAAAAAD9AAAAAAAAANUAAAAAAAIBPQAAAAAAAAD5AAAAAAAAAQEAAAAAAAAA/QAAAAAAAAENAAAAAAAAAO0AAAAAAAAA+QAAAAAAAAEBAAAAAAACAQEAAAAAAAIBIQAAAAAAAADZAAAAAAAAAPUAAAAAAAAA3QAAAAAAAAEZAAAAAAACAQ0AAAAAAAABDQAAAAAAAgEBAAAAAAAAANkAAAAAAAIBAQAAAAAAAADlAAAAAAAAAP0AAAAAAAAA9QAAAAAAAAD1AAAAAAACAUkAAAAAAAIBAQAAAAAAAgEJAAAAAAAAAPkAAAAAAAAA/QAAAAAAAAFBAAAAAAAAAOUAAAAAAAIBGQAAAAAAAgERAAAAAAACATEAAAAAAAABDQAAAAAAAAEFAAAAAAAAATkAAAAAAAIBGQAAAAAAAAD5AAAAAAAAAPUAAAAAAAAA4QAAAAAAAAEZAAAAAAAAAQEAAAAAAAABBQAAAAAAAgENAAAAAAAAAO0AAAAAAAAA9QAAAAAAAAD9AAAAAAAAAQEAAAAAAAIBAQAAAAAAAADhAAAAAAAAASEAAAAAAAAA6QAAAAAAAADlAAAAAAAAANUAAAAAAAABDQAAAAAAAADhAAAAAAAAAQ0AAAAAAAAA+QAAAAAAAAD5AAAAAAACATEAAAAAAAAA5QAAAAAAAgENAAAAAAAAAOkAAAAAAAAA1QAAAAAAAADxAAAAAAAAAOEAAAAAAAIBCQAAAAAAAAEBAAAAAAACAQkAAAAAAAABCQAAAAAAAgE1AAAAAAACAQUAAAAAAAIBFQAAAAAAAgEBAAAAAAAAAPkAAAAAAAABBQAAAAAAAADhAAAAAAAAANkAAAAAAAIBCQAAAAAAAAD5AAAAAAAAANkAAAAAAAAA6QAAAAAAAADpAAAAAAAAAPkAAAAAAAABHQAAAAAAAADlAAAAAAAAARUAAAAAAAAA2QAAAAAAAADVAAAAAAAAAQEAAAAAAAAA6QAAAAAAAADVAAAAAAAAAPEAAAAAAAAA5QAAAAAAAAD5AAAAAAACAREAAAAAAAAA9QAAAAAAAADlAAAAAAAAAPUAAAAAAAIBEQAAAAAAAAD9AAAAAAAAAOkAAAAAAAABFQAAAAAAAAD5AAAAAAAAAPkAAAAAAAAA9QAAAAAAAAEpAAAAAAAAAQ0AAAAAAAABLQAAAAAAAADhAAAAAAAAAOEAAAAAAAAA2QAAAAAAAAD1AAAAAAAAAO0AAAAAAAAA9QAAAAAAAgEFAAAAAAAAAOEAAAAAAAAA/QAAAAAAAADtAAAAAAAAAO0AAAAAAAAA3QAAAAAAAgE1AAAAAAAAAN0AAAAAAAAA2QAAAAAAAAD5AAAAAAAAAN0AAAAAAAABEQAAAAAAAADdAAAAAAAAANUAAAAAAAAA3QAAAAAAAADZAAAAAAAAAOUAAAAAAAAA4QAAAAAAAADhAAAAAAAAAQUAAAAAAAIBDQAAAAAAAAE1AAAAAAAAAOUAAAAAAAAA5QAAAAAAAAD5AAAAAAAAAPUAAAAAAAAA/QAAAAAAAAEBAAAAAAAAAN0AAAAAAAIBDQAAAAAAAADdAAAAAAACASUAAAAAAAABFQAAAAAAAAEJAAAAAAAAAPkAAAAAAAAA4QAAAAAAAAEJAAAAAAAAAP0AAAAAAAAA8QAAAAAAAADlAAAAAAACAQUAAAAAAAAA8QAAAAAAAADtAAAAAAAAAPEAAAAAAAABBQAAAAAAAADVAAAAAAAAARUAAAAAAAAA6QAAAAAAAAEdAAAAAAACAS0AAAAAAAIBMQAAAAAAAgEZAAAAAAAAAOUAAAAAAAAA4QAAAAAAAADpAAAAAAAAAN0AAAAAAAAA/QAAAAAAAgEJAAAAAAAAARkAAAAAAAAA4QAAAAAAAADhAAAAAAAAAOkAAAAAAAAA/QAAAAAAAgENAAAAAAAAAQEAAAAAAAAA4QAAAAAAAAExAAAAAAAAAPkAAAAAAAAA1QAAAAAAAgEdAAAAAAACAR0AAAAAAAIBCQAAAAAAAAExAAAAAAAAAOUAAAAAAAAA9QAAAAAAAAEdAAAAAAAAAP0AAAAAAAABDQAAAAAAAAENAAAAAAACAQ0AAAAAAAAA9QAAAAAAAAEBAAAAAAAAAQUAAAAAAAAA1QAAAAAAAAD1AAAAAAAAAPkAAAAAAAABCQAAAAAAAAEtAAAAAAAAAOUAAAAAAAAA1QAAAAAAAADVAAAAAAACAQ0AAAAAAAIBIQAAAAAAAAD9AAAAAAAAAOkAAAAAAAAA2QAAAAAAAAD1AAAAAAAAAOUAAAAAAAABEQAAAAAAAADpAAAAAAAAAOkAAAAAAAABCQAAAAAAAgEFAAAAAAAAANkAAAAAAAAA8QAAAAAAAAEFAAAAAAAAANkAAAAAAAABIQAAAAAAAADlAAAAAAAAAOkAAAAAAAAA5QAAAAAAAAEpAAAAAAAAAN0AAAAAAAAA7QAAAAAAAADxAAAAAAAAAQ0AAAAAAAAA5QAAAAAAAADtAAAAAAAAAN0AAAAAAAAA5QAAAAAAAAD5AAAAAAAAANkAAAAAAAAA3QAAAAAAAADpAAAAAAAAAOEAAAAAAAAA5QAAAAAAAADlAAAAAAAAAOkAAAAAAAABCQAAAAAAAADZAAAAAAAAAO0AAAAAAAABCQAAAAAAAAD9AAAAAAAAAOEAAAAAAAAA4QAAAAAAAAEVAAAAAAAAAN0AAAAAAAABEQAAAAAAAgEFAAAAAAAAAPUAAAAAAAAA9QAAAAAAAADxAAAAAAACAQEAAAAAAAAA3QAAAAAAAADVAAAAAAAAAQUAAAAAAAAA9QAAAAAAAAEFAAAAAAACAQ0AAAAAAAIBAQAAAAAAAgEFAAAAAAAAAREAAAAAAAAA3QAAAAAAAADxAAAAAAAAAN0AAAAAAAAA4QAAAAAAAADxAAAAAAAAAPUAAAAAAAAA8QAAAAAAAADlAAAAAAAAAOUAAAAAAAAA3QAAAAAAAgEBA</binary>\n+\t\t\t\t\t</binaryDataArray>\n+\t\t\t\t</binaryDataArrayList>\n+\t\t\t</spectrum>\n+\t\t</spectrumList>\n+\t</run>\n+</mzML>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r ac5f2936575b test-data/MM14_IPO_ipo4xcmsSet.RData
b
Binary file test-data/MM14_IPO_ipo4xcmsSet.RData has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/MM14_IPO_parameters4xcmsSet_peakwidth.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MM14_IPO_parameters4xcmsSet_peakwidth.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,11 @@
+min_peakwidth 3.325
+max_peakwidth 11
+prefilter 3
+ppm 56
+mzdiff -0.001
+snthresh 10
+integrate 1
+noise 0
+value_of_prefilter 100
+mzCenterFun wMean
+fitgauss FALSE
b
diff -r 000000000000 -r ac5f2936575b test-data/MM14_IPO_parameters4xcmsSet_ppm.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MM14_IPO_parameters4xcmsSet_ppm.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,11 @@
+ppm 60
+prefilter 3
+min_peakwidth 3.325
+max_peakwidth 11
+mzdiff -0.001
+snthresh 10
+integrate 1
+noise 0
+value_of_prefilter 100
+mzCenterFun wMean
+fitgauss FALSE
b
diff -r 000000000000 -r ac5f2936575b test-data/MM8.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MM8.mzML Thu Aug 03 06:00:00 2017 -0400
b
b'@@ -0,0 +1,6207 @@\n+<?xml version="1.0" encoding="ISO-8859-1"?>\r\n+<mzML xmlns="http://psi.hupo.org/ms/mzml" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" version="1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r\n+<cvList count="2">\r\n+<cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Vocabularies" version="2.26.0" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>\r\n+<cv id="UO" fullName="unit" version="1.20" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo?revision=1.20"/>\r\n+</cvList>\r\n+<fileDescription>\r\n+<fileContent>\r\n+<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>\r\n+<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum"/>\r\n+</fileContent>\r\n+<sourceFileList count="1">\r\n+<sourceFile id="sourceFile" location="Z:/tmp/bruker/MM8_2-F%2c1_01_5950.d" name="analysis.baf">\r\n+<cvParam cvRef="MS" accession="MS:1000772" name="Bruker BAF nativeID format"/>\r\n+<cvParam cvRef="MS" accession="MS:1000815" name="Bruker BAF file"/>\r\n+<cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="7ade07ca5f336a6e8378bd0ba9992528b1c766b5"/>\r\n+</sourceFile>\r\n+</sourceFileList>\r\n+<contact>\r\n+<cvParam cvRef="MS" accession="MS:1000586" name="contact name" value="Bruker Customer"/>\r\n+<cvParam cvRef="MS" accession="MS:1000590" name="contact organization" value=""/>\r\n+</contact>\r\n+</fileDescription>\r\n+<sampleList count="1">\r\n+<sample id="sample" name="MM8">\r\n+</sample>\r\n+</sampleList>\r\n+<softwareList count="2">\r\n+<software id="exportSoftware" version="3.0.0">\r\n+<cvParam cvRef="MS" accession="MS:1000717" name="CompassXport"/>\r\n+</software>\r\n+<software id="instrumentSoftware" version="2.3.40.0">\r\n+<cvParam cvRef="MS" accession="MS:1000692" name="Bruker software"/>\r\n+<userParam name="AcquisitionProgram" value="micrOTOFcontrol"/>\r\n+</software>\r\n+</softwareList>\r\n+<instrumentConfigurationList count="1">\r\n+<instrumentConfiguration id="instrument">\r\n+<cvParam cvRef="MS" accession="MS:1000703" name="micrOTOF-Q"/>\r\n+<componentList count="3">\r\n+<source order="1">\r\n+<cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization"/>\r\n+</source>\r\n+<analyzer order="2">\r\n+<cvParam cvRef="MS" accession="MS:1000081" name="quadrupole"/>\r\n+</analyzer>\r\n+<detector order="3">\r\n+<cvParam cvRef="MS" accession="MS:1000253" name="electron multiplier"/>\r\n+</detector>\r\n+</componentList>\r\n+<softwareRef ref="instrumentSoftware"/>\r\n+</instrumentConfiguration>\r\n+</instrumentConfigurationList>\r\n+<dataProcessingList count="1">\r\n+<dataProcessing id="exportation">\r\n+<processingMethod order="1" softwareRef="instrumentSoftware">\r\n+<cvParam cvRef="MS" accession="MS:1000035" name="peak picking"/>\r\n+</processingMethod>\r\n+<processingMethod order="2" softwareRef="exportSoftware">\r\n+<cvParam cvRef="MS" accession="MS:1000544" name="Conversion to mzML"/>\r\n+<cvParam cvRef="MS" accession="MS:1000747" name="completion time" value="2010-12-14T14:45:43"/>\r\n+</processingMethod>\r\n+</dataProcessing>\r\n+</dataProcessingList>\r\n+<run id="run" defaultInstrumentConfigurationRef="instrument" startTimeStamp="2008-09-01T09:48:37.296+01:00">\r\n+<spectrumList count="198" defaultDataProcessingRef="exportation">\r\n+<spectrum index="0" id="scan=1" defaultArrayLength="1743">\r\n+<cvParam cvRef="MS" accession="MS:1000130" name="positive scan"/>\r\n+<cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum"/>\r\n+<cvParam cvRef="MS" accession="MS:1000127" name="centroid spectrum"/>\r\n+<cvParam cvRef="MS" accession="MS:1000285" name="total ion current" value="97322.00000000"/>\r\n+<cvParam cvRef="MS" accession="MS:1000504" name="base peak m/z" value="144.04999210" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z"/>\r\n+<cvParam cvRef="MS" accession="MS:1000505" name="base peak intensity" value="7250.00000000" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>\r\n+<cvParam cvRef="MS" acces'..b'27lBEZSzm8cBlFrq/i5UWr+WzNWqZHrWVD6lpuK1nHhpNBtN0WTNcbwdw2eCv/B3BSEJQ=</binary>\r\n+</binaryDataArray>\r\n+<binaryDataArray encodedLength="3452">\r\n+<cvParam cvRef="MS" accession="MS:1000574" name="zlib compression"/>\r\n+<cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of counts"/>\r\n+<cvParam cvRef="MS" accession="MS:1000521" name="32-bit float"/>\r\n+<binary>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</binary>\r\n+</binaryDataArray>\r\n+</binaryDataArrayList>\r\n+</spectrum>\r\n+</spectrumList>\r\n+</run>\r\n+</mzML>\r\n'
b
diff -r 000000000000 -r ac5f2936575b test-data/MM_IPO_parameters4retgroup.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MM_IPO_parameters4retgroup.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,1 @@
+""
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO.xset.RData
b
Binary file test-data/faahKO.xset.RData has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO.xset.RData2
b
Binary file test-data/faahKO.xset.RData2 has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO_IPO_parameters4retgroup.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/faahKO_IPO_parameters4retgroup.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,13 @@
+bw 5.959782
+mzwid 1e-04
+span 0.05650336
+minfrac 1
+retcorMethod loess
+smooth loess
+extra 1
+missing 1
+family gaussian
+plottype none
+minsamp 1
+max 50
+center 2
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO_IPO_parameters4retgroup_bw.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/faahKO_IPO_parameters4retgroup_bw.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,13 @@
+bw 4.168192
+mzwid 0.25
+minfrac 1
+max 50
+retcorMethod loess
+smooth loess
+extra 1
+missing 1
+span 0.2
+family gaussian
+plottype none
+minsamp 1
+center 2
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO_IPO_parameters4retgroup_mzmid.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/faahKO_IPO_parameters4retgroup_mzmid.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,13 @@
+mzwid 0.03
+span 0.001
+bw 30
+minfrac 1
+retcorMethod loess
+smooth loess
+extra 1
+missing 1
+family gaussian
+plottype none
+minsamp 1
+max 50
+center 2
b
diff -r 000000000000 -r ac5f2936575b test-data/faahKO_reduce.zip
b
Binary file test-data/faahKO_reduce.zip has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/sacuri_2files.zip
b
Binary file test-data/sacuri_2files.zip has changed
b
diff -r 000000000000 -r ac5f2936575b test-data/sacuri_2files_centWave_IPO_parameters4xcmsSet.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sacuri_2files_centWave_IPO_parameters4xcmsSet.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,2 @@
+"min_peakwidth" "max_peakwidth" "mzdiff" "ppm" "snthresh" "noise" "prefilter" "value_of_prefilter" "mzCenterFun" "integrate" "fitgauss"
+7.5 42.5 0.01715 25 10 0 3 100 "wMean" 1 FALSE
b
diff -r 000000000000 -r ac5f2936575b test-data/sacuri_2files_matchedFilter_IPO_parameters4xcmsSet.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/sacuri_2files_matchedFilter_IPO_parameters4xcmsSet.tsv Thu Aug 03 06:00:00 2017 -0400
b
@@ -0,0 +1,2 @@
+"step" "fwhm" "snthresh" "steps" "sigma" "max" "mzdiff" "index"
+0.15 25 3 2.5 10.6166128758281 5 0.425 FALSE