3
|
1 <tool id="NmrAlignment" name="NMR spectra alignment" version="2.0.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
|
3
|
43 ## Outputs
|
|
44 logOut '$logOut'
|
|
45 alignedSpectra '$alignedSpectra'
|
|
46 graphOut '$graphOut'
|
|
47 </command>
|
|
48 <inputs>
|
1
|
49 <conditional name="inputs">
|
|
50 <param name="input" type="select" label="Choose your inputs method" >
|
|
51 <option value="zip_file" selected="true">Zip file from your history containing your Bruker directories</option>
|
2
|
52 <option value="tsv_file">Tsv file containing preprocessed spectra (from your history)</option>
|
1
|
53 </param>
|
|
54 <when value="zip_file">
|
|
55 <param name="zip_file" type="data" format="no_unzip.zip" label="Zip file" />
|
|
56 </when>
|
2
|
57 <when value="tsv_file">
|
|
58 <param name="tsv_file" type="data" format="tabular" label="Tsv file" />
|
|
59 </when>
|
1
|
60 </conditional>
|
|
61
|
3
|
62 <param name="left_border" label="Left Border" type="float" value="10.0" size="10" help="Default value is 10 ppm"/>
|
|
63 <param name="right_border" label="Right Border" type="float" value="0.5" size="10" help="Default value is 0.5 ppm"/>
|
|
64
|
|
65 <conditional name="zone_exclusion_choices">
|
|
66 <param name="choice" type="select" label="Exclusion zone(s)" help="Choose if you want to exclude particular zone(s)" >
|
|
67 <option value="yes" > yes </option>
|
|
68 <option value="no" selected="true"> no </option>
|
|
69 </param>
|
|
70 <when value="yes">
|
|
71 <repeat name="conditions" title="exclusion zones">
|
|
72 <param name="zone_exclusion_left" label="Left exclusion zone border" type="float" value="10.0" />
|
|
73 <param name="zone_exclusion_right" label="Right exclusion zone border" type="float" value="10.0" />
|
|
74 </repeat>
|
|
75 </when>
|
|
76 <when value="no" />
|
|
77 </conditional>
|
|
78 <param name="reference" type="integer" value="0" help="Number of the reference spectrum. Default value is 0: automatic determination of the reference spectrum" />
|
|
79 <param name="nDivRange" type="integer" value="64" help="Size of a single small segment after division of spectra. Default value is 64" />
|
|
80 <param name="baselineThresh" type="integer" value="1" help="Threshold to remove all peaks with intensity lower this value. Default value is 1" />
|
|
81 </inputs>
|
1
|
82
|
3
|
83 <outputs>
|
|
84 <data format="txt" name="logOut" label="${tool.name}_log" />
|
|
85 <data format="tabular" name="alignedSpectra" label="${tool.name}_alignedSpectra" />
|
|
86 <data format="pdf" name="graphOut" label="${tool.name}_graph" />
|
|
87 </outputs>
|
1
|
88
|
3
|
89 <tests>
|
|
90 <test>
|
|
91 <conditional name="inputs">
|
|
92 <param name="input" value="zip_file" />
|
|
93 <param name="zip_file" value="MTBLS1.zip" ftype="zip" />
|
|
94 </conditional>
|
|
95 <param name="left_border" value="9.3" />
|
|
96 <param name="right_border" value="0.2" />
|
|
97 <conditional name="zone_exclusion_choices">
|
|
98 <param name="choice" value="yes" />
|
|
99 <param name="conditions_0|zone_exclusion_left" value="6.0" />
|
|
100 <param name="conditions_0|zone_exclusion_right" value="4.24" />
|
|
101 <param name="conditions_1|zone_exclusion_left" value="4.0" />
|
|
102 <param name="conditions_1|zone_exclusion_right" value="3.2" />
|
|
103 </conditional>
|
|
104 <param name="reference" value="0" />
|
|
105 <param name="nDivRange" value="64" />
|
|
106 <param name="baselineThresh" value="0" />
|
|
107 <output name="alignedSpectra" value="MTBLS1_alignedSpectra.tabular" />
|
|
108 </test>
|
|
109 </tests>
|
1
|
110
|
3
|
111 <help>
|
1
|
112
|
|
113 .. class:: infomark
|
|
114
|
|
115 **Authors** Marie Tremblay-Franco (marie.tremblay-franco@toulouse.inra.fr)
|
|
116
|
|
117 .. class:: infomark
|
|
118
|
|
119 **Please cite**
|
|
120
|
|
121 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
|
|
122
|
|
123 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)
|
|
124
|
|
125 =============
|
|
126 NMR Alignment
|
|
127 =============
|
|
128
|
|
129 -----------
|
|
130 Description
|
|
131 -----------
|
|
132
|
|
133 Nuclear Magnetic Resonance Spectrum Alignment based on the Cluster-based Peak Alignment (CluPA) algorithm from the R 'speak' package
|
|
134
|
|
135 -----------------
|
|
136 Workflow position
|
|
137 -----------------
|
|
138
|
|
139 **Upstream tools**
|
|
140
|
|
141 ========================= ================= =======
|
|
142 Name output file format
|
|
143 ========================= ================= =======
|
|
144 NA NA NA
|
|
145 ========================= ================= =======
|
|
146
|
|
147
|
|
148 **Downstream tools**
|
|
149
|
|
150 +---------------------------+----------------------+--------+
|
|
151 | Name | Output file | Format |
|
|
152 +===========================+======================+========+
|
|
153 |NmrBucketing | dataMatrix.tsv | Tabular|
|
|
154 +---------------------------+----------------------+--------+
|
|
155 | | sampleMetadata.tsv | Tabular|
|
|
156 +---------------------------+----------------------+--------+
|
|
157 | | variableMetadata.tsv | Tabular|
|
|
158 +---------------------------+----------------------+--------+
|
|
159 |NmrNormalization | dataMatrix.tsv | Tabular|
|
|
160 +---------------------------+----------------------+--------+
|
|
161 | | sampleMetadata.tsv | Tabular|
|
|
162 +---------------------------+----------------------+--------+
|
|
163 | | variableMetadata.tsv | Tabular|
|
|
164 +---------------------------+----------------------+--------+
|
|
165 |Univariate | variableMetadata.tsv | Tabular|
|
|
166 +---------------------------+----------------------+--------+
|
|
167 |Multivariate | sampleMetadata.tsv | Tabular|
|
|
168 +---------------------------+----------------------+--------+
|
|
169 | | variableMetadata.tsv | Tabular|
|
|
170 +---------------------------+----------------------+--------+
|
|
171
|
|
172
|
|
173 -----------
|
|
174 Input files
|
|
175 -----------
|
|
176
|
|
177 +---------------------------+------------+
|
|
178 | Parameter : num + label | Format |
|
|
179 +===========================+============+
|
|
180 | 1 : Choose your inputs | zip |
|
|
181 +---------------------------+------------+
|
|
182
|
|
183 **Choose your inputs**
|
|
184
|
|
185 | Zip file (recommended): You can put a zip file containing your inputs: myinputs.zip (containing all your conditions as sub-directories).
|
|
186
|
|
187
|
|
188 ----------
|
|
189 Parameters
|
|
190 ----------
|
|
191
|
|
192 Bucket width
|
3
|
193 | size of windows
|
|
194 |
|
1
|
195
|
|
196 Left limit
|
3
|
197 | Upper boundary: values greater than this value are not used in the bucketing. Default value is 10.0 ppm
|
|
198 |
|
1
|
199
|
|
200 Right limit
|
3
|
201 | Lower boundary: values lower than this value are not used in the bucketing. Default value is 0.5 ppm
|
|
202 |
|
1
|
203
|
|
204 Exclusion zone(s)
|
3
|
205 | Spectral regions to exclude, water, solvents, ... resonance
|
|
206 | If YES: parameters **Lower exclusion zone** and **Upper exclusion zone** are visible,
|
|
207 | If NO: no zone to exclude
|
|
208 | Default value is NO
|
|
209 |
|
1
|
210
|
|
211 Left exclusion zone
|
3
|
212 | Upper boundary of exclusion zone
|
|
213 |
|
1
|
214
|
|
215 Right exclusion zone
|
3
|
216 | Lower boundary of exclusion zone
|
1
|
217
|
|
218 | *Notes:*
|
|
219 | - these parameters can be used several times using the "Add new exclusion zones" button
|
|
220 |
|
|
221
|
|
222 Reference spectrum
|
3
|
223 | spectrum to which other spectra are aligned
|
|
224 | Default value is 0: heuristic strategy to find the optimal template developped in the speaq package
|
|
225 |
|
1
|
226
|
|
227 Segment size
|
3
|
228 | Size of a single small segment after division of spectra
|
|
229 | Default value: 64 (minimal value adviced)
|
|
230 |
|
1
|
231
|
|
232 Intensity threshold
|
3
|
233 | All peaks with an intensity below this threshold are removed
|
|
234 | Default value: 1
|
|
235 |
|
1
|
236
|
|
237
|
|
238 ------------
|
|
239 Output files
|
|
240 ------------
|
|
241
|
|
242 alignedSpectra.tsv
|
3
|
243 | tabular output
|
|
244 | Data matrix with p rows (ppm) and n columns (samples) containing the aligned intensities
|
|
245 |
|
1
|
246
|
|
247 graphOut.pdf
|
3
|
248 | pdf output
|
|
249 | 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
|
250
|
|
251
|
|
252 ---------------------------------------------------
|
|
253
|
|
254 ---------------
|
|
255 Example
|
|
256 ---------------
|
|
257
|
|
258
|
|
259 .. image:: ./static/images/NmrAlignment.png
|
|
260 :width: 500
|
|
261
|
|
262 </help>
|
|
263 <citations>
|
|
264 <citation type="doi">10.1093/bioinformatics/btu813</citation>
|
|
265 </citations>
|
|
266 </tool>
|