0
|
1 <tool id="abims_xcms_retcor" name="xcms.retcor" version="2.0.2">
|
|
2
|
|
3 <description>Retention Time Correction using retcor function from xcms R package </description>
|
|
4
|
|
5 <requirements>
|
|
6 <requirement type="package" version="3.1.2">R</requirement>
|
|
7 <requirement type="binary">Rscript</requirement>
|
|
8 <requirement type="package" version="1.44.0">xcms</requirement>
|
|
9 <requirement type="package" version="2.1">xcms_w4m_script</requirement>
|
|
10 </requirements>
|
|
11
|
|
12 <stdio>
|
|
13 <exit_code range="1:" level="fatal" />
|
|
14 </stdio>
|
|
15
|
|
16 <command>
|
|
17 xcms.r
|
|
18 image $image xfunction retcor method $methods.method
|
|
19 #if $methods.method == "obiwarp":
|
|
20 profStep $methods.profStep
|
|
21 #else
|
|
22 smooth $methods.smooth
|
|
23 extra $methods.extra
|
|
24 missing $methods.missing
|
|
25 #if $methods.options.option == "show":
|
|
26 span $methods.options.span
|
|
27 family $methods.options.family
|
|
28 plottype $methods.options.plottype
|
|
29 #end if
|
|
30 #end if
|
|
31 && ( mv retcor.RData $xsetRData;
|
|
32 mv TICs_corrected.pdf $ticsCorPdf ;
|
|
33 mv BPCs_corrected.pdf $bpcsCorPdf ;
|
|
34 mv Rplots.pdf $rplotsPdf 2> /dev/null);
|
|
35 cat xset.log;
|
|
36
|
|
37 </command>
|
|
38
|
|
39 <inputs>
|
|
40 <param name="image" type="data" format="rdata.xcms.raw,rdata.xcms.group,rdata" label="xset RData file" help="output file from another function xcms (xcmsSet, retcor etc.)" />
|
|
41 <conditional name="methods">
|
|
42 <param name="method" type="select" label="Method to use for retention time correction" help="[method] See the help section below" >
|
|
43 <option value="obiwarp" >obiwarp</option>
|
|
44 <option value="peakgroups" selected="peakgroups">peakgroups</option>
|
|
45 </param>
|
|
46 <when value="obiwarp">
|
|
47 <param name="profStep" type="float" value="1" label="Step size (in m/z)" help="[profStep] to use for profile generation from the raw data files" />
|
|
48 </when>
|
|
49 <when value="peakgroups">
|
|
50 <param name="smooth" type="select" label="Smooth method" help="[smooth] either 'loess’ for non-linear alignment or ‘linear’ for linear alignment" >
|
|
51 <option value="loess">loess</option>
|
|
52 <option value="linear">linear</option>
|
|
53 </param>
|
|
54 <param name="extra" type="integer" value="1" label="Number of extra peaks to allow in retention time correction correction groups" help="[extra]" />
|
|
55 <param name="missing" type="integer" value="1" label="Number of missing samples to allow in retention time correction groups" help="[missing]" />
|
|
56 <conditional name="options">
|
|
57 <param name="option" type="select" label="Advanced options">
|
|
58 <option value="show">show</option>
|
|
59 <option value="hide" selected="true">hide</option>
|
|
60 </param>
|
|
61 <when value="show">
|
|
62 <param name="span" type="float" value="0.2" label="Degree of smoothing for local polynomial regression fitting" help="[span]"/>
|
|
63
|
|
64 <param name="family" type="select" label="Family" help="[family] if gaussian fitting is by least-squares with no outlier removal, and if symmetric a re descending M estimator is used with Tukey's biweight function, allowing outlier removal">
|
|
65 <option value="gaussian" selected="true">gaussian</option>
|
|
66 <option value="symmetric">symmetric</option>
|
|
67 </param>
|
|
68
|
|
69 <param name="plottype" type="select" help="[plottype] if deviation plot retention time deviation points and regression fit, and if mdevden also plot peak overall peak density and retention time correction peak density">
|
|
70 <option value="none" selected="true">none</option>
|
|
71 <option value="deviation">deviation</option>
|
|
72 <option value="mdevden">mdevden</option>
|
|
73 </param>
|
|
74 </when>
|
|
75 <when value="hide">
|
|
76 </when>
|
|
77 </conditional>
|
|
78 </when>
|
|
79 </conditional>
|
|
80 </inputs>
|
|
81
|
|
82 <outputs>
|
|
83 <data name="xsetRData" format="rdata.xcms.retcor" label="${image.name[:-6]}.retcor.RData" />
|
|
84 <data name="rplotsPdf" format="pdf" label="${image.name[:-6]}.retcor.Rplots.pdf">
|
|
85 <filter>(methods['method'] == 'peakgroups')</filter>
|
|
86 <filter>(options['option'] == 'show')</filter>
|
|
87 <filter>(family == 'symmetric')</filter>
|
|
88 <filter>(plottype != 'none')</filter>
|
|
89 </data>
|
|
90 <data name="ticsCorPdf" format="pdf" label="${image.name[:-6]}.retcor.TICs_corrected.pdf" />
|
|
91 <data name="bpcsCorPdf" format="pdf" label="${image.name[:-6]}.retcor.BPCs_corrected.pdf" />
|
|
92 </outputs>
|
|
93
|
|
94 <tests>
|
|
95 <test>
|
|
96 <param name="image" value="xset.group.RData"/>
|
|
97 <param name="methods.method" value="peakgroups"/>
|
|
98 <param name="methods.smooth" value="loess"/>
|
|
99 <param name="methods.extra" value="1"/>
|
|
100 <param name="methods.missing" value="1"/>
|
|
101 <param name="methods.options.option" value="show"/>
|
|
102 <param name="methods.options.span" value="0.2"/>
|
|
103 <param name="methods.options.family" value="gaussian"/>
|
|
104 <param name="methods.options.plottype" value="deviation"/>
|
|
105 <output name="xsetRData" file="xset.group.retcor.RData" />
|
|
106 <output name="rplotsPdf" file="xset.group.retcor.Rplots.pdf" />
|
|
107 <output name="ticsCorPdf" file="xset.group.retcor.TICs_corrected.pdf" />
|
|
108 <output name="bpcsCorPdf" file="xset.group.retcor.BPCs_corrected.pdf" />
|
|
109 </test>
|
|
110 </tests>
|
|
111
|
|
112 <help>
|
|
113
|
|
114
|
|
115 .. class:: infomark
|
|
116
|
|
117 **Authors** Colin A. Smith csmith@scripps.edu, Ralf Tautenhahn rtautenh@gmail.com, Steffen Neumann sneumann@ipb-halle.de, Paul Benton hpaul.benton08@imperial.ac.uk and Christopher Conley cjconley@ucdavis.edu
|
|
118
|
|
119 .. class:: infomark
|
|
120
|
|
121 **Galaxy integration** ABiMS TEAM - UPMC/CNRS - Station biologique de Roscoff and Yann Guitton yann.guitton@univ-nantes.fr - part of Workflow4Metabolomics.org [W4M]
|
|
122
|
|
123 | Contact support@workflow4metabolomics.org for any questions or concerns about the Galaxy implementation of this tool.
|
|
124
|
|
125
|
|
126
|
|
127 ---------------------------------------------------
|
|
128
|
|
129 ===========
|
|
130 Xcms.retcor
|
|
131 ===========
|
|
132
|
|
133 -----------
|
|
134 Description
|
|
135 -----------
|
|
136
|
|
137 After matching peaks into groups, xcms can use those groups to identify and correct
|
|
138 correlated drifts in retention time from run to run. The aligned peaks can then be
|
|
139 used for a second pass of peak grouping which will be more accurate than the first.
|
|
140 The whole process can be repeated in an iterative fashion. Not all peak groups will be helpful
|
|
141 for identifying retention time drifts. Some groups may be missing peaks from a large
|
|
142 fraction of samples and thus provide an incomplete picture of the drift at that time point.
|
|
143 Still others may contain multiple peaks from the same sample, which is a sign of impropper grouping.
|
|
144
|
|
145 .. class:: warningmark
|
|
146
|
|
147 **After an retcor step, it is mandatory to do a group step, otherwise the rest of the workflow will not work with the RData file. (the initial peak grouping becomes invalid and is
|
|
148 discarded)**
|
|
149
|
|
150
|
|
151
|
|
152 -----------------
|
|
153 Workflow position
|
|
154 -----------------
|
|
155
|
|
156
|
|
157 **Upstream tools**
|
|
158
|
|
159 ========================= ================= ======= ==========
|
|
160 Name output file format parameter
|
|
161 ========================= ================= ======= ==========
|
|
162 xcms.group xset.group.RData RData RData file
|
|
163 ========================= ================= ======= ==========
|
|
164
|
|
165
|
|
166 **Downstream tools**
|
|
167
|
|
168 +---------------------------+------------------+--------+
|
|
169 | Name | Output file | Format |
|
|
170 +===========================+==================+========+
|
|
171 |xcms.group | xset.retcor.RData| RData |
|
|
172 +---------------------------+------------------+--------+
|
|
173
|
|
174 The output file **xset.retcor.RData** is an RData file. You can continue your analysis using it in **xcms.group** tool as an next step.
|
|
175
|
|
176
|
|
177 **General schema of the metabolomic workflow**
|
|
178
|
|
179 .. image:: xcms_retcor_workflow.png
|
|
180
|
|
181
|
|
182 -----------
|
|
183 Input files
|
|
184 -----------
|
|
185
|
|
186 +---------------------------+----------------------+
|
|
187 | Parameter : num + label | Format |
|
|
188 +===========================+======================+
|
|
189 | 1 : RData file | rdata.xcms.group |
|
|
190 +---------------------------+----------------------+
|
|
191
|
|
192
|
|
193 ----------
|
|
194 Parameters
|
|
195 ----------
|
|
196
|
|
197 Method
|
|
198 ------
|
|
199
|
|
200 **peakgroups**
|
|
201
|
|
202 | xcms ignores those groups by only considering well-behaved peak groups which are missing at most one sample and have at most one extra peak. (Those values can be changed with the **missing** and **extra** arguments.)
|
|
203 | For each of those well-behaved groups, the algorithm calculates a median retention time and, for every sample, a deviation from that median. Within a sample, the observed deviation generally changes over time in a nonlinear fashion. Those changes are approximated using a local polynomial regression technique implemented in the **loess** function. By default, the curve fitting is done using least-squares on all data points.
|
|
204 | However, it is possible to enable outlier detection and removal by setting the **family** argument to **symmetric**.
|
|
205
|
|
206 **obiwarp**
|
|
207
|
|
208 | Calculate retention time deviations for each sample using the obiwarp code at "http://obi-warp.sourceforge.net/". This function is able to align multiple samples by a center-star strategy. Ordered Bijective Interpolated Warping (OBI-Warp) aligns matrices along a single axis using Dynamic Time Warping (DTW) and a one-to-one (bijective) interpolated warp function. OBI-Warp harnesses the non-linear, comprehensive alignment power of DTW and builds on the discrete, non-bijective output of DTW to give natural interpolants that can be used across multiple datasets.
|
|
209 | For the original publication see :**Chromatographic Alignment of ESI-LC-MS Proteomics Data Sets by Ordered Bijective Interpo-lated Warping John T. Prince and, Edward M. Marcotte Analytical Chemistry 2006 78 (17), 6140-6152.**
|
|
210
|
|
211
|
|
212 ------------
|
|
213 Output files
|
|
214 ------------
|
|
215
|
|
216 xset.group.retcor.TICs_corrected.pdf
|
|
217
|
|
218 | "Total Ion Chromatograms" graph in pdf format,corrected after a retcor step.
|
|
219
|
|
220 xset.group.retcor.BPCs_corrected.pdf
|
|
221
|
|
222 | "Total Io"Base Peak Chromatograms" graph in pdf format,corrected after a retcor step
|
|
223
|
|
224 xset.group.retcor.RData: rdata.xcms.retcor format
|
|
225
|
|
226 | Rdata file that will be necessary in the **xcms.group** step of the workflow.
|
|
227
|
|
228
|
|
229 ------
|
|
230
|
|
231 .. class:: infomark
|
|
232
|
|
233 The output file is an xset.retcor.RData file. You can continue your analysis using it in **xcms.fillPeaks** tool.
|
|
234
|
|
235
|
|
236 ---------------------------------------------------
|
|
237
|
|
238 ---------------
|
|
239 Working example
|
|
240 ---------------
|
|
241
|
|
242 Input files
|
|
243 -----------
|
|
244
|
|
245 | RData file -> **xset.group.RData**
|
|
246
|
|
247 Parameters
|
|
248 ----------
|
|
249
|
|
250 | Method: -> **peakgroups**
|
|
251 | smooth: -> **loess**
|
|
252 | extra: -> **1**
|
|
253 | missing -> **1**
|
|
254 | Advanced options: -> **show**
|
|
255 | span -> **0.2**
|
|
256 | family -> **gaussian**
|
|
257 | plottype -> **deviation**
|
|
258
|
|
259
|
|
260 Output files
|
|
261 ------------
|
|
262
|
|
263 | **1) xset.group.retcor.RData: RData file**
|
|
264
|
|
265 | **2) Example of an xset.group.retcor.TICs_corrected pdf file**
|
|
266
|
|
267 .. image:: xcms_retcor.png
|
|
268
|
|
269 </help>
|
|
270
|
|
271 <citations>
|
|
272 <citation type="doi">10.1021/ac051437y</citation>
|
|
273 <citation type="doi">10.1093/bioinformatics/btu813</citation>
|
|
274 </citations>
|
|
275
|
|
276 </tool>
|