comparison nwdisplay.xml @ 0:2073ce44237f draft default tip

planemo upload
author dfornika
date Wed, 10 Jan 2018 18:11:18 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:2073ce44237f
1 <tool id="nwdisplay" name="Newick Display" version="1.6">
2 <description>Display a phylogenetic tree as SVG</description>
3 <edam_operations>
4 <edam_operation>operation_0567</edam_operation>
5 </edam_operations>
6 <requirements>
7 <requirement type="package" version="1.6">newick_utils</requirement>
8 </requirements>
9 <command>
10 nw_display
11 -s
12 $scalebar
13 -u "$legend"
14 -I 'r'
15 -i
16 #if $condbranchsupport.branchsupport == "true":
17 "fill:$condbranchsupport.supcolor;
18 font-size:$condbranchsupport.supfontsize;
19 transform:$condbranchsupport.suptransform;"
20 #else:
21 "visibility:hidden;"
22 #end if
23 -b
24 #if $condbranchlength.branchlength == "true":
25 "fill:$condbranchlength.lencolor;
26 font-size:$condbranchlength.lenfontsize;
27 transform:$condbranchlength.lentransform;"
28 #else:
29 "visibility:hidden;"
30 #end if
31
32 -l "font-family:$leafFont;font-size:$leafSize;"
33 -d "stroke:grey;fill:none;stroke-width:2;stoke-linecap:round;"
34 -w $width
35 $radial
36
37 $fileNewick > $output
38
39 </command>
40 <inputs>
41 <param name="fileNewick" format="txt,nw,nwk,nhx" type="data" label="Newick file" />
42 <param name="scalebar" type="boolean" truevalue="" falsevalue="-S" checked="True" label="Display scale bar" />
43 <param name="legend" type="text" value="" label="Unit name scale" />
44 <param name="leafFont" type="text" value="sans-serif" label="Leaf font" />
45 <param name="leafSize" type="text" value="10px" label="Leaf font-size" />
46 <conditional name="condbranchsupport">
47 <param name="branchsupport" type="select" label="Branch support">
48 <option value="true">Display branch support</option>
49 <option value="false" selected="true">Hide branch support</option>
50 </param>
51 <when value="true">
52 <param name="supcolor" type="color" value="red" label="color" />
53 <param name="supfontsize" type="text" value="10px" label="font-size" />
54 <param name="suptransform" type="text" value="translateY(1.5em)" label="move" />
55 </when>
56 <when value="false" />
57 </conditional>
58 <conditional name="condbranchlength">
59 <param name="branchlength" type="select" label="Branch length">
60 <option value="true">Display branch length</option>
61 <option value="false" selected="true">Hide branch length</option>
62 </param>
63 <when value="true">
64 <param name="lencolor" type="color" value="blue" label="color" />
65 <param name="lenfontsize" type="text" value="10px" label="font-size" />
66 <param name="lentransform" type="text" value="translate(-1.5em,0em)" label="move" />
67 </when>
68 <when value="false" />
69 </conditional>
70 <param name="width" type="integer" value="800" label="SVG Tree width (px)" />
71 <param name="radial" type="boolean" truevalue="-r" falsevalue="" checked="False" label="Draw a radial tree" />
72 </inputs>
73 <outputs>
74 <data name="output" format="svg" label="${fileNewick.name}.svg" />
75 </outputs>
76 <tests>
77 <test>
78 <param name="fileNewick" value="tree.nwk"/>
79 <param name="width" value="400"/>
80 <param name="leafFont" value="courier"/>
81 <output name="output" file="tree.svg" lines_diff="2"/>
82 </test>
83 <test>
84 <param name="fileNewick" value="tree.nwk"/>
85 <param name="radial" value="-r"/>
86 <param name="branchlength" value="true"/>
87 <output name="output" file="tree2.svg" lines_diff="2"/>
88 </test>
89 </tests>
90 <help>
91 <![CDATA[
92 **Displays a tree as a graph, as text or SVG.**
93
94
95 Synopsis
96 --------
97
98 nw_display [options] <tree filename|->
99
100 Input
101 -----
102
103 Argument is the name of the file containing one or more trees,
104 or '-' (in which case the tree is read on stdin).
105
106 Output
107 ------
108
109 Outputs a graph representing the tree, either as text (default) or
110 as SVG (option -s). Underscores in labels are replaced with spaces.
111 Trees with no branch lengths are taken to be cladograms and are
112 drawn with leaves aligned. Otherwise, the tree is assumed to be a
113 phylogram: branch lengths are honored and a scale bar is drawn.
114
115 SVG graphics can be converted to other formats with converters
116 such as Inkscape (e.g. to PDF) or ImageMagick (e.g. to PNG or JPEG).
117 Inkscape is available from www.inkscape.org and ImageMagick from
118 www.imagemagick.org.
119
120 Options
121 -------
122
123 -a <number>: rotate all labels by this amount (radians, default: 0)
124 [only SVG radial]
125 -A <number>: rotate left-side labels by this amount (radians,
126 default: 0.0349 (=~ 2°)) [only SVG radial]
127 -b <string>: CSS for branch length labels. [only SVG]
128 Default: 'font-size:small;font-family:sans'.
129 setting 'opacity:0' disables printing of branch lengths.
130 -c <filename>: use specified file as CSS map [only SVG]. A CSS map
131 is a text file which specifies a style (CSS) for a clade.
132 Each line has the following structure:
133 <CSS> <flag> <label>+
134 <CSS> is a valid CSS style specification (no spaces allowed)
135 e.g. 'font-size:small;font-family:italics;stroke:green'.
136 <flag> is either 'Individual' or 'Clade' (case is not important, can
137 be abbreviated down to 'I' or 'C'). If set to 'Clade', the style is
138 applied to the clade defined by the labels. If 'Individual', the
139 style is applied to each node individually.
140 <label>+ is a nonempty, whitespace-separated list of Newick labels
141 (spaces are allowed IFF the label is enclosed in ''). If a label
142 matches more than one node, all matching nodes are used.
143 Default: no CSS map, whole tree is black (unless specified otherwise
144 via option -d).
145 <CSS>, <flag>, and <labels>+ are separated by whitespace.
146 The following specifies red stroke for a clade defined by A, B and C;
147 and 2-pixel wide, blue stroke for individual nodes D, E, and F:
148 stroke:red Clade A B C
149 stroke:blue;stroke-width:2 I D E F
150 If no colormap is specified, the default is (but see option -d):
151 stroke:black;fill:none;stroke-width:1;stroke-linecap:round
152 -d <string>: CSS for 'plain' tree nodes (i.e., unless overridden by -c)
153 [only SVG]
154 Default: stroke:black;fill:none;stroke-width:1;stroke-linecap:round
155
156 -h: prints this message and exits
157
158 -i <string>: CSS for inner node labels. [only SVG]
159 Default: 'font-size:small;font-family:sans'.
160
161 setting 'visibility:hidden' disables printing of inner node labels.
162 -I <char> sets the position of the inner node label. Valid options are
163 'l' (near the leaves), 'm' (middle) or 'r' (near the root). Default
164 is 'l'.
165
166 -l <string>: CSS for leaf node labels. [only SVG]
167 Default: 'font-size:medium;font-family:sans'.
168 setting 'visibility:hidden' disables printing of leaf node labels.
169 Note: if you change this, you will probably need to adjust the
170 space allocated to leaf labels - see option -W.
171 -n <number> add this number of pixels to the horizontal position of
172 node labels. [SVG only]
173
174 -o <filename>: use specified file as ornament map. Works like the CSS
175 map (see option -c), except that it specifies arbitrary SVG snippets
176 instead of CSS styles. For example, the following
177 "<circle style='fill:red' r='5'>" Clade A B C
178 will draw a red circle of radius 5 at the root of the clade defined
179 by nodes A, B, and C. Keyword 'Individual' is also accepted and
180 works like for CSS.
181
182 -R <integer>: use that many pixels for the root [only SVG]
183
184 -r: draw a radial tree (default: orthogonal) [only SVG]
185
186 -s: output graph as SVG (default: ASCII graphics). All output is on
187 stdout, so if there is more than one tree, stdout will be a
188 concatenation of SVG documents. These can be split into individual
189 files with the csplit(1) command:
190
191 $ nw_display -s many_trees.nw > multiple_svg
192 $ csplit -zs -f tree\_ -b '%02d.svg' multiple_svg '/<?xml/' {*}
193
194 will generate as many SVG files as there are Newick trees in
195 many_trees.nw. The files will be named tree_01.svg, tree_02.svg, etc.
196
197 -S: suppress scale bar (ignored for cladograms)
198
199 -t: set the zero of the scale at the maximum depth instead of the root.
200 This is useful when the branch lengths are in time units: zero marks
201 the present, and the scale shows the age of the ancestral nodes.
202 -u <string>: string is used as unit name for scale bar (ignored
203 if no scale bar is drawn).
204 -U <URL_filename>: use specified URL map [only SVG]. A URL map
205 is a text file which specifies a URL for a label.
206 Each line has the following structure:
207 <label> <URL>
208 Clicking on a label will follow the link (if any).
209 -v <number>: number of pixels between leaves (default: 40) [only SVG
210 orthogonal]
211 -w <number>: graph should be no wider than <number>, measured in
212 characters for text and pixels for SVG. Defaults: 80 (text),
213 300 (SVG)
214 -W <number>: use this as an estimate of the width of a leaf label
215 character (in pixels) [only SVG]. This affects the space left for
216 the tree nodes. Default: 5.0 You will probably need this if you
217 change the leaf label font properties (option -l), especially size.
218 You will probably need trial and error to find the right value.
219
220 LibXML
221 ......
222
223 If LibXML is being used, the handling of ornaments (-o) is more elaborate.
224 See the tutorial, section 2.2 (displaying) for details.
225 This executable uses LibXML2.
226
227 Examples
228 --------
229
230 # display tree as ASCII::
231
232 $ nw_display data/catarrhini
233
234 # display tree as SVG, using a color map::
235
236 $ nw_display -s -c data/color.map data/catarrhini
237
238 # ditto, convert to other graphics formats::
239
240 $ nw_display -s -c data/color.map data/catarrhini > catarrhini.svg
241 $ convert catarrhini.svg catarrhini.png # PNG, with ImageMagick
242 $ convert catarrhini.svg catarrhini.jpeg # JPEG, with ImageMagick
243 $ inkscape -z -f catarrhini.svg -A catarrhini.pdf # PDF, with Inkscape
244
245 # the same; no branch lengths::
246
247 $ nw_display -s -b 'visibility:hidden' -c data/color.map data/catarrhini
248
249 # radial tree, leaf labels in italics::
250
251 $ nw_display -s -r -l 'font-style:italics' data/catarrhini
252
253 ]]>
254 </help>
255 <citations>
256 <citation type="doi">10.1186/1748-7188-3-7</citation>
257 </citations>
258 </tool>