comparison ipo4xcmsSet.xml @ 0:ac5f2936575b draft

planemo upload commit 131562ad89c33a2f87754936ce3c8fe6899484c0
author lecorguille
date Thu, 03 Aug 2017 06:00:00 -0400
parents
children ae8de756dfcf
comparison
equal deleted inserted replaced
-1:000000000000 0:ac5f2936575b
1 <tool id="ipo4xcmsSet" name="IPO for xcmsSet" version="0.0.3">
2
3 <description>IPO optimization process for xcms.xcmsSet</description>
4
5 <macros>
6 <import>macros.xml</import>
7
8 <macro name="centwave_ppm_fixed">
9 <param name="ppm" type="integer" value="25" label="Max tolerated ppm m/z deviation in consecutive scans in ppm" help="[ppm]" />
10 </macro>
11 <macro name="centwave_peakwidth_fixed">
12 <param name="min_peakwidth" type="float" value="20" label="Min peak width range in seconds" optional="true" help="[min_peakwidth]" />
13 <param name="max_peakwidth" type="float" value="50" label="Max peak width range in seconds" optional="true" help="[max_peakwidth]" />
14 </macro>
15 <macro name="centwave_mzdiff_fixed">
16 <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" />
17 </macro>
18
19 <macro name="matchedfilter_fwhm_fixed">
20 <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" />
21 </macro>
22 <macro name="matchedfilter_mzdiff_fixed">
23 <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 " />
24 </macro>
25 </macros>
26
27 <expand macro="requirements"/>
28 <expand macro="stdio"/>
29
30 <command><![CDATA[
31 LANG=C Rscript $__tool_directory__/ipo4xcmsSet.r
32
33 #if $input.is_of_type("mzxml") or $input.is_of_type("mzml") or $input.is_of_type("mzdata") or $input.is_of_type("netcdf"):
34 singlefile_galaxyPath '$input' singlefile_sampleName '$input.name'
35 #else
36 zipfile '$input'
37 #end if
38
39 parametersOutput $parametersOutput
40 xsetRdataOutput $xsetRData
41
42 samplebyclass $samplebyclass
43
44 ## profmethod $profmethod
45 @COMMAND_NSLAVES@
46 method $methods.method
47 #if $methods.method == "centWave":
48 ppm "c($methods.section_centwave_optiomizable.conditional_parameter.ppm)"
49 min_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.min_peakwidth)"
50 max_peakwidth "c($methods.section_centwave_optiomizable.conditional_parameter.max_peakwidth)"
51 mzdiff "c($methods.section_centwave_optiomizable.conditional_parameter.mzdiff)"
52
53 snthresh $methods.section_centwave_non_optiomizable.snthresh
54 integrate $methods.section_centwave_non_optiomizable.integrate
55 noise $methods.section_centwave_non_optiomizable.noise
56 prefilter "c($methods.section_centwave_non_optiomizable.prefilter)"
57
58 #elif $methods.method == "matchedFilter":
59 fwhm "c($methods.section_matchedfilter_optiomizable.conditional_parameter.fwhm)"
60 mzdiff "c($methods.section_matchedfilter_optiomizable.conditional_parameter.mzdiff)"
61
62 step $methods.section_matchedfilter_non_optimizable.step
63 steps $methods.section_matchedfilter_non_optimizable.steps
64 max $methods.section_matchedfilter_non_optimizable.max
65 snthresh $methods.section_matchedfilter_non_optimizable.snthresh
66 #end if
67
68 @COMMAND_LOG_EXIT@
69 ]]></command>
70
71 <inputs>
72
73 <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." />
74
75 <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" />
76
77 <conditional name="methods">
78 <param name="method" type="select" label="Extraction method for peaks detection" help="[method] See the help section below">
79 <option value="centWave" >centWave</option>
80 <option value="matchedFilter" selected="true">matchedFilter</option>
81 </param>
82
83 <!-- centWave Filter options -->
84 <when value="centWave">
85 <section name="section_centwave_optiomizable" title="Optimizable parameters" expanded="True">
86 <conditional name="conditional_parameter">
87 <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">
88 <option value="ppm">Max tolerated ppm m/z deviation in consecutive scans in ppm [ppm]</option>
89 <option value="peakwidth">Min,Max peak width in seconds [peakwidth]</option>
90 <option value="mzdiff">Minimum difference in m/z for peaks with overlapping Retention Times [mzdiff]</option>
91 </param>
92 <when value="ppm">
93 <param name="ppm" type="text" value="17,32" label="Range for Max tolerated ppm m/z deviation in consecutive scans in ppm" optional="false" help="[ppm] (ex: 25 or 17,32)">
94 <validator type="regex" message="Should be this format XX,YY">[0-9]+,[0-9]+</validator>
95 </param>
96 <expand macro="centwave_peakwidth_fixed" />
97 <expand macro="centwave_mzdiff_fixed" />
98 </when>
99 <when value="peakwidth">
100 <param name="min_peakwidth" type="text" value="12,18" label="Range for Min peak width range in seconds" optional="true" help="[min_peakwidth] (ex: 12,18)">
101 <validator type="regex" message="Should be one combinaison of those format: XX,YY or XX.XX,YY.YY">[0-9]+[\.]?[0-9]*,[0-9]+[\.]?[0-9]*</validator>
102 </param>
103 <param name="max_peakwidth" type="text" value="35,65" label="Range for Max peak width range in seconds" optional="true" help="[max_peakwidth] (ex: 35,65)">
104 <validator type="regex" message="Should be one combinaison of those format: XX,YY or XX.XX,YY.YY">[0-9]+[\.]?[0-9]*,[0-9]+[\.]?[0-9]*</validator>
105 </param>
106 <expand macro="centwave_ppm_fixed" />
107 <expand macro="centwave_mzdiff_fixed" />
108 </when>
109 <when value="mzdiff">
110 <param name="mzdiff" type="text" value="-0.001,0.010" label="Range for Minimum difference in m/z for peaks with overlapping retention times" help="[mzdiff] Can be negative to allow overlap (ex: -0.001,0.010)">
111 <validator type="regex" message="Should be one combinaison of those format: XX,YY or -XX,YY or XX.XX,YY.YY">[\-]?[0-9]+[\.]?[0-9]*,[\-]?[0-9]+[\.]?[0-9]*</validator>
112 </param>
113 <expand macro="centwave_ppm_fixed" />
114 <expand macro="centwave_peakwidth_fixed" />
115 </when>
116 </conditional>
117 </section>
118
119 <section name="section_centwave_non_optiomizable" title="Non optimizable parameters" expanded="True">
120 <param name="snthresh" type="integer" value="10" label="Signal/Noise threshold" help="[snthresh] Signal to noise ratio cutoff" />
121 <param name="integrate" type="select" label="Peak limits method" help="[integrate]" >
122 <option value="1">peak limits based on smoothed 2nd derivative (less precise)</option>
123 <option value="2">peak limits based on real data (more sensitive to noise)</option>
124 </param>
125 <param name="prefilter" type="text" value="3,100" label="Prefilter step for the first phase" help="[prefilter] Separate by coma k,I. Mass traces are only retained if they contain at least ‘k’ peaks with intensity >= ‘I’"/>
126 <param name="noise" type="integer" value="0" label="Noise filter" help="[noise] optional argument which is useful for data that was centroided without any intensity threshold, centroids with intensity smaller than ‘noise’ are omitted from ROI detection"/>
127 </section>
128 </when>
129
130 <!-- matched Filter options -->
131 <when value="matchedFilter">
132 <section name="section_matchedfilter_optiomizable" title="Optimizable parameters" expanded="True">
133 <conditional name="conditional_parameter">
134 <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">
135 <option value="fwhm">Full width at half maximum of matched filtration gaussian model peak [fwhm]</option>
136 <option value="mzdiff">Minimum difference in m/z for peaks with overlapping Retention Times [mzdiff]</option>
137 </param>
138 <when value="fwhm">
139 <param name="fwhm" type="text" value="25,35" label="Range for Full width at half maximum of matched filtration gaussian model peak" optional="true" help="[fwhm] Only used to calculate the actual sigma (ex: 25,35)">
140 <validator type="regex" message="Should be this format: XX,YY">[0-9]+,[0-9]+</validator>
141 </param>
142 <expand macro="matchedfilter_mzdiff_fixed" />
143 </when>
144 <when value="mzdiff">
145 <param name="mzdiff" type="text" value="0.4,0.7" label="Range for Minimum difference in m/z for peaks with overlapping Retention Times" help="[mzdiff] By default: 0.8-step*steps (ex: 0.4,0.7)">
146 <validator type="regex" message="Should be one combinaison of those format: XX,YY or -XX,YY or XX.XX,YY.YY">[\-]?[0-9]+[\.]?[0-9]*,[\-]?[0-9]+[\.]?[0-9]*</validator>
147 </param>
148 <expand macro="matchedfilter_fwhm_fixed" />
149 </when>
150 </conditional>
151 </section>
152
153 <section name="section_matchedfilter_non_optimizable" title="Non optimizable parameters" expanded="True">
154 <param name="step" type="float" value="0.1" label="Step size to use for profile generation" help="[step] The peak detection algorithm creates extracted ion base peak chromatograms (EIBPC) on a fixed step size" />
155 <param name="steps" type="integer" value="2" label="Number of steps to merge prior to filtration" help="[steps] The peak identification algorithm combines a given number of EIBPCs prior to filtration and peak detection, as defined by the steps argument" />
156 <param name="max" type="integer" value="5" label="Maximum number of peaks per extracted ion chromatogram" help="[max]" />
157 <param name="snthresh" type="integer" value="10" label="Signal to noise ratio cutoff" help="[snthresh]" />
158 </section>
159 </when>
160 </conditional>
161
162
163 </inputs>
164
165 <outputs>
166 <data name="xsetRData" format="rdata.xcms.raw" label="xset.RData" />
167 <data name="parametersOutput" format="tabular" label="IPO_parameters4xcmsSet.tsv" />
168 <data name="log" format="txt" label="ipo4xcmsSet.log.txt" />
169 </outputs>
170
171 <tests>
172 <test>
173 <param name="input" value="MM14.mzML" ftype="mzxml" />
174 <param name="samplebyclass" value="0" />
175 <conditional name="methods">
176 <param name="method" value="centWave" />
177 <section name="section_centwave_optiomizable" >
178 <conditional name="conditional_parameter">
179 <param name="select_parameter" value="peakwidth" />
180 <param name="min_peakwidth" value="3,9.5" />
181 <param name="max_peakwidth" value="10,20" />
182 <param name="ppm" value="56" />
183 <param name="mzdiff" value="-0.001" />
184 </conditional>
185 </section>
186 </conditional>
187 <output name="parametersOutput" file="MM14_IPO_parameters4xcmsSet_peakwidth.tsv" />
188 </test>
189 <test>
190 <param name="input" value="MM14.mzML" ftype="mzxml" />
191 <param name="samplebyclass" value="0" />
192 <conditional name="methods">
193 <param name="method" value="centWave" />
194 <section name="section_centwave_optiomizable" >
195 <conditional name="conditional_parameter">
196 <param name="select_parameter" value="ppm" />
197 <param name="ppm" value="50,60" />
198 <param name="min_peakwidth" value="3.325" />
199 <param name="max_peakwidth" value="11" />
200 <param name="mzdiff" value="-0.001" />
201 </conditional>
202 </section>
203 </conditional>
204 <output name="parametersOutput" file="MM14_IPO_parameters4xcmsSet_ppm.tsv" />
205 </test>
206 <!-- Too long for Travis CI -->
207 <!--<test>
208 <param name="inputs|input" value="zip_file" />
209 <param name="inputs|zip_file" value="sacuri_2files.zip" ftype="zip" />
210 <param name="samplebyclass" value="1" />
211 <param name="methods|method" value="centWave" />
212 <param name="methods|ppm" value="25" />
213 <param name="methods|min_peakwidth" value="20,30" />
214 <param name="methods|max_peakwidth" value="45,55" />
215 <output name="parametersOutput" file="sacuri_2files_centWave_IPO_parameters4xcmsSet.tsv" />
216 </test>-->
217 <!-- Too long for Travis CI -->
218 <!--<test>
219 <param name="inputs|input" value="zip_file" />
220 <param name="inputs|zip_file" value="sacuri_2files.zip" ftype="zip" />
221 <param name="samplebyclass" value="1" />
222 <param name="methods|method" value="matchedFilter" />
223 <param name="methods|step" value="0.05,0.15" />
224 <param name="methods|fwhm" value="25,35" />
225 <output name="parametersOutput" file="sacuri_2files_matchedFilter_IPO_parameters4xcmsSet.tsv" />
226 </test>-->
227 <!--Failed:
228 Error in resultIncreased(history) :
229 No isotopes have been detected, peak picking not optimizable by IPO!-->
230 <!--<test>
231 <param name="inputs|input" value="zip_file" />
232 <param name="inputs|zip_file" value="faahKO_reduce.zip" ftype="zip" />
233 <param name="methods|method" value="centWave" />
234 <param name="methods|ppm" value="25" />
235 <param name="methods|min_peakwidth" value="15,25" />
236 <param name="methods|min_peakwidth" value="20,30" />
237 <param name="methods|max_peakwidth" value="45,55" />
238 <output name="parametersOutput" file="faahKO_IPO_parameters4xcmsSet.tsv" />
239 </test>-->
240 </tests>
241
242 <help><![CDATA[
243
244 @HELP_AUTHORS@
245
246 ===============
247 IPO.ipo4xcmsSet
248 ===============
249
250 -----------
251 Description
252 -----------
253
254 A Tool for automated Optimization of XCMS Parameters
255
256
257 -----------------
258 Workflow position
259 -----------------
260
261 **Upstream tools**
262
263 ========================= ================= ======= =========
264 Name output file format parameter
265 ========================= ================= ======= =========
266 NA NA zip NA
267 ========================= ================= ======= =========
268
269
270 **Downstream tools**
271
272 +---------------------------+----------------------+-----------------+
273 | Name | Output file | Format |
274 +===========================+======================+=================+
275 |xcms.xcmsSet | parametersOutput.tsv | Tabular |
276 +---------------------------+--------------------+-------------------+
277
278
279
280 -----------
281 Input files
282 -----------
283
284 +---------------------------+------------+
285 | Parameter : num + label | Format |
286 +===========================+============+
287 | 1 : Choose your inputs | zip |
288 +---------------------------+------------+
289
290 **Choose your inputs**
291
292 You have two methods for your inputs:
293
294 | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories).
295 | 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.
296
297 Steps for creating the zip file
298 -------------------------------
299
300 **Step1: Creating your directory and hierarchize the subdirectories**
301
302
303 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).
304
305 Your zip should contain all your conditions as sub-directories. For example, two conditions (mutant and wild):
306 arabidopsis/wild/01.raw
307 arabidopsis/mutant/01.raw
308
309 **Step2: Creating a zip file**
310
311 Create your zip file (e.g.: arabidopsis.zip).
312
313 **Step 3 : Uploading it to our Galaxy server**
314
315 If your zip file is less than 2Gb, you get use the Get Data tool to upload it.
316
317 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).
318
319 For more informations, don't hesitate to send us an email at supportATworkflow4metabolomics.org).
320
321 Advices for converting your files for the XCMS input
322 ----------------------------------------------------
323
324 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.
325
326 **We recommend you the following parameters:**
327
328 Use Filtering: **True**
329
330 Use Peak Picking: **True**
331
332 Peak Peaking -Apply to MS Levels: **All Levels (1-)** : Centroid Mode
333
334 Use zlib: **64**
335
336 Binary Encoding: **64**
337
338 m/z Encoding: **64**
339
340 Intensity Encoding: **64**
341
342
343 ----------
344 Parameters
345 ----------
346
347 Extraction method for peaks detection
348 -------------------------------------
349
350 **Matched Filter**
351
352 | One parameter to consider is the Gaussian model peak width used for matched filtration,an integral part of the peak detection algorithm.
353 | For a discussion of how model peak width affects the signal to noise ratio, see Danielsson et al. (2002).
354
355
356 **cent Wave**
357
358 | This algorithm is most suitable for high resolution LC/{TOF,OrbiTrap,FTICR}-MS data in centroid mode.
359 | Due to the fact that peak centroids are used, a binning step is not necessary.
360 | 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.
361
362
363 ------------
364 Output files
365 ------------
366
367 IPO_parameters4xcmsSet.tsv
368
369 | Optimal parameters for xcmsSet
370
371
372 ---------------------------------------------------
373
374 Changelog/News
375 --------------
376
377
378
379 ]]></help>
380
381 <expand macro="citation" />
382 </tool>