-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathipo4retgroup.xml
232 lines (176 loc) · 11.3 KB
/
ipo4retgroup.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
<tool id="ipo4retgroup" name="IPO for group and retcor" version="@TOOL_VERSION@+galaxy0">
<description>IPO optimization process for xcms.groupChromPeaks and xcms.adjustRtime</description>
<macros>
<import>macros.xml</import>
</macros>
<expand macro="requirements"/>
<command detect_errors="exit_code"><![CDATA[
LANG=C Rscript '$__tool_directory__/ipo4retgroup.r'
image '$image'
parametersOutput '$parametersOutput'
samplebyclass $samplebyclass
@COMMAND_NSLAVES@
## group methods
sleep 0.001
#if $group.method == "density":
bw "c($group.section_group_density_optiomizable.bw)"
mzwid "c($group.section_group_density_optiomizable.mzwid)"
minfrac $group.section_group_density_non_optimizable.minfrac
max $group.section_group_density_non_optimizable.max
#end if
## retcor methods
#if $retcor.methods.method == "obiwarp":
retcorMethod obiwarp
profStep $retcor.methods.section_retcor_obiwarp_non_optimizable.profStep
#elif $retcor.methods.method == "peakgroups":
retcorMethod loess
smooth $retcor.methods.section_retcor_peakgroups_non_optimizable.smooth
extra $retcor.methods.section_retcor_peakgroups_non_optimizable.extra
missing $retcor.methods.section_retcor_peakgroups_non_optimizable.missing
span $retcor.methods.section_retcor_peakgroups_non_optimizable.span
family $retcor.methods.section_retcor_peakgroups_non_optimizable.family
plottype $retcor.methods.section_retcor_peakgroups_non_optimizable.plottype
#elif $retcor.methods.method == "none":
retcorMethod none
#end if
@COMMAND_FILE_LOAD@
]]></command>
<inputs>
<param name="image" type="data" format="rdata.xcms.raw,rdata.xcms.group,rdata.xcms.retcor,rdata" label="xset RData file" help="output file from another function xcms (xcmsSet, retcor etc.)" />
<param name="samplebyclass" type="integer" value="2" min="0" 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" />
<section name="group" title="groupChromPeaks Options" expanded="True">
<param argument="method" type="select" label="Method to use for grouping" help="See the help section below. Only the density method is available so far">
<option value="density" selected="true">density</option>
</param>
<section name="section_group_density_optiomizable" title="Optimizable parameters" expanded="True">
<param argument="bw" type="text" value="22,38" label="Range or a fixed value for Bandwidth" help="bandwidth (standard deviation or half width at half maximum) of gaussian smoothing kernel to apply to the peak density chromatogram (ex: 22,38)">
<expand macro="input_validator_range_integer"/>
</param>
<param argument="mzwid" type="text" value="0.015,0.035" label="Range or a fixed value for Width of overlapping m/z slices" help="to use for creating peak density chromatograms and grouping peaks across samples (ex: 0.015,0.035)" >
<expand macro="input_validator_range_float_neg"/>
</param>
</section>
<section name="section_group_density_non_optimizable" title="Non optimizable parameters" expanded="True">
<param argument="minfrac" type="float" value="0.5" label="Minimum fraction of samples necessary" help="in at least one of the sample groups for it to be a valid group" />
<param argument="max" type="integer" value="50" label="Maximum number of groups to identify in a single m/z slice" />
</section>
</section>
<section name="retcor" title="adjustRtime Options" expanded="True">
<conditional name="methods">
<param argument="method" type="select" label="Method to use for retention time correction" help="See the help section below" >
<option value="obiwarp">obiwarp</option>
<option value="peakgroups">peakgroups</option>
</param>
<when value="obiwarp">
<section name="section_retcor_obiwarp_non_optimizable" title="Non optimizable parameters" expanded="True">
<param argument="profStep" type="text" value="0.7,1.0" label="Range or a fixed value for Step size (in m/z)" help="to use for profile generation from the raw data files (ex: 1 or 0.7 1.0)" >
<expand macro="input_validator_range_float_neg"/>
</param>
</section>
</when>
<when value="peakgroups">
<section name="section_retcor_peakgroups_non_optimizable" title="Non optimizable parameters" expanded="True">
<param argument="smooth" type="select" label="Smooth method" help="only the 'loess’ for non-linear alignment is available so far" >
<option value="loess">loess</option>
</param>
<param argument="extra" type="integer" value="1" min="0" label="Number of extra peaks to allow in retention time correction correction groups" />
<param argument="missing" type="integer" value="1" min="0" label="Number of missing samples to allow in retention time correction groups" />
<param argument="span" type="float" value="0.2" min="0" label="Degree of smoothing for local polynomial regression fitting" />
<param argument="family" type="select" label="Family" help="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">
<option value="gaussian" selected="true">gaussian</option>
<option value="symmetric">symmetric</option>
</param>
<param argument="plottype" type="select" help="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">
<option value="none" selected="true">none</option>
<option value="deviation">deviation</option>
<option value="mdevden">mdevden</option>
</param>
</section>
</when>
</conditional>
</section>
<expand macro="input_file_load"/>
</inputs>
<outputs>
<data name="parametersOutput" format="tabular" label="IPO_parameters4xcmsSet.tsv" from_work_dir="IPO_parameters4xcmsSet.tsv"/>
</outputs>
<tests>
<test>
<param name="image" value="faahKO.xset_single.RData"/>
<param name="samplebyclass" value="0"/>
<section name="group">
<param name="method" value="density"/>
<section name="section_group_density_optiomizable">
<param name="bw" value="5,6"/>
<param name="mzwid" value="0.01,0.02"/>
</section>
<section name="section_group_density_non_optimizable">
<param name="minfrac" value="1"/>
</section>
</section>
<section name="retcor">
<conditional name="methods">
<param name="method" value="peakgroups"/>
<section name="section_retcor_peakgroups_non_optimizable">
<param name="smooth" value="loess"/>
<param name="rextra" value="1"/>
<param name="missing" value="1"/>
</section>
</conditional>
</section>
<expand macro="test_file_load_single"/>
<output name="parametersOutput" file="faahKO_IPO_parameters4retgroup_bw.tsv" />
</test>
</tests>
<help><![CDATA[
@HELP_AUTHORS@
===============
IPO.ipo4xcmsSet
===============
-----------
Description
-----------
A Tool for automated Optimization of XCMS Parameters
-----------------
Workflow position
-----------------
**Upstream tools**
==================================== ======================== ==============================
Name Output file Format
==================================== ======================== ==============================
xcms.findChromPeaks Merger (single) xset.merged.RData rdata.xcms.findchrompeaks
------------------------------------ ------------------------ ------------------------------
xcms.adjustRtime ``*``.adjustRtime.RData rdata.xcms.retcor
==================================== ======================== ==============================
**Downstream tools**
+---------------------------+----------------------+-----------------+
| Name | Output file | Format |
+===========================+======================+=================+
|xcms.groupChromPeaks | parametersOutput.tsv | Tabular |
+---------------------------+--------------------+-------------------+
----------
Parameters
----------
Method to use for groupChromPeaks
---------------------------------
**PeakDensity**
| This method performs performs correspondence (chromatographic peak grouping) based on the density (distribution) of identified peaks along the retention time axis within slices of overlapping mz ranges. All peaks (from the same or from different samples) being close on the retention time axis are grouped into a feature (peak group).
| See the PeakDensity_manual_
.. _PeakDensity_manual: https://rdrr.io/bioc/xcms/man/groupChromPeaks-density.html#heading-2
Method to use for adjustRtime
-------------------------------------------
**PeakGroups**
| This method performs retention time adjustment based on the alignment of chromatographic peak groups present in all/most samples (hence corresponding to house keeping compounds). First the retention time deviation of these peak groups is described by fitting either a polynomial (‘smooth = "loess"’) or a linear ( ‘smooth = "linear"’) model to the data points. These models are subsequently used to adjust the retention time of each spectrum in each sample.
| See the PeakGroups_manual_
**Obiwarp**
| This method performs retention time adjustment using the Obiwarp method [Prince 2006]. It is based on the code at http://obi-warp.sourceforge.net but supports alignment of multiple samples by aligning each against a _center_ sample. The alignment is performed directly on the ‘profile-matrix’ and can hence be performed independently of the peak detection or peak grouping.
| See the Obiwarp_manual_
.. _PeakGroups_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-peakGroups.html#heading-2
.. _Obiwarp_manual: https://rdrr.io/bioc/xcms/man/adjustRtime-obiwarp.html
---------------------------------------------------
Changelog/News
--------------
@HELP_NEWVERSION_1_10_0_0@
]]></help>
<expand macro="citation" />
</tool>