Mercurial > repos > lecorguille > xcms_xcmsset
view abims_xcms_xcmsSet.xml @ 33:c363b9f1caef draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 7b226c3ba91a3cf654ec1c14b3ef85090968bb0f
author | lecorguille |
---|---|
date | Mon, 05 Mar 2018 04:15:34 -0500 |
parents | 2bf1cb023c94 |
children | efd23113d5f4 |
line wrap: on
line source
<tool id="abims_xcms_xcmsSet" name="xcms findChromPeaks (xcmsSet)" version="@WRAPPER_VERSION@.0"> <description>Chromatographic peak detection</description> <macros> <import>macros.xml</import> </macros> <expand macro="requirements"/> <expand macro="stdio"/> <command><![CDATA[ @COMMAND_XCMS_SCRIPT@/xcms_xcmsSet.r #if $input.is_of_type("mzxml") or $input.is_of_type("mzml") or $input.is_of_type("mzdata") or $input.is_of_type("netcdf"): singlefile_galaxyPath '$input' singlefile_sampleName '$input.name' #else zipfile '$input' #end if BPPARAM \${GALAXY_SLOTS:-1} #if $filterSection.filterAcquisitionNum != "": filterAcquisitionNum "c($filterSection.filterAcquisitionNum)" #end if #if $filterSection.filterRt != "": filterRt "c($filterSection.filterRt)" #end if #if $filterSection.filterMz != "": filterMz "c($filterSection.filterMz)" #end if method $methods.method #if $methods.method == "CentWave": ppm $methods.ppm peakwidth "c($methods.peakwidth)" ## Advanced snthresh $methods.CentWaveAdv.snthresh prefilter "c($methods.CentWaveAdv.prefilter)" mzCenterFun $methods.CentWaveAdv.mzCenterFun integrate $methods.CentWaveAdv.integrate mzdiff $methods.CentWaveAdv.mzdiff fitgauss $methods.CentWaveAdv.fitgauss noise $methods.CentWaveAdv.noise verboseColumns $methods.CentWaveAdv.verboseColumns #elif $methods.method == "MatchedFilter": fwhm $methods.fwhm binSize $methods.binSize impute $methods.impute_cond.impute #if $methods.impute_cond.impute == "linbase": #if $methods.impute_cond.baseValue != "": baseValue $methods.impute_cond.baseValue #end if distance $methods.impute_cond.distance #end if ## Advanced #if $methods.MatchedFilterAdv.sigma != "": sigma $methods.MatchedFilterAdv.sigma #end if max $methods.MatchedFilterAdv.max snthresh $methods.MatchedFilterAdv.snthresh steps $methods.MatchedFilterAdv.steps mzdiff $methods.MatchedFilterAdv.mzdiff #elif $methods.method == "MSW": snthresh $methods.snthresh verboseColumns $methods.verboseColumns scales "c($methods.scales)" nearbyPeak $methods.nearbyPeak ampTh $methods.ampTh #end if @COMMAND_LOG_EXIT@ ]]></command> <inputs> <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." /> <section name="filterSection" title="Spectra Filters" expanded="False"> <param argument="filterAcquisitionNum" type="text" value="" optional="true" label="Filter on Acquisition Numbers" help="min,max"> <expand macro="input_validator_range_integer"/> </param> <param argument="filterRt" type="text" value="" optional="true" label="Filter on Retention Time" help="min,max"> <expand macro="input_validator_range_integer"/> </param> <param argument="filterMz" type="text" value="" optional="true" label="Filter on Mz" help="min,max"> <expand macro="input_validator_range_integer"/> </param> </section> <conditional name="methods"> <param name="method" type="select" label="Extraction method for peaks detection" help="See the help section below"> <option value="MatchedFilter" selected="true">MatchedFilter - peak detection in chromatographic space</option> <option value="CentWave">CentWave - chromatographic peak detection using the centWave method</option> <option value="MSW">MSW - single-spectrum non-chromatography MS data peak detection</option> </param> <!-- centWave Filter options --> <when value="CentWave"> <param argument="ppm" type="integer" value="25" label="Max tolerated ppm m/z deviation in consecutive scans in ppm" help="for the initial ROI definition." /> <param argument="peakwidth" type="text" value="20,50" label="Min,Max peak width in seconds" help="with the expected approximate peak width in chromatographic space."> <expand macro="input_validator_range_float"/> </param> <section name="CentWaveAdv" title="Advanced Options" expanded="False"> <param argument="snthresh" type="integer" value="10" label="Signal to Noise ratio cutoff" /> <param argument="prefilter" type="text" value="3,100" label="Prefilter step for for the first analysis step (ROI detection)" help="Separate by coma k, I. Mass traces are only retained if they contain at least ‘k‘ peaks with intensity ‘>= I‘."> <expand macro="input_validator_range_integer"/> </param> <param argument="mzCenterFun" type="select" label="Name of the function to calculate the m/z center of the chromatographic peak" > <option value="wMean">intensity weighted mean of the peak's m/z values</option> <option value="mean">mean of the peak's m/z values</option> <option value="apex">use the m/z value at the peak apex</option> <option value="wMeanApex3">ntensity weighted mean of the m/z value at the peak apex and the m/z values left and right of it</option> <option value="meanApex3">mean of the m/z value of the peak apex and the m/z values left and right of it</option> </param> <param argument="integrate" type="select" label="Integration method" > <option value="1">peak limits are found through descent on the mexican hat filtered data (more robust, but less exact)</option> <option value="2">peak limits based on real data (more accurate but prone to noise)</option> </param> <param argument="mzdiff" type="float" value="-0.001" label="Minimum difference in m/z for peaks with overlapping retention times" help="can be negative to allow overlap" /> <param argument="fitgauss" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="fitgauss" help="whether or not a Gaussian should be fitted to each peak" /> <param argument="noise" type="integer" value="0" label="Noise filter" help="allowing to set a minimum intensity required for centroids to be considered in the first analysis step (centroids with intensity lower than ‘noise’ are omitted from ROI detection)." /> <param argument="verboseColumns" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="verbose Columns" help="whether additional peak meta data columns should be returned" /> <!-- roiList --> <!-- firstBaselineCheck --> <!-- roiScales --> </section> </when> <!-- matched Filter options --> <when value="MatchedFilter"> <param argument="fwhm" type="integer" value="30" label="Full width at half maximum of matched filtration gaussian model peak" help="Only used to calculate the actual sigma" /> <param argument="binSize" type="float" value="0.1" label="Step size to use for profile generation" help="The peak detection algorithm creates extracted ion base peak chromatograms (EIBPC) on a fixed step size. (Previously step)" /> <conditional name="impute_cond"> <param argument="impute" type="select" label="Method to be used for missing value imputation" help="(previously profmethod)"> <option value="none">none - no linear interpolation</option> <option value="lin">lin - linear interpolation</option> <option value="linbase">linbase - linear interpolation within a certain bin-neighborhood</option> <option value="intlin">intlin - integral of the linearly interpolated data from plus to minus half the step size</option> </param> <when value="none" /> <when value="lin" /> <when value="linbase"> <param argument="baseValue" type="float" value="" optional="true" label="The base value to which empty elements should be set" help="The default for the ‘baseValue’ is half of the smallest value in ‘x’ (‘NA’s being removed)." /> <param argument="distance" type="integer" value="0" label="Number of non-empty neighboring element of an empty element that should be considered for linear interpolation." /> </when> <when value="intlin" /> </conditional> <section name="MatchedFilterAdv" title="Advanced Options" expanded="False"> <param argument="sigma" type="float" value="" optional="true" label="Standard deviation (width) of matched filtration model peak" help="Leave it to empty to calculate it using fwhm by default at fwhm/2.3548" /> <param argument="max" type="integer" value="5" label="Maximum number of peaks that are expected/will be identified per slice" /> <param argument="snthresh" type="integer" value="10" label="Signal to Noise ratio cutoff" help="defining the signal to noise cutoff to be used in the chromatographic peak detection step" /> <param argument="steps" type="integer" value="2" label="Number of bins to be merged before filtration" help="(i.e. the number of neighboring bins that will be joined to the slice in which filtration and peak detection will be performed)" /> <param argument="mzdiff" type="float" value="0.6" label="Minimum difference in m/z for peaks with overlapping Retention Times" help="By default: 0.8-step*steps " /> <!-- index --> </section> </when> <!-- MSW Filter options --> <when value="MSW"> <!---@TODO <param argument="winSize_noise" type="integer" value="500" label="The local window size to estimate the noise level" help="[winSize.noise]" />--> <param argument="snthresh" type="integer" value="3" label="Signal to Noise ratio cutoff" help="" /> <param argument="verboseColumns" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="verbose Columns" help="whether additional peak meta data columns should be returned" /> <param argument="scales" type="text" value="1,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64" label="Scales of the Continuous Wavelet Transform (CWT)" help="Scales are linked to the width of the peaks that are to be detected." > <expand macro="input_validator_list_integer"/> </param> <param argument="nearbyPeak" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="Determine whether to include the nearby small peaks of major peaks" /> <!-- peakScaleRange --> <param argument="ampTh" type="float" value="0.01" label="Minimum required relative amplitude of the peak" help="Ratio to the maximum of CWT coefficients" /> <!-- minNoiseLevel --> <!-- ridgeLength --> <!-- peakThr --> <!-- tuneIn --> <!---@TODO <param argument="SNR_method" type="text" value="data.mean" label="SNR (Signal to Noise Ratio) method" help="[SNR.method] Method to estimate noise level. Currently, only 95 percentage quantile is supported." />--> </when> </conditional> </inputs> <outputs> <data name="xsetRData" format="rdata.xcms.raw" label="${input.name.rsplit('.',1)[0]}.xset.RData" from_work_dir="xcmsSet.RData" /> <data name="sampleMetadata" format="tabular" label="${input.name.rsplit('.',1)[0]}.sampleMetadata.tsv" from_work_dir="sampleMetadata.tsv" > <filter>input.extension not in ["mzxml","mzml","mzdata","netcdf"]</filter> </data> <data name="ticsRawPdf" format="pdf" label="${input.name.rsplit('.',1)[0]}.xset.TICs_raw.pdf" from_work_dir="TICs.pdf" /> <data name="bpcsRawPdf" format="pdf" label="${input.name.rsplit('.',1)[0]}.xset.BPCs_raw.pdf" from_work_dir="BICs.pdf" /> <data name="log" format="txt" label="${input.name.rsplit('.',1)[0]}.xset.log.txt" from_work_dir="log.txt" /> </outputs> <tests> <test> <param name="input" value="faahKO_reduce.zip" ftype="zip" /> <section name="filterSection"> <param name="filterAcquisitionNum" value="100,5000" /> <param name="filterRt" value="3000,4000" /> <param name="filterMz" value="300,400" /> </section> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <has_text text="ppm: 25" /> <has_text text="peakwidth: 20, 50" /> <has_text text="object with 4 samples" /> <has_text text="Time range: 3006.9-3978.7 seconds (50.1-66.3 minutes)" /> <has_text text="Mass range: 300-400 m/z" /> <has_text text="Peaks: 1311 (about 328 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: KO, WT" /> </assert_stdout> </test> <test> <param name="input" value="MM14.mzML" ftype="mzxml" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="56" /> <param name="peakwidth" value="5.275,13.5" /> </conditional> <assert_stdout> <has_text text="ppm: 56" /> <has_text text="peakwidth: 5.275, 13.5" /> <has_text text="object with 1 samples" /> <has_text text="Time range: 271-307.3 seconds (4.5-5.1 minutes)" /> <has_text text="Mass range: 117.0357-936.7059 m/z" /> <has_text text="Peaks: 222 (about 222 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: ." /> </assert_stdout> </test> <!-- DISABLE FOR TRAVIS Useful to generate test-data for the further steps <test> <param name="input" value="ko15.CDF" ftype="netcdf" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <has_text text="object with 1 samples" /> <has_text text="Time range: 2506.1-4471.7 seconds (41.8-74.5 minutes)" /> <has_text text="Mass range: 200.2-600 m/z" /> <has_text text="Peaks: 2262 (about 2262 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: ." /> </assert_stdout> </test> <test> <param name="input" value="ko16.CDF" ftype="netcdf" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <has_text text="object with 1 samples" /> <has_text text="Time range: 2521.7-4477.9 seconds (42-74.6 minutes)" /> <has_text text="Mass range: 200.1-600 m/z" /> <has_text text="Peaks: 2408 (about 2408 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: ." /> </assert_stdout> </test> <test> <param name="input" value="wt15.CDF" ftype="netcdf" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <has_text text="object with 1 samples" /> <has_text text="Time range: 2517-4473.2 seconds (42-74.6 minutes)" /> <has_text text="Mass range: 200.2-599.8 m/z" /> <has_text text="Peaks: 2278 (about 2278 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: ." /> </assert_stdout> </test> <test> <param name="input" value="wt16.CDF" ftype="netcdf" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <has_text text="object with 1 samples" /> <has_text text="Time range: 2521.7-4468.5 seconds (42-74.5 minutes)" /> <has_text text="Mass range: 200.3-600 m/z" /> <has_text text="Peaks: 2303 (about 2303 per sample)" /> <has_text text="Peak Groups: 0" /> <has_text text="Sample classes: ." /> </assert_stdout> </test> --> <!-- DISABLE FOR TRAVIS Test to test the different methods parameters <test> <param name="input" value="MM8.mzML" ftype="mzxml" /> <conditional name="methods"> <param name="method" value="MatchedFilter" /> <param name="fwhm" value="35" /> <conditional name="impute_cond"> <param name="impute" value="linbase" /> <param name="baseValue" value="0.1" /> <param name="distance" value="1" /> </conditional> </conditional> <assert_stdout> <has_text text="fwhm: 35" /> <has_text text="impute: linbase" /> <has_text text="baseValue: 0.1" /> <has_text text="distance: 1" /> </assert_stdout> </test> <test> <param name="input" value="MM8.mzML" ftype="mzxml" /> <conditional name="methods"> <param name="method" value="MSW" /> <param name="snthresh" value="4" /> <param name="verboseColumns" value="true" /> </conditional> <assert_stdout> <has_text text="snthresh: 4" /> <has_text text="verboseColumns: TRUE" /> </assert_stdout> </test> --> <!-- DISABLE FOR TRAVIS No more test-data/sacuri_dir_root.zip <test> <param name="input" value="sacuri_dir_root.zip" ftype="zip" /> <conditional name="methods"> <param name="method" value="MatchedFilter" /> <param name="step" value="0.01" /> <param name="fwhm" value="4" /> <conditional name="options_m"> <param name="option" value="show" /> <param name="max" value="50" /> <param name="snthresh" value="1" /> <param name="steps" value="2" /> </conditional> </conditional> <assert_stdout> <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_stdout> </test> --> <!-- DISABLE FOR TRAVIS No more test-data/sacuri_current_root.zip <test> <param name="input" value="sacuri_current_root.zip" ftype="zip" /> <conditional name="methods"> <param name="method" value="CentWave" /> <param name="ppm" value="25" /> <param name="peakwidth" value="20,50" /> </conditional> <assert_stdout> <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_stdout> </test> --> </tests> <help><![CDATA[ @HELP_AUTHORS@ =================== xcms findChromPeaks =================== ----------- Description ----------- This tool is used for preprocessing data from multiple LC/MS files (formats NetCDF, mzXML and mzData) using the xcms_ R package. It extracts ion from each sample independently and using a statistic model, peaks are filtered and integrated. You can read a tutorial on how to perform xcms preprocessing which is available here_. .. _xcms: https://bioconductor.org/packages/release/bioc/html/xcms.html .. _here: http://web11.sb-roscoff.fr/download/w4m/howto/w4m_HowToPerformXcmsPreprocessing_v02.pdf ----------------- Workflow position ----------------- **Upstream tools** ========================= ================= ======= ========= Name output file format parameter ========================= ================= ======= ========= NA NA zip NA ========================= ================= ======= ========= **Downstream tools** +---------------------------+--------------------+-----------------+ | Name | Output file | Format | +===========================+====================+=================+ |xcms.group | xset.RData | rdata.xcms.raw | +---------------------------+--------------------+-----------------+ |PCA ellipsoid by factors | sampleMetadata.tsv | Tabular | +---------------------------+--------------------+-----------------+ |Anova | sampleMetadata.tsv | Tabular | +---------------------------+--------------------+-----------------+ **Example of a metabolomic workflow** .. image:: xcms_xcmsset_workflow.png ------ .. class:: infomark The output file is an xset.RData file. You can continue your analysis using it in **xcms.group** tool. --------------------------------------------------- ----------- Input files ----------- +---------------------------+----------------------------------+ | Parameter : num + label | Format | +===========================+==================================+ | OR : Zip file | zip | +---------------------------+----------------------------------+ | OR : Single file | mzXML, mzML, mzData, netCDF | +---------------------------+----------------------------------+ **Choose your inputs** You have two methods for your inputs: | Single file (recommended): You can put a single file as input. That way, you will be able to launch several xcmsSet in parallel and use "xcms.xcmsSet Merger" before "xcms.group" | Zip file: You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories). Zip file: Steps for creating the zip file ----------------------------------------- **Step1: Creating your directory and hierarchize the subdirectories** VERY IMPORTANT: If you zip your files under Windows, you must use the 7Zip_ software, otherwise your zip will not be well unzipped on the platform W4M (zip corrupted bug). .. _7Zip: http://www.7-zip.org/ Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild): arabidopsis/wild/01.raw arabidopsis/mutant/01.raw **Step2: Creating a zip file** Create your zip file (e.g.: arabidopsis.zip). **Step 3 : Uploading it to our Galaxy server** If your zip file is less than 2Gb, you get use the Get Data tool to upload it. Otherwise if your zip file is larger than 2Gb, please refer to the HOWTO_ on workflow4metabolomics.org. .. _HOWTO: http://application.sb-roscoff.fr/download/w4m/howto/galaxy_upload_up_2Go.pdf For more informations, don't hesitate to send us an email at supportATworkflow4metabolomics.org). Advices for converting your files for the XCMS input ---------------------------------------------------- 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. **We recommend you the following parameters:** Use Filtering: **True** Use Peak Picking: **True** Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode Use zlib: **64** Binary Encoding: **64** m/z Encoding: **64** Intensity Encoding: **64** ---------- Parameters ---------- Extraction method for peaks detection ------------------------------------- **CentWave** | The centWave algorithm perform peak density and wavelet based chromatographic peak detection for high resolution LC/MS data in centroid mode [Tautenhahn 2008]. | Due to the fact that peak centroids are used, a binning step is not necessary. | 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. | See the CentWave_manual_ **MatchedFilter** | The _matchedFilter_ algorithm identifies peaks in the chromatographic time domain as described in [Smith 2006]. The intensity values are binned by cutting The LC/MS data into slices (bins) of a mass unit (‘binSize’ m/z) wide. Within each bin the maximal intensity is selected. The chromatographic peak detection is then performed in each bin by extending it based on the ‘steps’ parameter to generate slices comprising bins ‘current_bin - steps +1’ to ‘current_bin + steps - 1’. Each of these slices is then filtered with matched filtration using a second-derative Gaussian as the model peak shape. After filtration peaks are detected using a signal-to-ratio cut-off. For more details and illustrations see [Smith 2006]. | See the MatchedFilter_manual_ **MSW** | Wavelet based, used for direct infusion data. Continuous wavelet transform (CWT) can be used to locate chromatographic peaks on different scales. | See the MSW_manual_ .. _CentWave_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-centWave.html#heading-2 .. _MatchedFilter_manual: https://rdrr.io/bioc/xcms/man/findChromPeaks-matchedFilter.html#heading-2 .. _MSW_manual: https://rdrr.io/bioc/xcms/man/findPeaks-MSW.html#heading-2 @HELP_XCMS_MANUAL@ ------------ Output files ------------ xset.TICs_raw.pdf | "Total Ion Chromatograms" graph in pdf format. xset.BPCs_raw.pdf | "Base Peak Chromatograms" graph in pdf format with each class samples opposed. sampleMetadata.tsv | Tabular file that contains for each sample, it's associated class and polarity (positive,negative and mixed). | This file is necessary in the Anova and PCA step of the workflow. xset.RData: rdata.xcms.raw format | Rdata file that is necessary in the second step of the workflow "xcms.group". ------ .. class:: infomark The output file is an xset.RData file. You can continue your analysis using it in **xcms.group** tool. --------------------------------------------------- --------------- Working example --------------- Input files ----------- | zip_file -> **sacuri.zip** Parameters ---------- | Method -> **matchedFilter** | step -> **0.01** | fwhm -> **4** | Advanced option -> **show** | max: -> **50** | snthresh -> **1** | steps -> **2** Output files ------------ | **1) xset.RData: RData file** | **2) Example of a sampleMetadata.tsv :** +---------------------------+------------+---------+ | sampleMetadata | class | polarity| +===========================+============+=========+ |HU_neg_017 | bio |negative | +---------------------------+------------+---------+ |HU_neg_028 | bio |negative | +---------------------------+------------+---------+ |HU_neg_034 | bio |negative | +---------------------------+------------+---------+ |Blanc04 | blank |negative | +---------------------------+------------+---------+ |Blanc06 | blank |negative | +---------------------------+------------+---------+ |Blanc09 | blank |negative | +---------------------------+------------+---------+ | **3) Example of xset.TICs_raw.pdf (Total Ion Chromatograms) :** .. image:: xcms_tics.png --------------------------------------------------- Changelog/News -------------- **Version 3.0.0.0 - 14/02/2018** - UPGRADE: upgrade the xcms version from 1.46.0 to 3.0.0. So refactoring of a lot of underlining codes and methods - NEW: a bunch of new options: Spectra Filters, CentWave.mzCenterFun, CentWave.fitgauss, CentWave.verboseColumns, MatchedFilter.sigma - UPDATE: since xcms 3.0.0, some options are no more available: scanrange, profmethod, MatchedFilter.step, MatchedFilter.sigma, MSW.winSize.noise, MSW.SNR.method **Version 2.1.1 - 29/11/2017** - BUGFIX: To avoid issues with accented letter in the parentFile tag of the mzXML files, we changed a hidden mechanim to LC_ALL=C **Version 2.1.0 - 22/02/2017** - NEW: The W4M tools will be able now to take as input a single file. It will allow to submit in parallel several files and merge them afterward using "xcms.xcmsSet Merger" before "xcms.group". - BUGFIX: the default value of "matchedFilter" -> "Step size to use for profile generation" which was of 0.01 have been changed to fix with the XMCS default values to 0.1 **Version 2.0.11 - 22/12/2016** - BUGFIX: propose scanrange for all methods **Version 2.0.10 - 22/12/2016** - BUGFIX: when having only one group (i.e. one folder of raw data) the BPC and TIC pdf files do not contain any graph **Version 2.0.9 - 06/07/2016** - UPGRADE: upgrade the xcms version from 1.44.0 to 1.46.0 **Version 2.0.8 - 06/04/2016** - TEST: refactoring to pass planemo test using conda dependencies **Version 2.0.7 - 10/02/2016** - BUGFIX: better management of errors. Datasets remained green although the process failed - BUGFIX/IMPROVEMENT: New checking steps around the imported data in order to raise explicte error message before or after launch XCMS: checking of bad characters in the filenames, checking of the XML integrity and checking of duplicates which can appear in the sample names during the XCMS process because of bad characters - BUGFIX/IMPROVEMENT: New step to check and delete bad characters in the XML: accented characters in the storage path of the mass spectrometer - UPDATE: refactoring of internal management of inputs/outputs - TEST: refactoring to feed the new report tool **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. **Version 2.0.2 - 09/10/2015** - BUGFIX: Some users reported a bug in xcms.xcmsSet. The preprocessing stops itself and doesn't import the whole dataset contained in the zip file without warning. But meanwhile, please check your samplemetadata dataset and the number of rows. **Version 2.0.2 - 02/06/2015** - NEW: The W4M workflows will now take as input a zip file to ease the transfer and to improve dataset exchange between tools and users. (See How_to_upload). The previous "Library directory name" is still available but we invite user to switch on the new zip system as soon as possible. - 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. ]]></help> <expand macro="citation" /> </tool>