As with DRAWGRAM, to run DRAWTREE 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 (or N if there is to be no previewing). The various options have been discussed in the drawing programs documentation file.
Once these choices have been made you will see the central menu of the program, which looks like this:
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 first option (1) is whether the tree will use the branch length
information. If a full set of branch lengths is not present in the tree file
this will be indicated, and you then cannot change this option. If branch
lengths are not used, all branches will be given equal lengths of 1.0.
The second (2) option shows the angle of the labels. Initially a Fixed
label angle of 0.0 degrees will be used. If you want to change the way the
labels are drawn, the program will offer you a choice between Fixed, Radial,
and Along as the ways the angles of the labels are to be determined. If you
choose Fixed (the default), you will be asked if you want labels to be at some
fixed angle, between 90.0 and -90.0 degrees, you can specify that. You may
have to try different angles to find one that keeps the labels from colliding:
I have not guarded against this. However there are additional options. The
other two systems for determining angles of labels are Radial (R) and Along
(A). Radial indicates that the labels are all aligned to as to point toward
the root node of the tree. Along aligns them to have the same angle as the
branch connected to that tip. This is particularly likely to keep the labels
from colliding, but it may give a misleading impression that the final branch
is long. Note that with the Radial option, if you do not like the point from
which the labels appear to radiate, you might try re-rooting the tree (option
7).
The third (3) option controls the rotation of the tree. This is initially
90.0 degrees. The angle is read out counterclockwise from the right side of
the tree, so that increasing this angle will rotate the tree counterclockwise,
and decreasing it will rotate it clockwise. The meaning of this angle is
explained further under option (4). As you rotate the tree, the appearance
(and size) may change, but the labels will not rotate if they are drawn at a
Fixed angle.
The fourth (4) option is the angle through which the tree is plotted.
This is by default 360.0 degrees. The tree is in the shape of an old-fashioned
hand fan. The tree fans out from its root node, each of the subtrees being
allocated part of this angle, a part proportional to how many tips the subtree
contains. If the rotation of the tree is (say) 90.0 degrees (the default under
option (3)), the fan starts at +270 degrees and runs clockwise around to -90
degrees (i.e., it starts at the bottom of the plot and runs clockwise around
until it returns to the bottom. Thus the center of the fan runs from the root
upwards (which is why we say it is rotated to 90.0 degrees). By changing
option (3) we can change the direction of the fan, and by changing option (4)
we can change the width of the fan without changing its center line. If you
want the tree to fan out in a semicircle, a value of a bit greater than 180
degrees would be appropriate, as the tree will not completely fill the fan.
The fifth option (5) is whether the tree angles will be iteratively
improved. This is a rather arbitrary process intended to adjust them to be
less overcrowded in some regions of the plot. It depends on a rather arbitrary
"enthusiasm constant" that you can adjust, reducing it if the tree angles are
changed so much by the iteration process that they tangle, or increasing it if
you see little result from the iterative improvement. If iterative improvement
is on (it is by default) then option (9) specifies the value of the enthusiasm
constant.
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 of 1.0 per branch. 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 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 the next 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 eighth option (8) is the character height, measured as a fraction of a
quantity which is the horizontal space available for the tree, divided by one
less than the number of tips. You need not worry about exactly what this is:
you can always change the value (which is initially 0.3333) to make the labels
larger or smaller. 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 ninth option (9), if iterative improvement is turned on as it is by
default, specifies the value of the "enthusiasm constant" for iterative
improvement, which we discussed above (see item 5). If iterative improvement
is not turned on, the ninth option is whether the angles will be "regularized".
Regularization is on by default. It takes the angles of the branches coming
out from each node, and changes them so that they are "rounded off". This
process (which I will not fully describe) will make the lines vertical if they
are close to vertical, horizontal if they are close to horizontal, 45 degrees
if they are close to that, and so on. It will lead to a tree in which angles
look very regular. You may or may not want that. If you are unhappy with the
appearance of the tree you could try rotating it slightly (option 3) as that
may cause some branches to change their angle by a large amount, by having the
angles be "rounded off" to a different value.
If the printer is a Laserwriter or other Postscript printer, the tenth
menu item (10) appears, and asks you for the name of the font to be used. The
default is the Hershey stroke font provided in the font file. You can also
specify any other font available to you on the Laserwriter. However I have
only been able to get Courier, Times-Roman, and Helvetica to work on mine. We
hope in the future to provide font choices for other printers as well, such as
Hewlett-Packard Laserjets, but at the moment we can only do it for Postscript
printers as the others cannot print text at an arbitrary angle.
I recommend that you try all of these options (particularly if you can
preview the trees). It is of particular use to try trees with and without
regularization (option number 5), plotted at different angles (option number 3)
and with fan sizes 360 degrees or less (option 4). You will find that wide
variety of effects can be achieved.
I would appreciate suggestions for improvements in DRAWTREE, but please be
aware that the source code is already very large and I may not be able to
implement all suggestions.
THE OPTIONS
Back to the main PHYLIP page
Back to the SEQNET home page