| fdrawtree

## Function

Plots an unrooted tree diagram

## Description

Plots unrooted 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 DRAWGRAM but plots unrooted phylogenies.

## Algorithm

DRAWTREE interactively plots an unrooted tree diagram, with many options including orientation of tree and branches, label sizes and angles, margin sizes. Particularly if you can use your computer screen 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 DRAWGRAM, to run DRAWTREE 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 number may have to be removed.

## Usage

Here is a sample session with fdrawtree

    % fdrawtree
    Plots an unrooted tree diagram
    Phylip tree file: drawgram.tree
    Phylip drawtree output file [drawgram.fdrawtree]:

    DRAWTREE from PHYLIP version 3.6b
    Reading tree ...
    Tree has been read.
    Loading the font ...
    Font loaded.

    Writing plot file ...

    Plot written to file "drawgram.fdrawtree"

    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    [*.fdrawtree] Phylip drawtree output file

       Additional (Optional) qualifiers (* if not always prompted):
       -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 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); p (PCX 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)))
    *  -plotterpcl         menu       [1] Laserjet resolution (Values: 1 (75 DPI);
                                      2 (150 DPI); 3 (300 DPI))
    *  -plotterpcx         menu       [1] PCX file resolution (Values: 1 (EGA 640
                                      X 350); 2 (VGA 800 X 600); 3 (VGA 1024 X
                                      768))
       -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)))
       -iterate            menu       [e] Iterate to improve tree (Values: n (No);
                                      e (Equal-Daylight algorithm); b (n-Body
                                      algorithm))
       -lengths            boolean    [N] Use branch lengths from user trees
       -labeldirection     menu       [m] Label direction (Values: a (along); f
                                      (fixed); r (radial); m (middle))
       -treeangle          float      [90.0] Angle the tree is to be plotted
                                      (Number from -360.000 to 360.000)
       -arc                float      [360] Degrees the arc should occupy (Number
                                      from 0.000 to 360.000)
    *  -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)
    *  -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     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 standard output
       -filter             boolean    Read standard input, write 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 drawtree output file | Output file | <*>.fdrawtree
Additional (Optional) qualifiers | Allowed values | Default

-plotter

Plotter or printer the tree will be drawn on

l | (Postscript printer file format)
m | (PICT format (for drawing programs))
j | (HP 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)
p | (PCX 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

-plotterpcl

Laserjet resolution

1 | (75 DPI)
2 | (150 DPI)
3 | (300 DPI)

1

-plotterpcx

PCX file resolution

1 | (EGA 640 X 350)
2 | (VGA 800 X 600)
3 | (VGA 1024 X 768)

1

-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

-iterate

Iterate to improve tree

n | (No)
e | (Equal-Daylight algorithm)
b | (n-Body algorithm)

e

-lengths | Use branch lengths from user trees | Boolean value Yes/No | No

-labeldirection

Label direction

a | (along)
f | (fixed)
r | (radial)
m | (middle)

m

-treeangle | Angle the tree is to be plotted | Number from -360.000 to 360.000 | 90.0
-arc | Degrees the arc should occupy | Number from 0.000 to 360.000 | 360
-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
-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 | An empty string is accepted

## Input file format

fdrawtree input ...

### Input files for usage example

### File: drawgram.tree

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

## Output file format

fdrawtree outputs ...

### Output files for usage example

### File: drawgram.fdrawtree

    %!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
        4.25 setlinewidth newpath
    %!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
        4.72 setlinewidth newpath
      193.10   333.75   147.15   270.50 l
      193.10   333.75   239.05   396.99 l
      239.05   396.99   179.40   447.52 l
      239.05   396.99   315.51   413.26 l
      315.51   413.26   330.54   489.97 l
      315.51   413.26   377.62   365.78 l
      377.62   365.78   450.44   394.22 l
      377.62   365.78   406.77   293.25 l
     stroke    1.57 setlinewidth
    1 setlinecap 1 setlinejoin
    gsave
    /Times-Roman findfont 39.641216 scalefont setfont
    104.222223 231.138753 translate 0.000000 rotate
    0 0 moveto
    (Delta) show
    grestore
    gsave
    /Times-Roman findfont 39.641216 scalefont setfont
    118.832100 460.640405 translate 0.000000 rotate
    0 0 moveto
    (Epsilon) show
    grestore
    gsave
    /Times-Roman findfont 39.641216 scalefont setfont
    267.784752 503.095985 translate 0.000000 rotate
    0 0 moveto
    (Gamma) show
    grestore
    gsave
    /Times-Roman findfont 39.641216 scalefont setfont
    463.561935 400.403476 translate 0.000000 rotate
    0 0 moveto
    (Beta) show
    grestore
    gsave
    /Times-Roman findfont 39.641216 scalefont setfont
    358.330872 253.884183 translate 0.000000 rotate
    0 0 moveto
    (Alpha) show
    grestore
    stroke     4.72 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
--- | ---
fdrawgram | Plots a cladogram- or phenogram-like rooted 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.