20
|
1 <tool id="xseeker_preparator" name="XSeeker Preparator" version="@VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
|
19
|
2 <description>prepares RData file from XCMS+CAMERA for XSeeker</description>
|
20
|
3 <macros>
|
|
4 <token name="@VERSION@">1.3.1</token>
|
|
5 <token name="@VERSION_SUFFIX@">0</token>
|
|
6 </macros>
|
2
|
7 <edam_operations>
|
|
8 <edam_operation>operation_1812</edam_operation>
|
|
9 <edam_operation>operation_0335</edam_operation>
|
|
10 </edam_operations>
|
|
11 <requirements>
|
20
|
12 <requirement type="package" version="4.1.3">r-base</requirement>
|
|
13 <requirement type="package" version="3.14.0">bioconductor-xcms</requirement>
|
15
|
14 <requirement type="package" version="1.48.0">bioconductor-camera</requirement>
|
14
|
15 <requirement type="package" version="2.29.2">git</requirement>
|
20
|
16 <requirement type="package" version="1.2.3">r-blob</requirement>
|
|
17 <requirement type="package" version="1.1.3">r-dbi</requirement>
|
|
18 <requirement type="package" version="0.9.8">r-fst</requirement>
|
4
|
19 <requirement type="package" version="1.6.6">r-optparse</requirement>
|
|
20 <requirement type="package" version="1.4.0">r-stringr</requirement>
|
20
|
21 <requirement type="package" version="0.3.5">r-purrr</requirement>
|
|
22 <requirement type="package" version="2.2.18">r-rsqlite</requirement>
|
14
|
23 <requirement type="package" version="0.2.0">r-dbmodelr</requirement>
|
2
|
24 </requirements>
|
|
25 <stdio>
|
|
26 <exit_code
|
|
27 range="1"
|
|
28 level="warning"
|
|
29 description="Selected samples have no data associated to them."
|
|
30 />
|
|
31 <exit_code
|
|
32 range="2"
|
|
33 level="warning"
|
|
34 description="Some samples have no data associated to them."
|
|
35 />
|
|
36 </stdio>
|
|
37 <version_command>
|
4
|
38 Rscript '$__tool_directory__/XSeekerPreparator.R' -v
|
2
|
39 </version_command>
|
|
40 <command>
|
|
41 <![CDATA[
|
4
|
42 Rscript '$__tool_directory__/XSeekerPreparator.R'
|
2
|
43 -P
|
|
44 --input '$input'
|
|
45 --output '$output'
|
|
46 #if $samples.selected
|
4
|
47 --samples '${",".join($samples.selected)}'
|
2
|
48 #end if
|
|
49 #if $database.archetypes
|
|
50 --archetype '${",".join($database.archetypes)}'
|
|
51 #end if
|
|
52 #if $database.base.kind == "tabular"
|
|
53 --compounds-csv '${database.base.tabular}'
|
|
54 #else if $database.base.kind == "sql"
|
|
55 --database '${database.base.sql}'
|
|
56 #end if
|
|
57 #if $database.models.kind == "default"
|
|
58 --models '${base_config}'
|
|
59 #else
|
|
60 --models '${database.models.url}'
|
|
61 #end if
|
20
|
62 #if $class
|
|
63 --class '${class}'
|
19
|
64 #end if
|
2
|
65 ]]>
|
|
66 </command>
|
|
67 <configfiles>
|
|
68 <configfile name="base_config">
|
20
|
69 <![CDATA[
|
2
|
70 tryCatch({
|
|
71 DBModelR::ModelDefinition(table="yui", fields=list(yui="INTEGER"))
|
|
72 }, error=function(e) {
|
|
73 stop("Please, install DBModelR before you source this file.")
|
|
74 })
|
|
75 list(
|
19
|
76 adduct = DBModelR::ModelDefinition(
|
|
77 table = "adduct",
|
|
78 fields = list(
|
|
79 name = "TEXT",
|
|
80 mass = "FLOAT",
|
|
81 charge = "INTEGER",
|
|
82 multi = "INTEGER",
|
|
83 formula_add = "TEXT",
|
|
84 formula_ded = "TEXT",
|
|
85 sign = "TEXT",
|
|
86 oidscore = "INTEGER",
|
|
87 quasi = "INTEGER",
|
|
88 ips = "FLOAT"
|
2
|
89 )
|
|
90 ),
|
19
|
91 cluster = DBModelR::ModelDefinition(
|
|
92 table = "cluster",
|
|
93 fields = list(
|
|
94 clusterID = "INTEGER",
|
|
95 formula = "TEXT",
|
|
96 annotation = "TEXT",
|
|
97 coeff = "FLOAT",
|
|
98 r_squared = "FLOAT",
|
|
99 charge = "INTEGER",
|
|
100 mean_rt = "FLOAT",
|
|
101 score = "FLOAT",
|
|
102 deviation = "FLOAT",
|
|
103 status = "TEXT",
|
|
104 # adduct = "TEXT",
|
|
105 curent_group = "INTEGER",
|
|
106 pc_group = "INTEGER",
|
|
107 align_group = "INTEGER",
|
|
108 xcms_group = "INTEGER"
|
2
|
109 ),
|
19
|
110 one = list("compound", "adduct"),
|
|
111 many = list("sample")
|
2
|
112 ),
|
19
|
113 compound = DBModelR::ModelDefinition(
|
|
114 table = "compound",
|
|
115 fields = list(
|
|
116 name = "TEXT",
|
|
117 common_name = "TEXT",
|
|
118 formula = "TEXT",
|
|
119 charge = "INTEGER",
|
|
120 date = "TEXT",
|
|
121 mz = "FLOAT"
|
2
|
122 )
|
|
123 ),
|
19
|
124 feature = DBModelR::ModelDefinition(
|
|
125 table = "feature",
|
|
126 fields = list(
|
|
127 featureID = "INTEGER",
|
|
128 mz = "FLOAT",
|
|
129 mz_min = "FLOAT",
|
|
130 mz_max = "FLOAT",
|
|
131 rt = "FLOAT",
|
|
132 rt_min = "FLOAT",
|
|
133 rt_max = "FLOAT",
|
|
134 int_o = "FLOAT",
|
|
135 int_b = "FLOAT",
|
|
136 max_o = "FLOAT",
|
|
137 iso = "TEXT",
|
|
138 abundance = "FLOAT"
|
2
|
139 ),
|
19
|
140 one = list("cluster"),
|
|
141 many = list("sample")
|
2
|
142 ),
|
19
|
143 instrument = DBModelR::ModelDefinition(
|
|
144 table = "instrument",
|
|
145 fields = list(
|
|
146 model = "TEXT",
|
|
147 manufacturer = "TEXT",
|
|
148 analyzer = "TEXT",
|
|
149 detector_type = "TEXT",
|
|
150 ion_source = "TEXT"
|
2
|
151 )
|
|
152 ),
|
19
|
153 instrument_config = DBModelR::ModelDefinition(
|
|
154 table = "instrument_config",
|
|
155 fields = list(
|
|
156 resolution = "TEXT",
|
|
157 agc_target = "TEXT",
|
|
158 maximum_IT = "TEXT",
|
|
159 number_of_scan_range = "TEXT",
|
|
160 scan_range = "TEXT",
|
|
161 version = "TEXT"
|
2
|
162 )
|
|
163 ),
|
19
|
164 project = DBModelR::ModelDefinition(
|
|
165 table = "project",
|
|
166 fields = list(
|
|
167 name = "TEXT",
|
|
168 comment = "TEXT"
|
2
|
169 ),
|
19
|
170 one = list("sample")
|
2
|
171 ),
|
19
|
172 sample = DBModelR::ModelDefinition(
|
|
173 table = "sample",
|
|
174 fields = list(
|
|
175 name = "TEXT",
|
|
176 path = "TEXT",
|
|
177 polarity = "TEXT",
|
|
178 kind = "TEXT", ## rdata or mxml or enriched_rdata
|
|
179 raw = "BLOB"
|
2
|
180 ),
|
19
|
181 one = list(
|
2
|
182 "peak_picking_parameters",
|
|
183 "pairing_parameters",
|
|
184 "alignmenmt_parameters",
|
|
185 "camera_parameters",
|
|
186 "instrument",
|
|
187 "instrument_config",
|
|
188 "software",
|
|
189 "smol_xcms_set"
|
|
190 )
|
|
191 ),
|
19
|
192 smol_xcms_set = DBModelR::ModelDefinition(
|
|
193 table = "smol_xcms_set",
|
|
194 fields = list(
|
|
195 raw = "BLOB"
|
2
|
196 )
|
|
197 ),
|
19
|
198 software = DBModelR::ModelDefinition(
|
|
199 table = "software",
|
|
200 fields = list(
|
|
201 name = "TEXT",
|
|
202 version = "TEXT"
|
2
|
203 )
|
|
204 ),
|
19
|
205 peak_picking_parameters = DBModelR::ModelDefinition(
|
|
206 table = "peak_picking_parameters",
|
|
207 fields = list(
|
|
208 ppm = "FLOAT",
|
|
209 peakwidth = "TEXT",
|
|
210 snthresh = "TEXT",
|
|
211 prefilterStep = "TEXT",
|
|
212 prefilterLevel = "TEXT",
|
|
213 mzdiff = "TEXT",
|
|
214 fitgauss = "TEXT",
|
|
215 noise = "TEXT",
|
|
216 mzCenterFun = "TEXT",
|
|
217 integrate = "INTEGER",
|
|
218 firstBaselineCheck = "TEXT",
|
|
219 snthreshIsoROIs = "TEXT",
|
|
220 maxCharge = "INTEGER",
|
|
221 maxIso = "INTEGER",
|
|
222 mzIntervalExtension = "TEXT"
|
2
|
223 )
|
|
224 ),
|
19
|
225 alignmenmt_parameters = DBModelR::ModelDefinition(
|
|
226 table = "alignmenmt_parameters",
|
|
227 fields = list(
|
|
228 binSize = "TEXT",
|
|
229 centerSample = "TEXT",
|
|
230 response = "TEXT",
|
|
231 distFun = "TEXT",
|
|
232 gapInit = "TEXT",
|
|
233 gapExtend = "TEXT",
|
|
234 factorDiag = "TEXT",
|
|
235 factorGap = "TEXT",
|
|
236 localAlignment = "INTEGER",
|
|
237 initPenalty = "TEXT",
|
|
238 bw = "TEXT",
|
|
239 minFraction = "TEXT",
|
|
240 minSamples = "TEXT",
|
|
241 maxFeatures = "TEXT"
|
2
|
242 )
|
|
243 )
|
|
244 )
|
20
|
245 ]]>
|
2
|
246 </configfile>
|
|
247 </configfiles>
|
20
|
248 <inputs>
|
|
249 <param
|
|
250 argument="input"
|
|
251 type="data"
|
|
252 multiple="false"
|
|
253 optional="false"
|
|
254 format="rdata"
|
|
255 label="Rdata to prepare"
|
|
256 help="
|
|
257 This rdata must be produced by a xcms+camera processing
|
|
258 and original files must still be in the history.
|
|
259 "
|
|
260 >
|
|
261 </param>
|
|
262 <param
|
|
263 argument="class"
|
|
264 type="text"
|
|
265 value=""
|
|
266 label="Column class name"
|
|
267 help="
|
|
268 The name of the column containing the classes -
|
|
269 leave empty to let XSeeker Preparator guess
|
|
270 "
|
|
271 optional="true"
|
|
272 >
|
|
273 </param>
|
|
274 <section name="samples" title="Samples Options" expanded="false">
|
|
275 <param
|
|
276 name="selected"
|
|
277 type="data"
|
|
278 multiple="true"
|
|
279 label="Samples to visualize"
|
|
280 optional="true"
|
|
281 format="mzml"
|
|
282 >
|
|
283 </param>
|
|
284 </section>
|
|
285 <section name="database" title="Database Options" expanded="false">
|
|
286 <param
|
|
287 name="archetypes"
|
|
288 type="select"
|
|
289 multiple="true"
|
|
290 label="Molecule family (for database's compounds enrichment)"
|
|
291 >
|
|
292 <option value="G" selected="true">General</option>
|
|
293 <option value="H">Halogenates</option>
|
|
294 </param>
|
|
295 <conditional name="base">
|
|
296 <param name="kind" type="select" label="File containing compound's type">
|
|
297 <option value="none" selected="true">None (default)</option>
|
|
298 <option value="tabular">tabular</option>
|
|
299 <option value="sql">sql</option>
|
|
300 </param>
|
|
301 <when value="none" />
|
|
302 <when value="sql" />
|
|
303 <when value="tabular">
|
|
304 <param
|
|
305 name="tabular"
|
|
306 type="data"
|
|
307 multiple="true"
|
|
308 label="Tabular file containing compound to use in XSeeker"
|
|
309 optional="true"
|
|
310 format="tabular"
|
|
311 >
|
|
312 </param>
|
|
313 </when>
|
|
314 <when value="sql">
|
|
315 <param
|
|
316 name="sql"
|
|
317 type="data"
|
|
318 multiple="true"
|
|
319 label="SQL file containing compound to use in XSeeker"
|
|
320 optional="true"
|
|
321 format="sql"
|
|
322 >
|
|
323 </param>
|
|
324 </when>
|
|
325 </conditional>
|
|
326 <conditional name="models">
|
|
327 <param name="kind" type="select" label="How is the database's model defined">
|
|
328 <option value="default" selected="true">Default (regular XSeeker Database)</option>
|
|
329 <option value="url">Download model file</option>
|
|
330 <option value="git">Get versionned model file</option>
|
|
331 </param>
|
|
332 <when value="default" />
|
|
333 <when value="url">
|
|
334 <param name="url" type="text" format="url" label="File URL"/>
|
|
335 </when>
|
|
336 <when value="git">
|
|
337 <param name="url" type="text" format="url" label="Repo URL"/>
|
|
338 </when>
|
|
339 </conditional>
|
|
340 </section>
|
|
341 </inputs>
|
|
342 <outputs>
|
|
343 <data format="sqlite" name="output" />
|
|
344 <!-- <data format="xseeker.sqlite" name="output" /> -->
|
|
345 </outputs>
|
|
346 <help>
|
|
347
|
|
348 .. class:: infomark
|
|
349
|
|
350 **Authors** Lain Pavot (lain.pavot@inrae.fr)
|
|
351
|
|
352 --------------------------------------
|
|
353
|
|
354 ==================
|
|
355 XSeeker Preparator
|
|
356 ==================
|
|
357
|
|
358 -----------
|
|
359 Description
|
|
360 -----------
|
|
361
|
|
362 A preparation tool to precalculate and reorginize data from XCMS+CAMERA for
|
|
363 XSeeker displayer tool to display them faster (from 30 min/some hours to some seconds).
|
|
364
|
|
365
|
|
366 -----------------
|
|
367 Workflow position
|
|
368 -----------------
|
|
369
|
|
370 **Upstream tools**
|
|
371
|
|
372 ================ ======================== =========== ===============
|
|
373 Name output file format parameter
|
|
374 ================ ======================== =========== ===============
|
|
375 CAMERA rdata.camera.quick rdata
|
|
376 ================ ======================== =========== ===============
|
|
377
|
|
378
|
|
379 **Downstream tools**
|
|
380
|
|
381 ================ ======================== =========== ===============
|
|
382 Name output file format parameter
|
|
383 ================ ======================== =========== ===============
|
|
384 XSeeker sqlite sqlite3 NA
|
|
385 ================ ======================== =========== ===============
|
|
386
|
|
387
|
|
388
|
|
389 -----------
|
|
390 Input files
|
|
391 -----------
|
|
392
|
|
393 Takes a rdata outputed by camera (after xcms) as input. The rdata has must have
|
|
394 been produced using some mzml files - mxml files which must still be present
|
|
395 in the history when doing xseekerpreparator:
|
|
396 The rdata contains only some data and the paths to the original mzml files.
|
|
397 These mzml files contains a lot of usefull informations needed to prepare
|
|
398 the data for XSeeker. These files are not given as input, but are still
|
|
399 needed.
|
|
400
|
|
401 ----------
|
|
402 Parameters
|
|
403 ----------
|
|
404 Column class name:
|
|
405 - the name of the column that defines classes in your sample metadata.
|
|
406 Sample options:
|
|
407 - provide mzml file names to process. Other files defined in the rdata will
|
|
408 not be processed, and will not be available in xseeker.
|
|
409 Database Options:
|
|
410 - provide the molecular family you want to annotate, a compound file.
|
|
411 - The database's model can be re-defined - only for devs users.
|
|
412
|
|
413 ------------
|
|
414 Output files
|
|
415 ------------
|
|
416 An SQLite3 file is a database file that organizes data in such a way it is
|
|
417 easily stored, filtered, modified, retrieved.
|
|
418 </help>
|
|
419 <citations></citations>
|
2
|
420 </tool>
|