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