4
|
1 <tool id="NmrAlignment" name="NMR spectra alignment" version="2.0.4">
|
3
|
2 <description>based on the Cluster-based Peak Alignment (CluPA) algorithm</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="1.1_4">r-batch</requirement>
|
|
5 <requirement type="package" version="1.2.1">r-speaq</requirement>
|
|
6 </requirements>
|
1
|
7 <stdio>
|
|
8 <exit_code range="1:" level="fatal" />
|
|
9 </stdio>
|
3
|
10 <command>
|
|
11 ## Wrapper
|
1
|
12 Rscript '$__tool_directory__/NmrAlignment_wrapper.R'
|
|
13
|
3
|
14 ## File input
|
|
15 #if $inputs.input == "tsv_file":
|
2
|
16 tsvfile $inputs.tsv_file
|
1
|
17 #elif $inputs.input == "zip_file":
|
|
18 zipfile '$inputs.zip_file'
|
|
19 #end if
|
|
20
|
3
|
21 ## Spectra borders
|
|
22 left_border $left_border
|
|
23 right_border $right_border
|
1
|
24
|
3
|
25 ## Exclusion zone
|
|
26 zone_exclusion_choices.choice ${zone_exclusion_choices.choice}
|
|
27 #if str($zone_exclusion_choices.choice) == 'yes':
|
|
28 #for $i in $zone_exclusion_choices.conditions:
|
|
29 zone_exclusion_left ${i.zone_exclusion_left}
|
|
30 zone_exclusion_right ${i.zone_exclusion_right}
|
|
31 #end for
|
|
32 #end if
|
1
|
33
|
3
|
34 ## Reference spectrum
|
|
35 reference $reference
|
1
|
36
|
3
|
37 ## Segment size
|
|
38 nDivRange $nDivRange
|
1
|
39
|
3
|
40 ## Intensity threshold
|
|
41 baselineThresh $baselineThresh
|
1
|
42
|
4
|
43 ## Graphical zone
|
|
44 zone_graphical_choices.choice ${zone_graphical_choices.choice}
|
|
45 #if str($zone_graphical_choices.choice) == 'yes':
|
|
46 #for $i in $zone_graphical_choices.conditions:
|
|
47 zone_graphical_left ${i.zone_graphical_left}
|
|
48 zone_graphical_right ${i.zone_graphical_right}
|
|
49 #end for
|
|
50 #end if
|
|
51
|
3
|
52 ## Outputs
|
|
53 logOut '$logOut'
|
|
54 alignedSpectra '$alignedSpectra'
|
|
55 graphOut '$graphOut'
|
|
56 </command>
|
|
57 <inputs>
|
1
|
58 <conditional name="inputs">
|
|
59 <param name="input" type="select" label="Choose your inputs method" >
|
|
60 <option value="zip_file" selected="true">Zip file from your history containing your Bruker directories</option>
|
2
|
61 <option value="tsv_file">Tsv file containing preprocessed spectra (from your history)</option>
|
1
|
62 </param>
|
|
63 <when value="zip_file">
|
|
64 <param name="zip_file" type="data" format="no_unzip.zip" label="Zip file" />
|
|
65 </when>
|
2
|
66 <when value="tsv_file">
|
|
67 <param name="tsv_file" type="data" format="tabular" label="Tsv file" />
|
|
68 </when>
|
1
|
69 </conditional>
|
|
70
|
3
|
71 <param name="left_border" label="Left Border" type="float" value="10.0" size="10" help="Default value is 10 ppm"/>
|
|
72 <param name="right_border" label="Right Border" type="float" value="0.5" size="10" help="Default value is 0.5 ppm"/>
|
|
73
|
|
74 <conditional name="zone_exclusion_choices">
|
|
75 <param name="choice" type="select" label="Exclusion zone(s)" help="Choose if you want to exclude particular zone(s)" >
|
|
76 <option value="yes" > yes </option>
|
|
77 <option value="no" selected="true"> no </option>
|
|
78 </param>
|
|
79 <when value="yes">
|
|
80 <repeat name="conditions" title="exclusion zones">
|
|
81 <param name="zone_exclusion_left" label="Left exclusion zone border" type="float" value="10.0" />
|
|
82 <param name="zone_exclusion_right" label="Right exclusion zone border" type="float" value="10.0" />
|
|
83 </repeat>
|
|
84 </when>
|
|
85 <when value="no" />
|
|
86 </conditional>
|
4
|
87
|
3
|
88 <param name="reference" type="integer" value="0" help="Number of the reference spectrum. Default value is 0: automatic determination of the reference spectrum" />
|
|
89 <param name="nDivRange" type="integer" value="64" help="Size of a single small segment after division of spectra. Default value is 64" />
|
|
90 <param name="baselineThresh" type="integer" value="1" help="Threshold to remove all peaks with intensity lower this value. Default value is 1" />
|
4
|
91
|
|
92 <conditional name="zone_graphical_choices">
|
|
93 <param name="choice" type="select" label="Graphical zone(s)" help="Choose if you want to display particular zone(s)" >
|
|
94 <option value="yes" > yes </option>
|
|
95 <option value="no" selected="true"> no </option>
|
|
96 </param>
|
|
97 <when value="yes">
|
|
98 <repeat name="conditions" title="grapical zones">
|
|
99 <param name="zone_graphical_left" label="Left graphical zone border" type="float" value="10.0" />
|
|
100 <param name="zone_graphical_right" label="Right graphical zone border" type="float" value="10.0" />
|
|
101 </repeat>
|
|
102 </when>
|
|
103 <when value="no" />
|
|
104 </conditional>
|
3
|
105 </inputs>
|
1
|
106
|
3
|
107 <outputs>
|
|
108 <data format="txt" name="logOut" label="${tool.name}_log" />
|
|
109 <data format="tabular" name="alignedSpectra" label="${tool.name}_alignedSpectra" />
|
|
110 <data format="pdf" name="graphOut" label="${tool.name}_graph" />
|
|
111 </outputs>
|
1
|
112
|
3
|
113 <tests>
|
|
114 <test>
|
|
115 <conditional name="inputs">
|
|
116 <param name="input" value="zip_file" />
|
|
117 <param name="zip_file" value="MTBLS1.zip" ftype="zip" />
|
|
118 </conditional>
|
|
119 <param name="left_border" value="9.3" />
|
|
120 <param name="right_border" value="0.2" />
|
|
121 <conditional name="zone_exclusion_choices">
|
|
122 <param name="choice" value="yes" />
|
|
123 <param name="conditions_0|zone_exclusion_left" value="6.0" />
|
|
124 <param name="conditions_0|zone_exclusion_right" value="4.24" />
|
|
125 <param name="conditions_1|zone_exclusion_left" value="4.0" />
|
|
126 <param name="conditions_1|zone_exclusion_right" value="3.2" />
|
|
127 </conditional>
|
|
128 <param name="reference" value="0" />
|
|
129 <param name="nDivRange" value="64" />
|
|
130 <param name="baselineThresh" value="0" />
|
4
|
131 <conditional name="zone_graphical_choices">
|
|
132 <param name="choice" value="yes" />
|
|
133 <param name="conditions_0|zone_graphical_left" value="4.2" />
|
|
134 <param name="conditions_0|zone_graphical_right" value="4.0" />
|
|
135 <param name="conditions_1|zone_graphical_left" value="2.8" />
|
|
136 <param name="conditions_1|zone_graphical_right" value="2.4" />
|
|
137 </conditional>
|
3
|
138 <output name="alignedSpectra" value="MTBLS1_alignedSpectra.tabular" />
|
|
139 </test>
|
|
140 </tests>
|
1
|
141
|
3
|
142 <help>
|
1
|
143
|
|
144 .. class:: infomark
|
|
145
|
|
146 **Authors** Marie Tremblay-Franco (marie.tremblay-franco@toulouse.inra.fr)
|
|
147
|
|
148 .. class:: infomark
|
|
149
|
|
150 **Please cite**
|
|
151
|
|
152 T.N. Vu, D. Valkenborg, K. Smets, K.A. Verwaest, R. Dommisse, F. Lemière, A. Verschoren, B. Goethals and K. Laukens. An integrated workflow for robust alignment and simplified quantitative analysis of NMR spectrometry data. BMC Bioinformatics 2011, 12:405. DOI: 10.1186/1471-2105-12-405
|
|
153
|
|
154 T.N. Vu, K. Laukens and D. Valkenborg. A practical experiment of using speaq package. 2015 (https://cran.r-project.org/web/packages/speaq/vignettes/speaq.pdf)
|
|
155
|
|
156 =============
|
|
157 NMR Alignment
|
|
158 =============
|
|
159
|
|
160 -----------
|
|
161 Description
|
|
162 -----------
|
|
163
|
|
164 Nuclear Magnetic Resonance Spectrum Alignment based on the Cluster-based Peak Alignment (CluPA) algorithm from the R 'speak' package
|
|
165
|
|
166 -----------------
|
|
167 Workflow position
|
|
168 -----------------
|
|
169
|
|
170 **Upstream tools**
|
|
171
|
|
172 ========================= ================= =======
|
|
173 Name output file format
|
|
174 ========================= ================= =======
|
|
175 NA NA NA
|
|
176 ========================= ================= =======
|
|
177
|
|
178
|
|
179 **Downstream tools**
|
|
180
|
|
181 +---------------------------+----------------------+--------+
|
|
182 | Name | Output file | Format |
|
|
183 +===========================+======================+========+
|
|
184 |NmrBucketing | dataMatrix.tsv | Tabular|
|
|
185 +---------------------------+----------------------+--------+
|
|
186 | | sampleMetadata.tsv | Tabular|
|
|
187 +---------------------------+----------------------+--------+
|
|
188 | | variableMetadata.tsv | Tabular|
|
|
189 +---------------------------+----------------------+--------+
|
|
190 |NmrNormalization | dataMatrix.tsv | Tabular|
|
|
191 +---------------------------+----------------------+--------+
|
|
192 | | sampleMetadata.tsv | Tabular|
|
|
193 +---------------------------+----------------------+--------+
|
|
194 | | variableMetadata.tsv | Tabular|
|
|
195 +---------------------------+----------------------+--------+
|
|
196 |Univariate | variableMetadata.tsv | Tabular|
|
|
197 +---------------------------+----------------------+--------+
|
|
198 |Multivariate | sampleMetadata.tsv | Tabular|
|
|
199 +---------------------------+----------------------+--------+
|
|
200 | | variableMetadata.tsv | Tabular|
|
|
201 +---------------------------+----------------------+--------+
|
|
202
|
|
203
|
|
204 -----------
|
|
205 Input files
|
|
206 -----------
|
|
207
|
|
208 +---------------------------+------------+
|
|
209 | Parameter : num + label | Format |
|
|
210 +===========================+============+
|
|
211 | 1 : Choose your inputs | zip |
|
|
212 +---------------------------+------------+
|
|
213
|
|
214 **Choose your inputs**
|
|
215
|
|
216 | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories).
|
|
217
|
|
218
|
|
219 ----------
|
|
220 Parameters
|
|
221 ----------
|
|
222
|
|
223 Bucket width
|
3
|
224 | size of windows
|
|
225 |
|
1
|
226
|
|
227 Left limit
|
3
|
228 | Upper boundary: values greater than this value are not used in the bucketing. Default value is 10.0 ppm
|
|
229 |
|
1
|
230
|
|
231 Right limit
|
3
|
232 | Lower boundary: values lower than this value are not used in the bucketing. Default value is 0.5 ppm
|
|
233 |
|
1
|
234
|
|
235 Exclusion zone(s)
|
3
|
236 | Spectral regions to exclude, water, solvents, ... resonance
|
|
237 | If YES: parameters **Lower exclusion zone** and **Upper exclusion zone** are visible,
|
|
238 | If NO: no zone to exclude
|
|
239 | Default value is NO
|
|
240 |
|
1
|
241
|
|
242 Left exclusion zone
|
3
|
243 | Upper boundary of exclusion zone
|
|
244 |
|
1
|
245
|
|
246 Right exclusion zone
|
3
|
247 | Lower boundary of exclusion zone
|
1
|
248
|
|
249 | *Notes:*
|
|
250 | - these parameters can be used several times using the "Add new exclusion zones" button
|
|
251 |
|
|
252
|
|
253 Reference spectrum
|
3
|
254 | spectrum to which other spectra are aligned
|
|
255 | Default value is 0: heuristic strategy to find the optimal template developped in the speaq package
|
|
256 |
|
1
|
257
|
|
258 Segment size
|
3
|
259 | Size of a single small segment after division of spectra
|
|
260 | Default value: 64 (minimal value adviced)
|
|
261 |
|
1
|
262
|
|
263 Intensity threshold
|
3
|
264 | All peaks with an intensity below this threshold are removed
|
|
265 | Default value: 1
|
|
266 |
|
1
|
267
|
4
|
268 Graphical zone(s)
|
|
269 | Spectral regions to display
|
|
270 | If YES: parameters **Lower graphical zone** and **Upper graphical zone** are visible,
|
|
271 | If NO: no zone to display
|
|
272 | Default value is NO
|
|
273 |
|
|
274
|
1
|
275
|
|
276 ------------
|
|
277 Output files
|
|
278 ------------
|
|
279
|
|
280 alignedSpectra.tsv
|
3
|
281 | tabular output
|
|
282 | Data matrix with p rows (ppm) and n columns (samples) containing the aligned intensities
|
|
283 |
|
1
|
284
|
|
285 graphOut.pdf
|
3
|
286 | pdf output
|
|
287 | Graphical chart of raw and aligned data: whole spectral width, "zoomed" zones depending on the exclusion zones, spectral zone between 2.8 and 2.4ppm corresponding to the citric acid
|
1
|
288
|
|
289
|
|
290 ---------------------------------------------------
|
|
291
|
|
292 ---------------
|
|
293 Example
|
|
294 ---------------
|
|
295
|
|
296
|
|
297 .. image:: ./static/images/NmrAlignment.png
|
|
298 :width: 500
|
|
299
|
|
300 </help>
|
|
301 <citations>
|
|
302 <citation type="doi">10.1093/bioinformatics/btu813</citation>
|
|
303 </citations>
|
|
304 </tool>
|