0
|
1 <tool id="xseeker_preparator"
|
|
2 name="XSeeker Preparator"
|
|
3 version="1.0.1"
|
|
4 profile="20.04"
|
|
5 >
|
|
6 <description>Prepare RData file from CAMERA to be visualized in XSeeker</description>
|
|
7
|
|
8 <edam_operations>
|
|
9 <edam_operation>operation_1812</edam_operation>
|
|
10 <edam_operation>operation_0335</edam_operation>
|
|
11 </edam_operations>
|
|
12
|
|
13 <requirements>
|
|
14 <requirement type="set_environment">R_SCRIPT_PATH</requirement>
|
|
15 <!--
|
|
16 <requirement type="package" version="4.0.0">R</requirement>
|
|
17 -->
|
|
18 <requirement type="package" version="4.0.0">R</requirement>
|
|
19 <requirement type="package" version="1.6.6">optparse</requirement>
|
|
20 <requirement type="package" version="3.10.2">xcms</requirement>
|
|
21 <requirement type="package" version="1.2.1">blob</requirement>
|
|
22 <requirement type="package" version="0.9.4">fst</requirement>
|
|
23 <requirement type="package" version="1.4.0">stringr</requirement>
|
|
24 <requirement type="package">DBModelR</requirement>
|
|
25 </requirements>
|
|
26
|
|
27 <stdio>
|
|
28
|
|
29 <exit_code
|
|
30 range="1"
|
|
31 level="warning"
|
|
32 description="Selected samples have no data associated to them."
|
|
33 />
|
|
34
|
|
35 <exit_code
|
|
36 range="2"
|
|
37 level="warning"
|
|
38 description="Some samples have no data associated to them."
|
|
39 />
|
|
40
|
|
41 </stdio>
|
|
42
|
|
43 <version_command>
|
|
44 R_SCRIPT_PATH '$__tool_directory__/XSeekerPreparator.R' -v
|
|
45 </version_command>
|
|
46
|
|
47 <command>
|
|
48 <![CDATA[
|
|
49
|
|
50 R_SCRIPT_PATH '$__tool_directory__/XSeekerPreparator.R'
|
|
51
|
|
52 -P
|
|
53
|
|
54 --input '$input'
|
|
55 --output '$output'
|
|
56
|
|
57 #if $samples.selected
|
|
58 --samples '${",".join(samples.selected)}'
|
|
59 #end if
|
|
60
|
|
61 #if $database.archetypes
|
|
62 --archetype '${",".join($database.archetypes)}'
|
|
63 #end if
|
|
64
|
|
65 #if $database.base.kind == "tabular"
|
|
66 --compounds-csv '${database.base.tabular}'
|
|
67 #else if $database.base.kind == "sql"
|
|
68 --database '${database.base.sql}'
|
|
69 #end if
|
|
70
|
|
71 #if $database.models.kind == "default"
|
|
72 --models '${base_config}'
|
|
73 #else
|
|
74 --models '${database.models.url}'
|
|
75 #end if
|
|
76
|
|
77 ]]>
|
|
78
|
|
79 </command>
|
|
80
|
|
81 <inputs>
|
|
82 <param
|
|
83 name="input"
|
|
84 type="data"
|
|
85 multiple="false"
|
|
86 label="Rdata to prepare"
|
|
87 optional="false"
|
|
88 format="rdata"
|
|
89 >
|
|
90 </param>
|
|
91 <section name="samples" title="Samples Options" expanded="false">
|
|
92 <param
|
|
93 name="selected"
|
|
94 type="data"
|
|
95 multiple="true"
|
|
96 label="Samples to visualize"
|
|
97 optional="true"
|
|
98 format="mzml"
|
|
99 >
|
|
100 </param>
|
|
101 </section>
|
|
102
|
|
103 <section name="database" title="Database Options" expanded="false">
|
|
104 <param
|
|
105 name="archetypes"
|
|
106 type="select"
|
|
107 multiple="true"
|
|
108 label="Molecule family (for database's compounds enrichment)"
|
|
109 >
|
|
110 <option value="G" selected="true">General</option>
|
|
111 <option value="H">Halogenates</option>
|
|
112 </param>
|
|
113
|
|
114 <conditional name="base">
|
|
115 <param name="kind" type="select" label="File containing compound's type">
|
|
116 <option value="none" selected="true">None (deafult)</option>
|
|
117 <option value="tabular">tabular</option>
|
|
118 <option value="sql">sql</option>
|
|
119 </param>
|
|
120 <when value="tabular">
|
|
121 <param
|
|
122 name="tabular"
|
|
123 type="data"
|
|
124 multiple="true"
|
|
125 label="Tabular file containing compound to use in XSeeker"
|
|
126 optional="true"
|
|
127 format="tabular"
|
|
128 >
|
|
129 </param>
|
|
130 </when>
|
|
131 <when value="sql">
|
|
132 <param
|
|
133 name="sql"
|
|
134 type="data"
|
|
135 multiple="true"
|
|
136 label="SQL file containing compound to use in XSeeker"
|
|
137 optional="true"
|
|
138 format="sql"
|
|
139 >
|
|
140 </param>
|
|
141 </when>
|
|
142 </conditional>
|
|
143
|
|
144 <conditional name="models">
|
|
145 <param name="kind" type="select" label="How is the database's model defined">
|
|
146 <option value="default" selected="true">Default (regular XSeeker Database)</option>
|
|
147 <option value="url">Download model file</option>
|
|
148 <option value="git">Get versionned model file</option>
|
|
149 </param>
|
|
150 <when value="url">
|
|
151 <param name="url" type="text" format="url" label="File URL"/>
|
|
152 </when>
|
|
153 <when value="git">
|
|
154 <param name="url" type="text" format="url" label="Repo URL"/>
|
|
155 </when>
|
|
156 </conditional>
|
|
157 </section>
|
|
158 </inputs>
|
|
159
|
|
160
|
|
161 <outputs>
|
|
162 <data format="xseeker.sqlite" name="output" />
|
|
163 </outputs>
|
|
164
|
|
165 <configfiles>
|
|
166 <configfile name="base_config">
|
|
167 tryCatch({
|
|
168 DBModelR::ModelDefinition(table="yui", fields=list(yui="INTEGER"))
|
|
169 }, error=function(e) {
|
|
170 stop("Please, install DBModelR before you source this file.")
|
|
171 })
|
|
172
|
|
173 list(
|
|
174 adduct=DBModelR::ModelDefinition(
|
|
175 table="adduct",
|
|
176 fields=list(
|
|
177 name="TEXT",
|
|
178 mass="FLOAT",
|
|
179 charge="INTEGER",
|
|
180 multi="INTEGER",
|
|
181 formula_add="TEXT",
|
|
182 formula_ded="TEXT",
|
|
183 sign="TEXT",
|
|
184 oidscore="INTEGER",
|
|
185 quasi="INTEGER",
|
|
186 ips="FLOAT"
|
|
187 )
|
|
188 ),
|
|
189 cluster=DBModelR::ModelDefinition(
|
|
190 table="cluster",
|
|
191 fields=list(
|
|
192 clusterID="INTEGER",
|
|
193 formula="TEXT",
|
|
194 annotation="TEXT",
|
|
195 coeff="FLOAT",
|
|
196 r_squared="FLOAT",
|
|
197 charge="INTEGER",
|
|
198 mean_rt="FLOAT",
|
|
199 score="FLOAT",
|
|
200 deviation="FLOAT",
|
|
201 status="TEXT",
|
|
202 adduct="TEXT",
|
|
203 curent_group="INTEGER",
|
|
204 pc_group="INTEGER",
|
|
205 align_group="INTEGER",
|
|
206 xcms_group="INTEGER"
|
|
207 ),
|
|
208 one=list("sample", "compound")
|
|
209 ),
|
|
210 compound=DBModelR::ModelDefinition(
|
|
211 table="compound",
|
|
212 fields=list(
|
|
213 name="TEXT",
|
|
214 common_name="TEXT",
|
|
215 formula="TEXT",
|
|
216 charge="INTEGER",
|
|
217 date="TEXT",
|
|
218 mz="FLOAT"
|
|
219 )
|
|
220 ),
|
|
221 feature=DBModelR::ModelDefinition(
|
|
222 table="feature",
|
|
223 fields=list(
|
|
224 featureID="INTEGER",
|
|
225 mz="FLOAT",
|
|
226 mz_min="FLOAT",
|
|
227 mz_max="FLOAT",
|
|
228 rt="FLOAT",
|
|
229 rt_min="FLOAT",
|
|
230 rt_max="FLOAT",
|
|
231 int_o="FLOAT",
|
|
232 int_b="FLOAT",
|
|
233 max_o="FLOAT",
|
|
234 iso="TEXT",
|
|
235 abundance="FLOAT"
|
|
236 ),
|
|
237 one=list("cluster")
|
|
238 ),
|
|
239 instrument=DBModelR::ModelDefinition(
|
|
240 table="instrument",
|
|
241 fields=list(
|
|
242 model="TEXT",
|
|
243 manufacturer="TEXT",
|
|
244 analyzer="TEXT",
|
|
245 detector_type="TEXT",
|
|
246 ion_source="TEXT"
|
|
247 )
|
|
248 ),
|
|
249 instrument_config=DBModelR::ModelDefinition(
|
|
250 table="instrument_config",
|
|
251 fields=list(
|
|
252 resolution="TEXT",
|
|
253 agc_target="TEXT",
|
|
254 maximum_IT="TEXT",
|
|
255 number_of_scan_range="TEXT",
|
|
256 scan_range="TEXT",
|
|
257 version="TEXT"
|
|
258 )
|
|
259 ),
|
|
260 project=DBModelR::ModelDefinition(
|
|
261 table="project",
|
|
262 fields=list(
|
|
263 name="TEXT",
|
|
264 comment="TEXT"
|
|
265 ),
|
|
266 one=list("sample")
|
|
267 ),
|
|
268 sample=DBModelR::ModelDefinition(
|
|
269 table="sample",
|
|
270 fields=list(
|
|
271 name="TEXT",
|
|
272 path="TEXT",
|
|
273 polarity="TEXT",
|
|
274 kind="TEXT", ## rdata or mxml or enriched_rdata
|
|
275 raw="BLOB"
|
|
276 ),
|
|
277 one=list(
|
|
278 "peak_picking_parameters",
|
|
279 "pairing_parameters",
|
|
280 "alignmenmt_parameters",
|
|
281 "camera_parameters",
|
|
282 "instrument",
|
|
283 "instrument_config",
|
|
284 "software",
|
|
285 "smol_xcms_set"
|
|
286 )
|
|
287 ),
|
|
288 smol_xcms_set=DBModelR::ModelDefinition(
|
|
289 table="smol_xcms_set",
|
|
290 fields=list(
|
|
291 raw="BLOB"
|
|
292 )
|
|
293 ),
|
|
294 software=DBModelR::ModelDefinition(
|
|
295 table="software",
|
|
296 fields=list(
|
|
297 name="TEXT",
|
|
298 version="TEXT"
|
|
299 )
|
|
300 ),
|
|
301 peak_picking_parameters=DBModelR::ModelDefinition(
|
|
302 table="peak_picking_parameters",
|
|
303 fields=list(
|
|
304 ppm="FLOAT",
|
|
305 peakwidth="TEXT",
|
|
306 snthresh="TEXT",
|
|
307 prefilterStep="TEXT",
|
|
308 prefilterLevel="TEXT",
|
|
309 mzdiff="TEXT",
|
|
310 fitgauss="TEXT",
|
|
311 noise="TEXT",
|
|
312 mzCenterFun="TEXT",
|
|
313 integrate="INTEGER",
|
|
314 firstBaselineCheck="TEXT",
|
|
315 snthreshIsoROIs="TEXT",
|
|
316 maxCharge="INTEGER",
|
|
317 maxIso="INTEGER",
|
|
318 mzIntervalExtension="TEXT"
|
|
319 )
|
|
320 ),
|
|
321 alignmenmt_parameters=DBModelR::ModelDefinition(
|
|
322 table="alignmenmt_parameters",
|
|
323 fields=list(
|
|
324 binSize="TEXT",
|
|
325 centerSample="TEXT",
|
|
326 response="TEXT",
|
|
327 distFun="TEXT",
|
|
328 gapInit="TEXT",
|
|
329 gapExtend="TEXT",
|
|
330 factorDiag="TEXT",
|
|
331 factorGap="TEXT",
|
|
332 localAlignment="INTEGER",
|
|
333 initPenalty="TEXT",
|
|
334 bw="TEXT",
|
|
335 minFraction="TEXT",
|
|
336 minSamples="TEXT",
|
|
337 maxFeatures="TEXT"
|
|
338 )
|
|
339 )
|
|
340 )
|
|
341 </configfile>
|
|
342 </configfiles>
|
|
343 </tool>
|