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> |
---|