fdrawgram

 

Function

Plots a cladogram- or phenogram-like rooted tree diagram

Description

Plots rooted phylogenies, cladograms, circular trees and phenograms in a wide variety of user-controllable formats. The program is interactive and allows previewing of the tree on PC, Macintosh, or X Windows screens, or on Tektronix or Digital graphics terminals. Final output can be to a file formatted for one of the drawing programs, for a ray-tracing or VRML browser, or one at can be sent to a laser printer (such as Postscript or PCL-compatible printers), on graphics screens or terminals, on pen plotters or on dot matrix printers capable of graphics.

Similar to DRAWTREE but plots rooted phylogenies.

Algorithm

DRAWGRAM interactively plots a cladogram- or phenogram-like rooted tree diagram, with many options including orientation of tree and branches, style of tree, label sizes and angles, tree depth, margin sizes, stem lengths, and placement of nodes in the tree. Particularly if you can use your computer to preview the plot, you can very effectively adjust the details of the plotting to get just the kind of plot you want.

To understand the working of DRAWGRAM and DRAWTREE, you should first read the Tree Drawing Programs web page in this documentation.

As with DRAWTREE, to run DRAWGRAM you need a compiled copy of the program, a font file, and a tree file. The tree file has a default name of intree. The font file has a default name of "fontfile". If there is no file of that name, the program will ask you for the name of a font file (we provide ones that have the names font1 through font6). Once you decide on a favorite one of these, you could make a copy of it and call it fontfile, and it will then be used by default. Note that the program will get confused if the input tree file has the number of trees on the first line of the file, so that numbr may have to be removed.

Usage

Here is a sample session with fdrawgram


% fdrawgram -previewer n 
Plots a cladogram- or phenogram-like rooted tree diagram
Phylip tree file: drawgram.tree
Phylip drawgram output file [drawgram.fdrawgram]: 

DRAWGRAM from PHYLIP version 3.67
Reading tree ... 
Tree has been read.
Loading the font .... 
Font loaded.

Writing plot file ...

Plot written to file "drawgram.fdrawgram"

Done.


Go to the input files for this example
Go to the output files for this example

Command line arguments

   Standard (Mandatory) qualifiers:
  [-intreefile]        tree       Phylip tree file
  [-plotfile]          outfile    [*.fdrawgram] Phylip drawgram output file

   Additional (Optional) qualifiers (* if not always prompted):
   -[no]grows          boolean    [Y] Tree grows horizontally
   -style              menu       [c] Tree style output (Values: c (cladogram
                                  (v-shaped)); p (phenogram (branches are
                                  square)); v (curvogram (branches are 1/4 out
                                  of an ellipse)); e (eurogram (branches
                                  angle outward, then up)); s (swooporam
                                  (branches curve outward then reverse)); o
                                  (circular tree))
   -plotter            menu       [l] Plotter or printer the tree will be
                                  drawn on (Values: l (Postscript printer file
                                  format); m (PICT format (for drawing
                                  programs)); j (HP 75 DPI Laserjet PCL file
                                  format); s (HP 150 DPI Laserjet PCL file
                                  format); y (HP 300 DPI Laserjet PCL file
                                  format); w (MS-Windows Bitmap); f (FIG 2.0
                                  drawing program format); a (Idraw drawing
                                  program format); z (VRML Virtual Reality
                                  Markup Language file); n (PCX 640x350 file
                                  format (for drawing programs)); p (PCX
                                  800x600 file format (for drawing programs));
                                  q (PCX 1024x768 file format (for drawing
                                  programs)); k (TeKtronix 4010 graphics
                                  terminal); x (X Bitmap format); v (POVRAY 3D
                                  rendering program file); r (Rayshade 3D
                                  rendering program file); h (Hewlett-Packard
                                  pen plotter (HPGL file format)); d (DEC
                                  ReGIS graphics (VT240 terminal)); e (Epson
                                  MX-80 dot-matrix printer); c
                                  (Prowriter/Imagewriter dot-matrix printer);
                                  t (Toshiba 24-pin dot-matrix printer); o
                                  (Okidata dot-matrix printer); b (Houston
                                  Instruments plotter); u (other (one you have
                                  inserted code for)))
   -previewer          menu       [x] Previewing device (Values: n (Will not
                                  be previewed); I i (MSDOS graphics screen
                                  m:Macintosh screens); x (X Windows display);
                                  w (MS Windows display); k (TeKtronix 4010
                                  graphics terminal); d (DEC ReGIS graphics
                                  (VT240 terminal)); o (Other (one you have
                                  inserted code for)))
   -lengths            boolean    [N] Use branch lengths from user trees
*  -labelrotation      float      [90.0] Angle of labels (0 degrees is
                                  horizontal for a tree growing vertically)
                                  (Number from 0.000 to 360.000)
   -[no]rescaled       toggle     [Y] Automatically rescale branch lengths
*  -bscale             float      [1.0] Centimeters per unit branch length
                                  (Any numeric value)
   -treedepth          float      [0.53] Depth of tree as fraction of its
                                  breadth (Number from 0.100 to 100.000)
   -stemlength         float      [0.05] Stem length as fraction of tree depth
                                  (Number from 0.010 to 100.000)
   -nodespace          float      [0.3333] Character height as fraction of tip
                                  spacing (Number from 0.100 to 100.000)
   -nodeposition       menu       [c] Position of interior nodes (Values: i
                                  (Intermediate between their immediate
                                  descendants); w (Weighted average of tip
                                  positions); c (Centered among their ultimate
                                  descendants); n (Innermost of immediate
                                  descendants); v (So tree is v shaped))
*  -xmargin            float      [1.65] Horizontal margin (cm) (Number 0.100
                                  or more)
*  -ymargin            float      [2.16] Vertical margin (cm) (Number 0.100 or
                                  more)
*  -xmarginray         float      [1.65] Horizontal margin (pixels) (Number
                                  0.100 or more)
*  -ymarginray         float      [2.16] Vertical margin (pixels) (Number
                                  0.100 or more)
   -paperx             float      [20.63750] Paper width (Any numeric value)
   -papery             float      [26.98750] Paper height (Number 0.100 or
                                  more)
   -pagesheight        float      [1] Number of trees across height of page
                                  (Number 1.000 or more)
   -pageswidth         float      [1] Number of trees across width of page
                                  (Number 1.000 or more)
   -hpmargin           float      [0.41275] Horizontal overlap (cm) (Number
                                  0.001 or more)
   -vpmargin           float      [0.53975] Vertical overlap (cm) (Number
                                  0.001 or more)

   Advanced (Unprompted) qualifiers:
   -fontfile           string     [font2] Fontfile name (Any string is
                                  accepted)

   Associated qualifiers:

   "-plotfile" associated qualifiers
   -odirectory2        string     Output directory

   General qualifiers:
   -auto               boolean    Turn off prompts
   -stdout             boolean    Write first file to standard output
   -filter             boolean    Read first file from standard input, write
                                  first file to standard output
   -options            boolean    Prompt for standard and additional values
   -debug              boolean    Write debug output to program.dbg
   -verbose            boolean    Report some/full command line options
   -help               boolean    Report command line options. More
                                  information on associated and general
                                  qualifiers can be found with -help -verbose
   -warning            boolean    Report warnings
   -error              boolean    Report errors
   -fatal              boolean    Report fatal errors
   -die                boolean    Report dying program messages

Standard (Mandatory) qualifiers Allowed values Default
[-intreefile]
(Parameter 1)
Phylip tree file Phylogenetic tree  
[-plotfile]
(Parameter 2)
Phylip drawgram output file Output file <*>.fdrawgram
Additional (Optional) qualifiers Allowed values Default
-[no]grows Tree grows horizontally Boolean value Yes/No Yes
-style Tree style output
c (cladogram (v-shaped))
p (phenogram (branches are square))
v (curvogram (branches are 1/4 out of an ellipse))
e (eurogram (branches angle outward, then up))
s (swooporam (branches curve outward then reverse))
o (circular tree)
c
-plotter Plotter or printer the tree will be drawn on
l (Postscript printer file format)
m (PICT format (for drawing programs))
j (HP 75 DPI Laserjet PCL file format)
s (HP 150 DPI Laserjet PCL file format)
y (HP 300 DPI Laserjet PCL file format)
w (MS-Windows Bitmap)
f (FIG 2.0 drawing program format)
a (Idraw drawing program format)
z (VRML Virtual Reality Markup Language file)
n (PCX 640x350 file format (for drawing programs))
p (PCX 800x600 file format (for drawing programs))
q (PCX 1024x768 file format (for drawing programs))
k (TeKtronix 4010 graphics terminal)
x (X Bitmap format)
v (POVRAY 3D rendering program file)
r (Rayshade 3D rendering program file)
h (Hewlett-Packard pen plotter (HPGL file format))
d (DEC ReGIS graphics (VT240 terminal))
e (Epson MX-80 dot-matrix printer)
c (Prowriter/Imagewriter dot-matrix printer)
t (Toshiba 24-pin dot-matrix printer)
o (Okidata dot-matrix printer)
b (Houston Instruments plotter)
u (other (one you have inserted code for))
l
-previewer Previewing device
n (Will not be previewed)
I i (MSDOS graphics screen m:Macintosh screens)
x (X Windows display)
w (MS Windows display)
k (TeKtronix 4010 graphics terminal)
d (DEC ReGIS graphics (VT240 terminal))
o (Other (one you have inserted code for))
x
-lengths Use branch lengths from user trees Boolean value Yes/No No
-labelrotation Angle of labels (0 degrees is horizontal for a tree growing vertically) Number from 0.000 to 360.000 90.0
-[no]rescaled Automatically rescale branch lengths Toggle value Yes/No Yes
-bscale Centimeters per unit branch length Any numeric value 1.0
-treedepth Depth of tree as fraction of its breadth Number from 0.100 to 100.000 0.53
-stemlength Stem length as fraction of tree depth Number from 0.010 to 100.000 0.05
-nodespace Character height as fraction of tip spacing Number from 0.100 to 100.000 0.3333
-nodeposition Position of interior nodes
i (Intermediate between their immediate descendants)
w (Weighted average of tip positions)
c (Centered among their ultimate descendants)
n (Innermost of immediate descendants)
v (So tree is v shaped)
c
-xmargin Horizontal margin (cm) Number 0.100 or more 1.65
-ymargin Vertical margin (cm) Number 0.100 or more 2.16
-xmarginray Horizontal margin (pixels) Number 0.100 or more 1.65
-ymarginray Vertical margin (pixels) Number 0.100 or more 2.16
-paperx Paper width Any numeric value 20.63750
-papery Paper height Number 0.100 or more 26.98750
-pagesheight Number of trees across height of page Number 1.000 or more 1
-pageswidth Number of trees across width of page Number 1.000 or more 1
-hpmargin Horizontal overlap (cm) Number 0.001 or more 0.41275
-vpmargin Vertical overlap (cm) Number 0.001 or more 0.53975
Advanced (Unprompted) qualifiers Allowed values Default
-fontfile Fontfile name Any string is accepted font2

Input file format

fdrawgram reads ...

Input files for usage example

File: drawgram.tree

(Delta,(Epsilon,(Gamma,(Beta,Alpha))));

Output file format

fdrawgram output ...

Output files for usage example

File: drawgram.fdrawgram

%!PS-Adobe-2.0
%%Title: Phylip Tree Output
%%DocumentFonts: (atend)
%%Pages: 1 1
%%BoundingBox: 0 0 612 792
%%DocumentPaperSizes: Letter
%%Orientation: Portrait
%%EndComments
/l {newpath moveto lineto stroke} def
%%EndProlog
%%
%%Page: 1 1
%%PageBoundingBox: 0 0 585 765
%%PageFonts: (atend)
%%BeginPageSetup
%%PaperSize: Letter
 1 setlinecap 
 1 setlinejoin  
    7.44 setlinewidth newpath 
   46.80   382.50    60.54   382.50 l
   60.54   382.50    60.54   630.57 l
   60.54   630.57   321.67   630.57 l
   60.54   382.50    60.54   320.48 l
   60.54   320.48   125.83   320.48 l
  125.83   320.48   125.83   506.53 l
  125.83   506.53   321.67   506.53 l
  125.83   320.48   125.83   258.47 l
  125.83   258.47   191.11   258.47 l
  191.11   258.47   191.11   382.50 l
  191.11   382.50   321.67   382.50 l
  191.11   258.47   191.11   196.45 l
  191.11   196.45   256.39   196.45 l
  256.39   196.45   256.39   258.47 l
  256.39   258.47   321.67   258.47 l
  256.39   196.45   256.39   134.43 l
  256.39   134.43   321.67   134.43 l
 stroke    2.48 setlinewidth 
1 setlinecap 1 setlinejoin 
gsave
/Times-Roman findfont 62.454658 scalefont setfont
340.468551 609.897411 translate -0.000000 rotate
0 0 moveto
(Delta) show
grestore
gsave
/Times-Roman findfont 62.454658 scalefont setfont
343.934785 485.862460 translate -0.000000 rotate
0 0 moveto
(Epsilon) show
grestore
gsave
/Times-Roman findfont 62.454658 scalefont setfont
340.468551 361.827508 translate -0.000000 rotate
0 0 moveto
(Gamma) show
grestore
gsave
/Times-Roman findfont 62.454658 scalefont setfont
342.186054 237.792556 translate -0.000000 rotate
0 0 moveto
(Beta) show
grestore
gsave
/Times-Roman findfont 62.454658 scalefont setfont
340.468551 113.757605 translate -0.000000 rotate
0 0 moveto
(Alpha) show
grestore
stroke     7.44 setlinewidth 
 1 setlinecap 1 setlinejoin 
stroke showpage 

%%PageTrailer
%%PageFonts: Times-Roman
%%Trailer
%%DocumentFonts: Times-Roman

Data files

The font file has a default name of "fontfile". If there is no file of that name, the program will ask you for the name of a font file (we provide ones that have the names font1 through font6). Once you decide on a favorite one of these, you could make a copy of it and call it fontfile, and it will then be used by default.

Notes

None.

References

None.

Warnings

None.

Diagnostic Error Messages

None.

Exit status

It always exits with status 0.

Known bugs

None.

See also

Program name Description
fdrawtree Plots an unrooted tree diagram
fretree Interactive tree rearrangement

Author(s)

This program is an EMBOSS conversion of a program written by Joe Felsenstein as part of his PHYLIP package.

Although we take every care to ensure that the results of the EMBOSS version are identical to those from the original package, we recommend that you check your inputs give the same results in both versions before publication.

Please report all bugs in the EMBOSS version to the EMBOSS bug team, not to the original author.

History

Written (2004) - Joe Felsenstein, University of Washington.

Converted (August 2004) to an EMBASSY program by the EMBOSS team.

Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.