comparison metams_lcms_pick_and_group.xml @ 0:dffc38727496

initial commit
author pieter.lukasse@wur.nl
date Sat, 07 Feb 2015 22:02:00 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:dffc38727496
1 <tool id="metams_lcms_pick_and_group" name="METAMS-LC/MS Pick, Align and Group" version="0.0.4">
2 <description> Runs metaMS process for LC/MS feature picking, aligning and grouping</description>
3 <requirements>
4 <requirement type="package" version="3.1.1">R_bioc_metams</requirement>
5 </requirements>
6 <command interpreter="Rscript">
7 metaMS_cmd_pick_and_group.r
8 $data_files
9 $customMetaMSsettings
10 $outputFile
11 $xsetOut
12 $polarity
13 $htmlReportFile
14 $htmlReportFile.files_path
15 $outputLog
16 </command>
17 <inputs>
18 <param name="data_files" type="data" format="prims.fileset.zip" label="Data files (.zip file with CDF, mzML or mzXML files)" help=".zip file containing the CDF, mzML or mzXML files of the new measurements"/>
19
20 <param name="protocolName" type="text" size="30" label="protocolName" value="e.g. Synapt.QTOF.RP"
21 help="Choose a name to give for the specific settings in the parameters below"/><!-- TODO - let user choose this -->
22
23 <param name="polarity" type="select" size="30" label="polarity"
24 help="Which polarity mode was used for measuring of the ms sample">
25 <option value="positive" selected="true">positive</option>
26 <option value="negative" >negative</option>
27 </param>
28
29
30 <!-- ===========NB : if peak picking, alignment OR CAMERA settings have to be reused for runGC wrapper in the future, we can use Galaxy macro expansions here
31 to avoid defining these parameters again in the runGC wrapper ========================= -->
32 <conditional name="peakPicking">
33 <param name="method" type="select" size="30" label="PEAK PICKING method ====================================================="
34 help="matchedFilter=Feature detection in the chromatographic time domain ; centWave=Feature detection for high resolution LC/MS data">
35 <option value="matchedFilter" selected="true">matchedFilter</option>
36 <option value="centWave" >centWave</option>
37 </param>
38 <when value="matchedFilter">
39 <param name="fwhm" type="integer" size="10" value="20" label="fwhm"
40 help="full width at half maximum of matched filtration gaussian model peak. Only used to calculate the actual sigma" />
41 <param name="sigma_denom" type="float" size="10" value="2.3548" label="sigma_denominator"
42 help="denominator for standard deviation (width) of matched filtration model peak (e.g. sigma = fwhm/2.3548)" />
43 <param name="max" type="integer" size="10" value="50" label="max"
44 help="maximum number of peaks per extracted ion chromatogram" />
45 <param name="snthresh" type="integer" size="10" value="4" label="snthresh"
46 help="signal to noise ratio cutoff" />
47 <param name="step" type="float" size="10" value="0.05" label="step"
48 help="step size to use for profile generation"/>
49 <param name="steps" type="integer" size="10" value="2" label="steps"
50 help="number of steps to merge prior to filtration"/>
51 <param name="mzdiff" type="float" size="10" value="0.8" label="mzdiff"
52 help="minimum difference in m/z for peaks with overlapping retention times"/>
53 </when>
54 <when value="centWave">
55 <param name="ppm" type="integer" size="10" value="25" label="ppm"
56 help="maxmial tolerated m/z deviation in consecutive scans, in ppm" />
57 <param name="peakwidth" type="text" size="10" value="20,50" label="peakwidth"
58 help="Chromatographic peak width, given as range (min,max) in seconds" />
59 <param name="snthresh" type="integer" size="10" value="10" label="snthresh"
60 help="signal to noise ratio cutoff" />
61 <param name="prefilter" type="text" size="10" value="3,100" label="prefilter=c(k,I)"
62 help="Prefilter step for the first phase. Mass traces are only retained if
63 they contain at least k peaks with intensity &gt; = I" />
64 <param name="mzCenterFun" type="select" size="30" label="mzCenterFun"
65 help="Function to calculate the m/z center of the feature: wMean intensity weighted mean of the
66 feature m/z values, mean mean of the feature m/z values, apex use m/z value at peak apex,
67 wMeanApex3 intensity weighted mean of the m/z value at peak apex and the m/z value left and
68 right of it, meanApex3 mean of the m/z value at peak apex and the m/z value left and right of it">
69 <option value="wMean" selected="true">wMean</option>
70 <option value="mean" >mean</option>
71 <option value="apex" >apex</option>
72 <option value="wMeanApex3" >wMeanApex3</option>
73 <option value="meanApex3" >meanApex3</option>
74 </param>
75 <param name="integrate" type="select" size="30" label="integrate"
76 help="Integration method. If =1 peak limits are found through descent
77 on the mexican hat filtered data, if =2 the descent is done on the real data.
78 Method 2 is very accurate but prone to noise, while method 1 is more robust to noise but less exact">
79 <option value="1" selected="true">1</option>
80 <option value="2" >2</option>
81 </param>
82 <param name="mzdiff" type="float" size="10" value="-0.001" label="mzdiff"
83 help="minimum difference in m/z for peaks with overlapping retention times, can be negative to allow overlap" />
84 <param name="fitgauss" type="integer" size="10" value="20" label="fitgauss"
85 help="logical, if Yes: a Gaussian is fitted to each peak" >
86 <option value="TRUE" selected="true">Yes</option>
87 <option value="FALSE" >No</option>
88 </param>
89 <param name="noise" type="integer" size="10" value="0" label="noise"
90 help="optional argument which is useful for data that was centroided without any intensity
91 threshold, centroids with intensity &lt; noise are omitted from ROI detection" />
92 </when>
93 </conditional>
94
95
96 <param name="min_class_fraction" type="float" size="10" value="0.3" label="ALIGNMENT min.class.fraction ====================================================="
97 help="Minimum fraction of samples necessary in the alignment to make it a valid alignment/group"/>
98 <param name="min_class_size" type="integer" size="10" value="3" label="min.class.size"
99 help="Minimum number of samples necessary in the alignment to make it a valid alignment/group. The lowest criteria
100 between this and min.class.fraction will be used." />
101 <param name="mzwid" type="float" size="10" value="0.1" label="mzwid"
102 help="width of overlapping m/z slices to use for creating peak density chromatograms and grouping peaks across samples"/>
103 <param name="bws" type="text" size="10" value="30,10" label="bws"
104 help="bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel
105 to apply to the peak density chromatogram. Fill in two values separated by comma. First value is used for
106 first grouping round, seccond value is used for last grouping/alignment round after retention time
107 correction. "/>
108
109 <conditional name="retcor">
110 <param name="retcormethod" type="select" size="30" label="retcormethod"
111 help="retention time correction method. 'peakgroups' is the default density based approach, 'obiwarp' is
112 alignment data by Ordered Bijective Interpolated Warping ">
113 <option value="peakgroups" selected="true">peakgroups</option>
114 <option value="obiwarp" >obiwarp</option>
115 </param>
116 <when value="peakgroups">
117 <param name="retcorfamily" type="select" size="30" label="retcorfamily"
118 help="retention time correction method type/family">
119 <option value="symmetric" selected="true">symmetric</option>
120 <option value="gaussian">gaussian</option>
121 </param>
122 <param name="smooth" type="select" size="30" label="smooth"
123 help="either 'loess' for non-linear alignment or 'linear' for linear alignment">
124 <option value="linear" selected="true">linear</option>
125 <option value="loess">loess (TODO - waiting for metaMS to add/parse this option)</option>
126 </param>
127 <param name="missingratio" type="float" size="10" value="0.2" label="missingratio"
128 help="ratio of missing samples to allow in retention time correction groups"/>
129 <param name="extraratio" type="float" size="10" value="0.1" label="extraratio"
130 help="ratio of extra peaks to allow in retention time correction correction groups"/>
131 </when>
132 <when value="obiwarp">
133 <param name="profStep" type="integer" size="10" value="1" label="profStep"
134 help="step size (in m/z) to use for profile generation from the raw data files" />
135 </when>
136 </conditional>
137
138 <param name="fillPeaks" type="select" size="30" label="fillPeaks"
139 help="Fill missing peaks in peak groups/alignments that do not include peaks from every sample.
140 This method produces intensity values for those missing samples by integrating raw data in peak group region.">
141 <option value="TRUE" selected="true">Yes</option>
142 <option value="FALSE">No</option>
143 </param>
144 <param name="perfwhm" type="float" size="10" value="0.6" label="CAMERA perfwhm ====================================================="
145 help="percentage of FWHM width"/>
146 <param name="cor_eic_th" type="float" size="10" value="0.7" label="cor_eic_th"
147 help="correlation threshold (0..1)" />
148 <param name="ppm" type="float" size="10" value="5.0" label="ppm"
149 help="General ppm error" />
150
151 <param name="groupCorr_graphMethod" type="select" size="30" label="(groupCorr)graphMethod"
152 help="Method selection for grouping peaks after correlation analysis into pseudospectra.">
153 <option value="hcs" selected="true">hcs</option>
154 </param>
155
156 <param name="groupCorr_pval" type="float" size="10" value="0.05" label="(groupCorr)pval"
157 help="significant correlation threshold" />
158
159 <param name="groupCorr_calcCiS" type="select" size="30" label="(groupCorr)calcCiS"
160 help="Use correlation inside samples for peak grouping">
161 <option value="TRUE" selected="true">Yes</option>
162 <option value="FALSE">No</option>
163 </param>
164
165 <param name="groupCorr_calcIso" type="select" size="30" label="(groupCorr)calcIso"
166 help="Use isotopic relationship for peak grouping">
167 <option value="TRUE" >Yes</option>
168 <option value="FALSE" selected="true">No</option>
169 </param>
170
171 <param name="groupCorr_calcCaS" type="select" size="30" label="(groupCorr)calcCaS"
172 help="Use correlation across samples for peak grouping">
173 <option value="TRUE" >Yes</option>
174 <option value="FALSE" selected="true">No</option>
175 </param>
176
177
178 <param name="findIsotopes_maxcharge" type="integer" size="10" value="3" label="(findIsotopes)maxcharge"
179 help="max. ion charge" />
180
181 <param name="findIsotopes_maxiso" type="integer" size="10" value="4" label="(findIsotopes)maxiso"
182 help="max. number of expected isotopes" />
183
184 <param name="findIsotopes_minfrac" type="float" size="10" value="0.5" label="(findIsotopes)minfrac"
185 help="The ratio for the number of samples, which must satisfy the C12/C13 rule for isotope annotation" />
186
187
188 <param name="findAdducts_multiplier" type="integer" size="10" value="3" label="(findAdducts)multiplier"
189 help="If no ruleset is provided, calculate ruleset with max. number n of [nM+x] clusterions" />
190
191
192
193 </inputs>
194 <configfiles>
195
196 <configfile name="customMetaMSsettings">## ====================================
197 ## metaMS process settings
198 customMetaMSsettings &lt;- metaMSsettings(protocolName = "${protocolName}",
199 chrom = "LC",
200 PeakPicking = list(
201 method = "${peakPicking.method}",
202 #if $peakPicking.method == "matchedFilter"
203 fwhm = ${peakPicking.fwhm},
204 sigma = ${peakPicking.fwhm}/${peakPicking.sigma_denom},
205 max = ${peakPicking.max},
206 snthresh = ${peakPicking.snthresh},
207 step = ${peakPicking.step},
208 steps = ${peakPicking.steps},
209 mzdiff = ${peakPicking.mzdiff}),
210 #else
211 ppm = ${peakPicking.ppm},
212 peakwidth = c(${peakPicking.peakwidth}),
213 snthresh = ${peakPicking.snthresh},
214 prefilter = c(${peakPicking.prefilter}),
215 mzCenterFun = "${peakPicking.mzCenterFun}",
216 integrate = ${peakPicking.integrate},
217 mzdiff = ${peakPicking.mzdiff},
218 fitgauss = ${peakPicking.fitgauss},
219 noise = ${peakPicking.noise}),
220 #end if
221 Alignment = list(
222 min.class.fraction = ${min_class_fraction},
223 min.class.size = ${min_class_size},
224 mzwid = ${mzwid},
225 bws = c(${bws}),
226 retcormethod = "${retcor.retcormethod}",
227 #if $retcor.retcormethod == "peakgroups"
228 smooth = "${retcor.smooth}",
229 missingratio = ${retcor.missingratio},
230 extraratio = ${retcor.extraratio},
231 retcorfamily = "${retcor.retcorfamily}",
232 #else
233 ##repeating the method as workaround/ backwards compatibility (can remove this one after fix from metaMS):
234 method = "${retcor.retcormethod}",
235 profStep = ${retcor.profStep},
236 #end if
237 fillPeaks = ${fillPeaks}),
238 CAMERA = list(
239 perfwhm = ${perfwhm},
240 cor_eic_th = ${cor_eic_th},
241 ppm= ${ppm},
242 graphMethod= "${groupCorr_graphMethod}",
243 pval= ${groupCorr_pval},
244 calcCiS= ${groupCorr_calcCiS},
245 calcIso= ${groupCorr_calcIso},
246 calcCaS= ${groupCorr_calcCaS},
247 maxcharge= ${findIsotopes_maxcharge},
248 maxiso= ${findIsotopes_maxiso},
249 minfrac= ${findIsotopes_minfrac},
250 multiplier= ${findAdducts_multiplier}
251 ))</configfile>
252
253 </configfiles>
254
255 <outputs>
256 <data name="outputFile" format="tabular" label="${tool.name} on ${on_string} - peaks table (TSV)"/>
257 <data name="outputLog" format="txt" label="${tool.name} on ${on_string} - LOG" hidden="True"/>
258 <data name="xsetOut" format="rdata" label="${tool.name} on ${on_string} - xcmsSet (RDATA)"/>
259 <data name="htmlReportFile" format="html" label="${tool.name} on ${on_string} - report (HTML)"/>
260 </outputs>
261 <tests>
262 <test>
263 </test>
264 </tests>
265 <help>
266
267 .. class:: infomark
268
269 Runs metaMS process for LC/MS feature feature picking, aligning and grouping.
270 This part of the metaMS process makes use of the XCMS and CAMERA tools and algorithms.
271 CAMERA is used for automatic deconvolution/annotation of LC/ESI-MS data.
272 The figure below shows the main parts of the metaMS process wrapped by this tool.
273
274 .. image:: $PATH_TO_IMAGES/metaMS_pick_align_camera.png
275
276
277 From CAMERA documentation:
278
279 .. image:: $PATH_TO_IMAGES/CAMERA_results.png
280
281 **References**
282
283 If you use this Galaxy tool in work leading to a scientific publication please
284 cite the following papers:
285
286 Wehrens, R.; Weingart, G.; Mattivi, F. (2014).
287 metaMS: an open-source pipeline for GC-MS-based untargeted metabolomics.
288 Journal of chromatography B: biomedical sciences and applications, 996 (1): 109-116.
289 doi: 10.1016/j.jchromb.2014.02.051
290 handle: http://hdl.handle.net/10449/24012
291
292 Wrapper by Pieter Lukasse.
293
294
295 </help>
296 <citations>
297 <citation type="doi">10.1016/j.jchromb.2014.02.051</citation> <!-- example
298 see also https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Ccitations.3E_tag_set
299 -->
300 </citations>
301 </tool>