0
|
1 <tool id="hgv_hilbertvis" name="HVIS" version="1.0.0">
|
|
2 <description>visualization of genomic data with the Hilbert curve</description>
|
|
3 <requirements>
|
|
4 <requirement type="package" version="2.11.0">R</requirement>
|
|
5 <requirement type="package" version="1.18.0">bioc_hilbertvis</requirement>
|
|
6 </requirements>
|
|
7 <command interpreter="bash">
|
|
8 hilbertvis.sh $input $output $chromInfo "$chrom" $plot_value.score_col $level $mode
|
|
9 #if isinstance( $input.datatype, $__app__.datatypes_registry.get_datatype_by_extension('gff').__class__)
|
|
10 1 4 5 7
|
|
11 #else
|
|
12 ${input.metadata.chromCol} ${input.metadata.startCol} ${input.metadata.endCol} ${input.metadata.strandCol}
|
|
13 #end if
|
|
14 </command>
|
|
15
|
|
16 <inputs>
|
|
17 <param name="input" type="data" format="interval,gff" label="Dataset">
|
|
18 <validator type="unspecified_build"/>
|
|
19 <validator type="metadata" check="chromCol" message="chromCol missing"/>
|
|
20 <validator type="metadata" check="startCol" message="startCol missing"/>
|
|
21 <validator type="metadata" check="endCol" message="endCol missing"/>
|
|
22 </param>
|
|
23 <param name="chrom" type="text" label="Sequence to plot" help="Name of sequence (from the chromosome column in the dataset) to plot. If left blank, the first sequence in the dataset will be plotted."/>
|
|
24 <conditional name="plot_value">
|
|
25 <param name="choice" type="select" label="Value to plot">
|
|
26 <option value="score" selected="true">Score column from dataset</option>
|
|
27 <option value="exist">Same value for each base (existence)</option>
|
|
28 </param>
|
|
29 <when value="score">
|
|
30 <param name="score_col" type="data_column" data_ref="input" numerical="true" label="Score column"/>
|
|
31 </when>
|
|
32 <when value="exist">
|
|
33 <param name="score_col" type="hidden" value="-1"/>
|
|
34 </when>
|
|
35 </conditional>
|
|
36 <param name="level" type="integer" value="9" label="Level" help="Level of Hilbert curve. The resulting image will have 2<sup>level</sup> by 2<sup>level</sup> pixels.">
|
|
37 <validator type="in_range" min="1" message="The level must be an integer >= 1."/>
|
|
38 </param>
|
|
39 <param name="mode" type="select" label="Summarization mode" help="Method used to determine a value for a point in the plot which covers multiple values in the input.">
|
|
40 <option value="max">Maximal value in each bin</option>
|
|
41 <option value="min">Minimal value in each bin</option>
|
|
42 <option value="absmax" selected="true">Maximal absolute value in each bin</option>
|
|
43 <option value="mean">Mean value of each bin</option>
|
|
44 </param>
|
|
45 </inputs>
|
|
46
|
|
47 <outputs>
|
|
48 <data name="output" format="pdf"/>
|
|
49 </outputs>
|
|
50
|
|
51 <tests>
|
|
52 <test>
|
|
53 <param name="input" value="hvis_mkar_chr22.tab"/>
|
|
54 <param name="chrom" value="chr22"/>
|
|
55 <param name="choice" value="score"/>
|
|
56 <param name="score_col" value="15"/>
|
|
57 <param name="level" value="9"/>
|
|
58 <param name="mode" value="absmax"/>
|
|
59 <output name="output" file="hvis_mkar_chr22.pdf" compare="sim_size" delta="7168"/>
|
|
60 </test>
|
|
61 </tests>
|
|
62
|
|
63 <help>
|
|
64 **Dataset formats**
|
|
65
|
|
66 The input format is interval_, and the output is an image in PDF format.
|
|
67 (`Dataset missing?`_)
|
|
68
|
|
69 .. _interval: ${static_path}/formatHelp.html#interval
|
|
70 .. _Dataset missing?: ${static_path}/formatHelp.html
|
|
71
|
|
72 -----
|
|
73
|
|
74 **What it does**
|
|
75
|
|
76 HilbertVis uses the Hilbert space-filling curve to visualize the structure of
|
|
77 position-dependent data. It maps the traditional one-dimensional line
|
|
78 visualization onto a two-dimensional square. For example, here is a diagram
|
|
79 showing the path of a level-2 Hilbert curve.
|
|
80
|
|
81 .. image:: ${static_path}/images/hilbertvisDiagram.png
|
|
82
|
|
83 The shade of each pixel represents the value for the corresponding bin of
|
|
84 consecutive genomic positions, calculated according to the specified
|
|
85 summarization mode. The pixels are arranged so that bins that are close
|
|
86 to each other on the data vector are represented by pixels that are close
|
|
87 to each other in the plot. In particular, adjacent bins are mapped to
|
|
88 adjacent pixels. Hence, dark spots in a figure represent a peak; the area
|
|
89 of the spot in the two-dimensional plot is proportional to the width of the
|
|
90 peak in the one-dimensional data, and the darkness of the spot corresponds to
|
|
91 the height of the peak.
|
|
92
|
|
93 The input file is in interval format, and typically contains a column with
|
|
94 scores or other numbers, such as conservation scores, SNP density, the
|
|
95 coverage of aligned reads from ChIP-Seq data, etc.
|
|
96
|
|
97 Website: http://www.ebi.ac.uk/huber-srv/hilbert/
|
|
98
|
|
99 -----
|
|
100
|
|
101 **Examples**
|
|
102
|
|
103 Here are some examples from the HilbertVis homepage, using ChIP-Seq data.
|
|
104
|
|
105 .. image:: ${static_path}/images/hilbertvis1.png
|
|
106
|
|
107 -----
|
|
108
|
|
109 .. image:: ${static_path}/images/hilbertvis2.png
|
|
110
|
|
111 -----
|
|
112
|
|
113 **Reference**
|
|
114
|
|
115 Anders S. (2009)
|
|
116 Visualization of genomic data with the Hilbert curve.
|
|
117 Bioinformatics. 25(10):1231-5. Epub 2009 Mar 17.
|
|
118
|
|
119 </help>
|
|
120 </tool>
|