comparison metams_lcms_pick_and_group.xml @ 49:f772a5caa86a

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