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