version 3.5c

DRAWGRAM
(c) Copyright  1990-1993  by  Joseph  Felsenstein  and  by  the  University  of
Washington.  Written by Joseph Felsenstein.  Permission is granted to copy this
document provided that no fee is charged for it and that this copyright  notice
is not removed.

     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 or
terminal screen to preview the  plot,  you  can  very  effectively  adjust  the
details of the plotting to get just the kind of plot you want.

     As with DRAWTREE, to run DRAWGRAM you need a compiled copy of the program,
a  font  file,  and  a tree file.  On running the program, you will be asked to
choose the plotter type for the final output.  Then you will be asked to choose
the  graphics  screen  type  for the previewing.  The various options have been
discussed in the document file common to both these programs.

     Once these choices have been made you will see the  central  menu  of  the
program, which looks like this:


Here are the settings:

 (1)               Tree grows:  Vertically
 (2)            Style of tree:  Cladogram
 (3)       Use branch lengths:  Yes
 (4)          Angle of labels:  45.0
 (5)       Horizontal margins:  1.73 cm
 (5)         Vertical margins:  2.24 cm
 (6)   Scale of branch length:  Automatically rescaled
 (7)    Depth/Breadth of tree:  0.53
 (8)   Stem-length/tree-depth:  0.05
 (9) Character ht / tip space:  0.3333
(10)          Ancestral nodes:  Intermediate
(11)                     Font:  Hershey

 Do you want to accept these? (Yes or No)
 Type Y or N or the number (1-10) of the one to change:

These are the settings that control the  appearance  of  the  tree,  which  has
already  been  read  in.   You can either accept these as is, in which case you
would answer Y to the question and press the Return or Enter key,  or  you  can
answer  N  if you want to change one, or simply type the digit corresponding to
the one you want to change (if you answer N it will just  immediately  ask  you
for that number anyway).

     For a first run, particularly if previewing is available, you might accept
these default values and see what the result looks like.  The program will then
tell you it is about to preview the tree and ask you to press Return  or  Enter
when  you  are  ready  to  see this (you will probably have to press it twice).
When you are through looking at the previewed tree on your  screen,  you  press
Return  or Enter again.  The program will then ask you if the tree is now ready
to be plotted.  If you answer Y (for Yes) the program will usually write a plot
file  (with  some  plot  options it will draw the tree on the screen).  Then it
will terminate.



     But if you answer N (for No) it will go back to the above menu, allow  you
to  change  more  options, and go through the whole process again.  The easiest
way to learn the meaning of  the  options  is  to  try  them,  particularly  if
previewing is available.  Below I will describe them one by one; you may prefer
to skip reading this unless you are puzzled about one of them.


                                  THE OPTIONS

     The first option (1) is whether the tree grows horizontally or vertically.
The  horizontal  growth  will  be  from  left  to  right.  This  option is self
explanatory.  The other options are  designed  so  that  when  we  switch  this
direction  of  growth the tree still looks the same, except for orientation and
overall size.  This  option  is  toggled,  that  is,  when  it  is  chosen  the
orientation changes, going back and forth between Vertical and Horizontal.

     The second (2) option shows the style of the tree.  There are five  styles
possible:  Cladogram,  Phenogram, Curvogram, Eurogram and Swoopogram, and these
are chosen by the letters C, P, V, E and S.  These take  a  little  explaining,
and  this  is  made  more difficult by the fact that we cannot show examples in
this documentation file!

     In spite of the words "cladogram" and "phenogram", there is no implication
of  the  extent  to  which  you consider these diagrams as being genealogies or
phenetic clustering diagrams.  The names refer to pictorial style, not your own
intended  final  use  for  the  diagram.   The  five styles can be described as
follows (assuming a vertically growing tree):

Cladogram -- nodes are connected to other nodes and to tips by  straight  lines
  going directly from one to the other.  This gives a V-shaped appearance.  The
  default settings if there are no branch lengths are designed to  yield  a  V-
  shaped tree with a 90-degree angle at the base.
Phenogram -- nodes are connected  to  other  nodes  and  to  other  tips  by  a
  horizontal  and then a vertical line.  This gives a particularly precise idea
  of horizontal levels.
Curvogram -- nodes are connected to other nodes and to tips by a curve which is
  one  fourth of an ellipse, starting out horizontally and then curving upwards
  to become vertical.  This pattern was suggested by Joan Rudd.
Eurogram -- so-called because it is a version of cladogram diagram  popular  in
  Europe.   Nodes  are  connected to other nodes and to tips by a diagonal line
  that goes outwards and goes at most one-third of the way up to the next node,
  then  turns  sharply  straight  upwards and is vertical.  Unfortunately it is
  nearly impossible to guarantee, when branch lengths are used, that the angles
  of divergence of lines are the same.
Swoopogram -- this option connects two nodes or a node  and  a  tip  using  two
  curves  that  are  actually  each  one-quarter of an ellipse.  The first part
  starts out vertical and then bends over to  become  horizontal.   The  second
  part,  which  is  at least two-thirds of the total, starts out horizontal and
  then bends up to become vertical.  The effect  is  that  two  lineages  split
  apart gradually, then more rapidly, then both turn upwards.

You should experiment with these and decide which you want -- it  depends  very
much on the effect you want.

     The third option (3) tells whether the tree has branch  lengths  that  are
being  used  in  the  diagram.   If the tree that was read in had a full set of
branch lengths, it will be assumed as a default that you want to  use  them  in
the  diagram,  but  you  can specify that they are not to be used.  If the tree
does not have a full set of branch lengths then this will be indicated, and  if
you  try  to  use branch lengths the program will refuse to allow you to do so.
Note that when you change (3) the node position option (10) may change as well.



     The fourth option (4) is the angle of the labels.   The  angle  is  always
calculated  relative  to  a  vertical  tree;  whether the tree is horizontal or
vertical, if the labels are at an angle of 90  degrees  they  run  parallel  to
direction  of tree growth.  The default value is 45 degrees.  The option allows
you to choose any angle from 0 to 90 degrees.

     The fifth option (5) specifies the  horizontal  and  vertical  margins  in
centimeters.   You  can  enter  new margins (you must enter new values for both
horizontal and vertical margins, though these need not be  different  from  the
old  values.   For  the  moment  I  do  not allow you to specify left and right
margins separately, or top and bottom margins separately.  In a future  release
I  hope  to  do so, so that you can plot several trees on one plot, or plot one
tree across several pieces of paper.

     The sixth option (6) specifies how the branch lengths will  be  translated
into  distances  on  the output device.  Note that when branch lengths have not
been provided, there are implicit branch lengths specified by the type of  tree
being  drawn.   This  option  will  toggle  back  and  forth  between automatic
adjustment of branch lengths so  that  the  diagram  will  just  fit  into  the
margins,  and you specifying how many centimeters there will be per unit branch
length.  This is included so that you can plot  different  trees  to  a  common
scale,  showing  which  ones have longer or shorter branches than others.  Note
that if you choose too large a value for centimeters per  unit  branch  length,
the tree will be so big it will overrun the plotting area and may cause failure
of the diagram to display properly.  Too small a value will cause the  tree  to
be a nearly invisible dot.

     The seventh option (7) specifies the  ratio  between  the  depth  and  the
breadth  of  the tree.  It is initially set near 0.5, to approximate a V-shaped
tree, but you may want to try a larger value to get a longer and narrower tree.
Depth  and  breadth are described as if the tree grew vertically, so that depth
is always measured from the root to the tips (not including the labels).

     The eighth option (8) specifies the length of the stem of the  tree  as  a
fraction of the depth of the tree.  You may want to either lengthen the stem or
remove it entirely by giving a value of zero.

     The ninth option (9) is the character height, measured as  a  fraction  of
horizontal  tip  spacing.   If  the  labels are rotated to a shallow angle, the
character height will be automatically adjusted in hopes of avoiding  collision
of  labels at different tips.  This option allows you to change the size of the
labels yourself.  On output devices where line thicknesses can be  varied,  the
thickness  of  the tree lines will automatically be adjusted to be proportional
to the character height, which is an additional reason you may want  to  change
character height.

     The tenth option (10) is one of the most  interesting.   It  controls  the
horizontal  positions of the nodes and can greatly affect the appearance of the
tree.  The vertical positions (these descriptions here are for a  tree  growing
vertically) are not under your control except insofar as you specify the use or
non-use of branch lengths.  If you choose to change this option  you  will  see
the menu:












Should interior node positions:
 be Intermediate between their immediate descendants
    Weighted average of tip positions
    Centered among their ultimate descendants
    iNnermost of immediate descendants
 or so that tree is V-shaped
 (type I, W, C, N or V):

     The five methods (Intermediate,  Weighted,  Centered,  Innermost,  and  V-
shaped)  are  different horizontal positionings of the interior nodes.  It will
be helpful to you to try these out and see which you like  best.   Intermediate
places  the  node  halfway  between  its  immediate descendants (horizontally),
Weighted places it closer to that descendant who is closer vertically as  well,
and  Centered  centers the node below the horizontal positions of the tips that
are descended from that node.  You may want to choose that option that prevents
lines from crossing each other.

     V-shaped is another option, one designed, if there are no  branch  lengths
being  used,  to  yield  a  v-shaped  tree  of regular appearance.  With branch
lengths it will not necessarily  do  so.    "Innermost"  is  the  most  unusual
option:  it  chooses  a  center  for the tree, and always places interior nodes
below the innermost of their immediate descendants.  This leads to a tree  that
has vertical lines in the center, like a tree with a trunk.

     If the tree you are plotting has a full set of lengths, then  when  it  is
read  in the node position option is automatically set to "intermediate", which
is the setting with the least likelihood of lines in the tree crossing.  If  it
does  not  have  lengths the option is set to "V-shaped".  If you change option
(3), which tells the program whether to try to use the branch lengths, then the
node  position  option  will  automatically  be reset to the appropriate one of
these defaults.  This may be confusing  if  you  do  not  realise  that  it  is
happening.

     The final  option  (11)  is  available  only  if  you  have  selected  the
Laserwriter  as  your final output device.  It allows you to select the name of
the font that you will use for the species names.  You can select the  name  of
any  font  that  is  available  in  your printer, for example "Courier-Bold" or
"Helvetica".  The label will then be printed using that font rather than  being
drawn line-by-line as it is in the default Hershey font.  In the preview of the
tree, the Hershey font is always used (which means that it may  look  different
from  the  final  font).   The  size  of the characters in the species names is
scaled according to the label heights you have selected in  the  menu,  whether
Postscript fonts or the Hershey font is used.

     I recommend that you try all of these options  (particularly  if  you  can
preview  the  trees).  It is of particular use to try combinations of the style
of tree (option number 2) with the different methods of placing interior  nodes
(option  number  10).   You  will  find  that  wide  variety  of effects can be
achieved.

     I would appreciate suggestions for improvements in DRAWGRAM, but please be
aware  that  the  source  code  is  already very large and I may not be able to
implement all suggestions.