comparison macros_conffiles.xml @ 0:e8475d0195fe draft

planemo upload for repository https://github.com/TAMU-CPT/galaxy-circos-tool commit 358dd35a2150af4183d9303af1df4f63be0737cd
author eric-rasche
date Wed, 01 Mar 2017 22:47:20 -0500
parents
children b25b3518c2ce
comparison
equal deleted inserted replaced
-1:000000000000 0:e8475d0195fe
1 <?xml version="1.0"?>
2 <macros>
3 <xml name="configfile_circos_conf">
4 <configfile name="circos_conf"><![CDATA[
5 <<include colors_fonts_patterns.conf>>
6 <<include housekeeping.conf>>
7 karyotype = karyotype.txt
8
9 <image>
10 <<include etc/image.conf>>
11 </image>
12
13 <<include ticks.conf>>
14 <<include ideogram.conf>>
15 <plots>
16 <<include 2d.conf>>
17 <<include plot_highlight.conf>>
18 </plots>
19 <links>
20 <<include links.conf>>
21 </links>
22
23 <<include highlight.conf>>
24 ]]></configfile>
25 </xml>
26 <xml name="configfile_ticks_conf">
27 <configfile name="ticks_conf"><![CDATA[
28 show_ticks = ${ticks.show_ticks}
29 show_tick_labels = yes
30
31 #def circosColor($value)
32 #set $value = str($value)
33 #set $r = int($value[1:3], 16)
34 #set $g = int($value[3:5], 16)
35 #set $b = int($value[5:], 16)
36 $r, $g, $b
37 #end def
38
39
40 <ticks>
41 radius = ${ticks.radius}r
42 color = $circosColor($ticks.color)
43 thickness = 2p
44 multiplier = ${ticks.multiplier}
45
46 #for $tick_group in $ticks.tick_group:
47 <tick>
48 spacing = ${tick_group.spacing}
49 size = ${tick_group.size}p
50 show_label = ${tick_group.show_tick_labels}
51 label_size = ${tick_group.label_size}p
52 label_offset = ${tick_group.label_offset}p
53 format = ${tick_group.format} kb
54 ## TODO: figure out automated tick labels
55 ##if ${ticks.multiplier} * ${tick_group.spacing}
56 </tick>
57 #end for
58 </ticks>
59 ]]>
60 </configfile>
61 </xml>
62 <xml name="configfile_ideogram_conf">
63 <configfile name="ideogram_conf"><![CDATA[
64
65 <ideogram>
66
67 <spacing>
68 ## spacing between ideograms
69 default = ${ideogram.spacing}r
70 </spacing>
71
72 # ideogram position, thickness and fill
73 radius = ${ideogram.radius}r
74 thickness = ${ideogram.thickness}p
75 fill = yes
76
77 show_label = ${ideogram.ideogram_labels.show_label}
78 label_radius = dims(ideogram,radius) + 0.075r
79 label_size = 24
80 label_parallel = ${ideogram.ideogram_labels.parallel}
81
82 show_bands = yes
83 fill_bands = yes
84 band_transparency = 4
85
86 </ideogram>
87 ]]></configfile>
88 </xml>
89 <xml name="configfile_data_conf">
90 <configfile name="data_conf"><![CDATA[
91 #for $hi, $data in enumerate($sec_tdd.data):
92 <plot>
93 #set plot_type = str($data.plot_format.plot_format_select)
94 #def circosColor($value)
95 #set $value = str($value)
96 #set $r = int($value[1:3], 16)
97 #set $g = int($value[3:5], 16)
98 #set $b = int($value[5:], 16)
99 $r, $g, $b
100 #end def
101
102 type = ${plot_type}
103 file = data/data-${hi}.txt
104
105 r1 = ${data.r1}r
106 r0 = ${data.r0}r
107 orientation = ${data.orientation}
108
109 #if str($plot_type) == 'histogram':
110 extend_bin = ${data.plot_format.format_specific.extend_bins}
111 fill_color = ${data.plot_format.format_specific.fill_color}
112 #else if str($plot_type) == 'heatmap':
113 fill_color = $circosColor($data.plot_format.format_specific.fill_color)
114 scale_log_base = ${data.plot_format.format_specific.scale_log_base}
115 #else if str($plot_type) == 'line':
116 color = $circosColor($data.plot_format.format_specific.color)
117 thickness = ${data.plot_format.format_specific.thickness}
118 #else if str($plot_type) == 'scatter':
119 glyph = ${data.plot_format.format_specific.glyph}
120 glyph_size = ${data.plot_format.format_specific.glyph_size}
121 color = $circosColor($data.plot_format.format_specific.color)
122 stroke_color = $circosColor($data.plot_format.format_specific.stroke_color)
123 stroke_thickness = ${data.plot_format.format_specific.stroke_thickness}
124 #else if str($plot_type) == 'tile':
125 color = ${data.plot_format.format_specific.color}
126 stroke_color = $circosColor($data.plot_format.format_specific.color)
127 stroke_thickness = ${data.plot_format.format_specific.stroke_thickness}
128 layers = ${data.plot_format.format_specific.layers}
129 thickness = ${data.plot_format.format_specific.thickness}
130 padding = ${data.plot_format.format_specific.padding}
131
132 layers_overflow = ${data.plot_format.format_specific.overflow.overflow_behavior}
133 #if str($data.plot_format.format_specific.overflow.overflow_behavior) != "hide":
134 layers_overflow_color = $circosColor($data.plot_format.format_specific.overflow.layer_overflow_color)
135 #end if
136 #end if
137
138 <rules>
139 #for $rule in $data.sec_rule.rules:
140 <rule>
141 #for $condition in $rule.conditions
142 #if str($condition.application.application_select) == "1":
143 condition = 1
144 #elif str($condition.application.application_select) == "on":
145 #set on_str = ' '.join([ "on(%s)" % $chr.strip() for $chr in $condition.application.on_genomes.split(',') ])
146 condition = $on_str
147 #elif str($condition.application.application_select) == "pos":
148 #if $condition.application.pos_gt != 0:
149 condition = var(start) > $condition.application.pos_gt
150 #end if
151
152 #if $condition.application.pos_lt != 0:
153 condition = var(start) < $condition.application.pos_lt
154 #end if
155 #elif str($condition.application.application_select) == "value":
156 #if $condition.application.pos_gt != 0:
157 condition = var(value) > $condition.application.pos_gt
158 #end if
159
160 #if $condition.application.pos_lt != 0:
161 condition = var(value) < $condition.application.pos_lt
162 #end if
163 #elif str($condition.application.application_select) == "var":
164 condition = var(${condition.application.varname}) ${condition.application.cond_select} "${condition.application.varvalue}"
165 #end if
166 #end for
167
168 #for $action in $rule.actions:
169 #set x_fill_color = $action.action.action_value
170 #set x_fill_color_count = int(str($x_fill_color).split('-')[1]) + 1
171 #set x_fill_color_qw = ' '.join(["%s-%s" % ($action.action.action_value, $i) for i in range(1, $x_fill_color_count)])
172
173 #if str($action.action.action_select) == "fill_color_value":
174 fill_color = eval(qw(${x_fill_color_qw})[remap_int(var(value), ${action.action.min_value}, ${action.action.max_value}, 0, ${x_fill_color_count - 1})])
175 #else
176 $action.action.action_select = ${action.action.action_value}
177 #end if
178 #end for
179 $rule.continue_flow
180 </rule>
181 #end for
182 </rules>
183
184 <axes>
185 #for $axis in $data.sec_axes.axes:
186 <axis>
187 color = $circosColor($axis.color)
188 thickness = ${axis.thickness}
189 spacing = ${axis.spacing}r
190 y0 = ${axis.y0}r
191 y1 = ${axis.y1}r
192 </axis>
193 #end for
194 </axes>
195 <backgrounds>
196 #for $bkg in $data.sec_bkgs.backgrounds:
197 <background>
198 color = $circosColor($bkg.color)
199 y0 = ${bkg.y0}r
200 y1 = ${bkg.y1}r
201 </background>
202 #end for
203 </backgrounds>
204 </plot>
205 #end for
206 ]]></configfile>
207 </xml>
208
209 <xml name="configfile_links_conf">
210 <configfile name="links_conf"><![CDATA[
211 #for $hi, $data in enumerate($sec_links.data):
212 <link>
213 #def circosColor($value)
214 #set $value = str($value)
215 #set $r = int($value[1:3], 16)
216 #set $g = int($value[3:5], 16)
217 #set $b = int($value[5:], 16)
218 $r, $g, $b
219 #end def
220
221 file = data/links-${hi}.txt
222
223 radius = ${data.radius}r
224 ribbon = ${data.linktype.ribbon}
225 #if $data.linktype.ribbon == 'yes'
226 ${data.linktype.twist}
227 #end if
228 color = $circosColor($data.color)
229 bezier_radius = ${data.bezier_radius}r
230 thickness = ${data.thickness}
231 crest = ${data.advanced.crest}
232 bezier_radius_purity = ${data.advanced.bezier_radius_purity}
233
234 #if $data.advanced.perturbation.perturb == 'yes'
235 perturb = yes
236 perturb_crest = ${data.advanced.perturbation.perturb_crest_min},${data.advanced.perturbation.perturb_crest_max}
237 perturb_bezier_radius = ${data.advanced.perturbation.perturb_bezier_radius_min},${data.advanced.perturbation.perturb_bezier_radius_max}
238 perturb_bezier_radius_purity = ${data.advanced.perturbation.perturb_bezier_radius_purity_min},${data.advanced.perturbation.perturb_bezier_radius_purity_max}
239 #end if
240
241 #if $data.advanced.zdepth
242 z = ${data.advanced.zdepth}
243 #end if
244
245 <rules>
246 #for $rule in $data.sec_link_rule.rules:
247 <rule>
248 #for $condition in $rule.conditions
249 #set cond = $condition.application.application_select
250 #if $cond == 'interchr' or $cond == 'intrachr' or $cond == 'inv' or $cond == 'rev'
251 condition = var($cond)
252 #else
253 #set op = $condition.application.comparison.compare
254 #set val = $condition.application.comparison.compval
255 #if $cond == 'chr'
256 #if $op == 'between' or $op == 'fromto'
257 #set val2 = $condition.application.comparison.compval2
258 #set c=''.join([str($op),"(",str($val),",",str($val2),")"])
259 #else
260 #set c=''.join([str($op),"(",str($val),")"])
261 #end if
262 condition = $c
263 #else
264 #if $cond == 'dist' and $op == 'lt'
265 condition = abs(var(pos1) - var(pos2)) < $val
266 #elif $cond == 'dist' and $op == 'gt'
267 condition = abs(var(pos1) - var(pos2)) > $val
268 #elif $op == 'lt'
269 condition = var($cond) < $val
270 #elif $op == 'gt'
271 condition = var($cond) > $val
272 #end if
273 #end if
274 #end if
275 #end for
276
277 #for $action in $rule.actions:
278 #set actiontype = $action.action.action_select
279 #set actionval = $action.action.action_value
280 #if $actiontype == 'color':
281 #set actionval = $circosColor($actionval)
282 #end if
283 $actiontype = $actionval
284 #end for
285
286 $rule.continue_flow
287
288 </rule>
289 #end for
290 </rules>
291 </link>
292 #end for
293 ]]></configfile>
294 </xml>
295
296 <xml name="configfile_plot_highlight_conf">
297 <configfile name="plot_highlight_conf"><![CDATA[
298 ###for $hi, $highlight in enumerate($sec_heat.highlights):
299 ## #if $highlight.type_select == "plot_highlights":
300 ##<plot>
301 ## type = highlight
302 ## file = data/highlight-${hi}.txt
303 ## r1 = ${highlight.r1}r
304 ## r0 = ${highlight.r0}r
305 ## color = ${highlight.fill_color}
306 ##</plot>
307 ## #end if
308 ###end for
309 ]]></configfile>
310 </xml>
311 <xml name="configfile_highlight_conf">
312 <configfile name="highlight_conf"><![CDATA[
313 ##<highlights>
314 ###for $hi, $highlight in enumerate($sec_heat.highlights):
315 ## #if $highlight.type_select == "normal":
316 ## <highlight>
317 ## file = data/highlight-${hi}.txt
318 ## r1 = ${highlight.r1}r
319 ## r0 = ${highlight.r0}r
320 ## color = ${highlight.fill_color}
321 ## </highlight>
322 ## #end if
323 ###end for
324 ##</highlights>
325 ]]></configfile>
326 </xml>
327 <xml name="test_case">
328 <configfile name="test_case_conf"><![CDATA[
329 <!--
330 mkdir -p test-data/my-test-case/;
331 cp ${genome_fasta} test-data/my-test-case/input.fa;
332 #if $ideogram.bands:
333 cp ${ideogram.bands} test-data/my-test-case/bands.${ideogram.bands.ext};
334 #end if
335 #for $idx, $data in enumerate($sec_tdd.data):
336 #if str($data.plot_format.plot_format_select) in ('histogram', 'heatmap'):
337 #for $jdx, $file in enumerate($data.plot_format.data_source):
338 cp ${file} test-data/my-test-case/${idx}-${jdx}.${file.ext};
339 #end for
340 #else
341 cp ${data.plot_format.data_source} test-data/my-test-case/${idx}.${data.plot_format.data_source.ext};
342 #end if
343 #end for
344 cp "$output_png" test-data/my-test-case/output.png;
345 cp "$output_svg" test-data/my-test-case/output.svg;
346 -->
347 <test>
348 <param name="reference_genome|reference_genome_source" value="${reference_genome.reference_genome_source}"/>
349 <param name="reference_genome|genome_fasta" value="my-test-case/input.fa" />
350 <!-- ideograms -->
351 <param name="ideogram|spacing" value="${ideogram.spacing}" />
352 <param name="ideogram|radius" value="${ideogram.radius}" />
353 <param name="ideogram|thickness" value="${ideogram.thickness}" />
354 <param name="ideogram|ideogram_labels|show_label" value="${ideogram.ideogram_labels.show_label}" />
355 <param name="ideogram|ideogram_labels|parallel" value="${ideogram.ideogram_labels.parallel}" />
356 #if $ideogram.bands:
357 <param name="ideogram|bands" value="my-test-case/bands.${ideogram.bands.ext}" />
358 #end if
359 <!-- Ticks -->
360 <param name="ticks|show_ticks" value="${ticks.show_ticks}" />
361 <param name="ticks|radius" value="${ticks.radius}" />
362 <param name="ticks|color" value="${ticks.color}" />
363 <param name="ticks|multiplier" value="${ticks.multiplier}" />
364 #for $idx, $tick_group in enumerate($ticks.tick_group):
365 <param name="ticks|tick_group_${idx}|tickspacing" value="${tick_group.spacing}" />
366 <param name="ticks|tick_group_${idx}|size" value="${tick_group.size}" />
367 <param name="ticks|tick_group_${idx}|show_tick_labels" value="${tick_group.show_tick_labels}" />
368 <param name="ticks|tick_group_${idx}|label_size" value="${tick_group.label_size}" />
369 <param name="ticks|tick_group_${idx}|label_offset" value="${tick_group.label_offset}" />
370 <param name="ticks|tick_group_${idx}|label_format" value="${tick_group.format}" />
371 #end for
372 <!-- Data -->
373 #for $idx, $data_group in enumerate($sec_tdd.data):
374 <param name="sec_tdd|data_${idx}|r0" value="${data_group.r0}" />
375 <param name="sec_tdd|data_${idx}|r1" value="${data_group.r1}" />
376 <param name="sec_tdd|data_${idx}|orientation" value="${data_group.orientation}" />
377 <param name="sec_tdd|data_${idx}|plot_format|plot_format_select" value="${data_group.plot_format.plot_format_select}" />
378 <!-- Note, please double check your files -->
379 #if str($data_group.plot_format.plot_format_select) == 'histogram':
380 #set my_files = ','.join([ "my-test-case/%s-%s.%s" % ($idx, $j, $file.ext) for ($j, $file) in enumerate($data_group.plot_format.data_source)])
381 <param name="sec_tdd|data_${idx}|plot_format|data_source" value="${my_files}" />
382 <param name="sec_tdd|data_${idx}|plot_format|format_specific|fill_color" value="${data_group.plot_format.format_specific.fill_color}" />
383 <param name="sec_tdd|data_${idx}|plot_format|format_specific|extend_bins" value="${data_group.plot_format.format_specific.extend_bins}" />
384 #else if str($data_group.plot_format.plot_format_select) == 'heatmap':
385 #set my_files = ','.join([ "my-test-case/%s-%s.%s" % ($idx, $j, $file.ext) for ($j, $file) in enumerate($data_group.plot_format.data_source)])
386 <param name="sec_tdd|data_${idx}|plot_format|data_source" value="${my_files}" />
387 <param name="sec_tdd|data_${idx}|plot_format|format_specific|fill_color" value="${data_group.plot_format.format_specific.fill_color}" />
388 <param name="sec_tdd|data_${idx}|plot_format|format_specific|scale_log_base" value="${data_group.plot_format.format_specific.scale_log_base}" />
389 #else if str($data_group.plot_format.plot_format_select) == 'line':
390 <param name="sec_tdd|data_${idx}|plot_format|data_source" value="my-test-case/${idx}.${data.plot_format.data_source.ext}" />
391 <param name="sec_tdd|data_${idx}|plot_format|format_specific|color" value="${data_group.plot_format.format_specific.color}" />
392 <param name="sec_tdd|data_${idx}|plot_format|format_specific|stroke" value="${data_group.plot_format.format_specific.stroke}" />
393 #else if str($data_group.plot_format.plot_format_select) == 'scatter':
394 <param name="sec_tdd|data_${idx}|plot_format|data_source" value="my-test-case/${idx}.${data.plot_format.data_source.ext}" />
395 <param name="sec_tdd|data_${idx}|plot_format|format_specific|glyph" value="${data_group.plot_format.format_specific.glyph}" />
396 <param name="sec_tdd|data_${idx}|plot_format|format_specific|glyph_size" value="${data_group.plot_format.format_specific.glyph_size}" />
397 <param name="sec_tdd|data_${idx}|plot_format|format_specific|data_min" value="${data_group.plot_format.format_specific.data_min}" />
398 <param name="sec_tdd|data_${idx}|plot_format|format_specific|data_max" value="${data_group.plot_format.format_specific.data_max}" />
399 <param name="sec_tdd|data_${idx}|plot_format|format_specific|color" value="${data_group.plot_format.format_specific.color}" />
400 <param name="sec_tdd|data_${idx}|plot_format|format_specific|stroke_color" value="${data_group.plot_format.format_specific.stroke_color}" />
401 <param name="sec_tdd|data_${idx}|plot_format|format_specific|stroke_thickness" value="${data_group.plot_format.format_specific.stroke_thickness}" />
402 #else if str($data_group.plot_format.plot_format_select) == 'tile':
403 <param name="sec_tdd|data_${idx}|plot_format|data_source" value="my-test-case/${idx}.${data.plot_format.data_source.ext}" />
404 <param name="sec_tdd|data_${idx}|plot_format|format_specific|fill_color" value="${data_group.plot_format.format_specific.fill_color}" />
405 <param name="sec_tdd|data_${idx}|plot_format|format_specific|color" value="${data_group.plot_format.format_specific.color}" />
406 <param name="sec_tdd|data_${idx}|plot_format|format_specific|stroke_thickness" value="${data_group.plot_format.format_specific.stroke_thickness}" />
407 <param name="sec_tdd|data_${idx}|plot_format|format_specific|layers" value="${data_group.plot_format.format_specific.layers}" />
408 <param name="sec_tdd|data_${idx}|plot_format|format_specific|thickness" value="${data_group.plot_format.format_specific.thickness}" />
409 <param name="sec_tdd|data_${idx}|plot_format|format_specific|padding" value="${data_group.plot_format.format_specific.padding}" />
410 <param name="sec_tdd|data_${idx}|plot_format|format_specific|overflow|overflow_behavior" value="${data_group.plot_format.format_specific.overflow.overflow_behavior}" />
411 #if str($data_group.plot_format.format_specific.overflow.overflow_behavior) != 'hide':
412 <param name="sec_tdd|data_${idx}|plot_format|format_specific|overflow|layer_overflow_color" value="${data_group.plot_format.format_specific.overflow.layer_overflow_color}" />
413 #end if
414 #end if
415 ## Next line intentionally blank
416
417 #end for
418
419
420 <!-- Outputs -->
421 <output name="output_png" file="my-test-case/output.png" />
422 <output name="output_svg" file="my-test-case/output.svg" />
423 </test>
424 ]]></configfile>
425 </xml>
426 </macros>