[2] | 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> |
---|