This program is compatible with fewer computer systems than the other programs in PHYLIP. It can be adapted to PCDOS systems or to any system whose screen or terminals emulate DEC VT52 or VT100 terminals (such as, for example, Zenith Z19, Z29, and Z49 terminals Telnet programs for logging in to remote computers over a TCP/IP network, VT100-compatible windows in the X windowing system, and any terminal compatible with ANSI standard terminals). For any other screen types, there is a generic option which does not make use of screen graphics characters to display the character states. This will be less effective, as the states will be less easy to see when displayed.
The input data file is set up almost identically to the data files for DOLLOP. The sole exception is that the user trees are not contained in the input file, but in the tree file, which is used both for input of the starting tree (if desired) and for output of the final tree. Note that this means that the user tree supplied on input will possibly be overwritten. The W (Weights), A (Ancestors), and F (Factors) are possible options specified in the input file (some must also be chosen in the menu).
The user interaction starts with the program presenting a menu. The menu looks like this:
Interactive Dollo or polymorphism parsimony, version 3.5c Settings for this run: P Parsimony method? Dollo T Use Threshold parsimony? No, use ordinary parsimony A Use ancestral states in input file? No U Initial tree (arbitrary, user, specify)? Arbitrary 0 Graphics type (IBM PC, VT52, ANSI)? ANSI L Number of lines on screen? 24 Are these settings correct? (type Y or the letter for one to change)The P (Parsimony Method) option is the one that toggles between polymorphism parsimony and Dollo parsimony. The program defaults to Dollo parsimony.
The T (Threshold) and 0 (Graphics type) options are the usual ones and are described in the main documentation file. The L option allows the program to take advantage of larger screens if available. The X (Mixed Methods option is not available in DOLMOVE. The U (initial tree) option allows the user to choose whether the initial tree is to be arbitrary, interactively specified by the user, or read from a tree file. Typing U causes the program to change among the three possibilities in turn. I would recommend that for a first run, you allow the tree to be set up arbitrarily (the default), as the "specify" choice is difficult to use and the "user tree" choice requires that you have available a tree file with the tree topology of the initial tree. If you wish to set up some particular tree you can also do that by the rearrangement commands specified below. The T (threshold) option allows a continuum of methods between parsimony and compatibility. Thresholds less than or equal to 0 do not have any meaning and should not be used: they will result in a tree dependent only on the input order of species and not at all on the data!
After the initial menu is displayed and the choices are made, the program then sets up an initial tree and displays it. Below it will be a one-line menu of possible commands, which looks like this:
NEXT? (Options: R # + - S . T U W O F C H ? X Q) (H or ? for Help)If you type H or ? you will get a single screen showing a description of each of these commands in a few words. Here are slightly more detailed descriptions:
If the A option is used, then the program will infer, for any character
whose ancestral state is unknown ("?") whether the ancestral state 0 or 1 will
give the fewest changes (according to the criterion in use). If these are
tied, then it may not be possible for the program to infer the state in the
internal nodes, and many of these will be shown as "?". If the A option is not
used, then the program will assume 0 as the ancestral state.
When reconstructing the placement of forward changes and reversions under
the Dollo method, keep in mind that each polymorphic state in the input data
will require one "last minute" reversion. This is included in the counts.
Thus if we have both states 0 and 1 at a tip of the tree the program will
assume that the lineage had state 1 up to the last minute, and then state 0
arose in that population by reversion, without loss of state 1.
When DOLMOVE calculates the number of characters compatible with the tree,
it will take the F option into account and count the multistate characters as
units, counting a character as compatible with the tree only when all of the
binary characters corresponding to it are compatible with the tree.
In the input file the W (Weights) option is available, as usual. It and
the A (Ancestral states) and F (Factors) options require the option to be
declared on the first line of the input file and other information to be
present in the input file. If the Ancestral States option is used the A option
must also be chosen in the menu. The F (Factors) option is available in this
program. It is used to inform the program which groups of characters are to be
counted together in computing the number of characters compatible with the
tree. Thus if three binary characters are all factors of the same multistate
character, the multistate character will be counted as compatible with the tree
only if all three factors are compatible with it.
As we have seen, the initial menu of the program allows you to choose
among four screen types (PCDOS, Ansi, VT52 and none). If you want to avoid
having to make this choice every time, you can change some of the constants at
the beginning of the program to have it initialize itself in the proper way,
and recompile it. Among the constants at the beginning of the program you will
find three that determine which kind of screen graphics the program will use.
These constants are "ibmpc0", "vt520", and "ansi0". In the distribution
version of the programs, "ansi0" is set to true and the others to false, so
that the version will work with ANSI compatible terminals.
On the other hand if you have a terminal compatible with DEC's VT52, but
not with the ANSI terminal, you should change the constant "ansi0" to false and
"vt520" to true. If you have instead a terminal which is compatible with IBM
PC graphics, you should set the constant "ibmpc0" to true and the others to
false. If your terminal is compatible with none of these, you will have to
set the constants all false, in which case special graphics characters will not
be used to indicate character states, but only "*" for 1, "=" for 0, and "."
for ? states. This is less easy to look at.
The program should work successfully on DEC VAX systems under either the
VMS or the Unix operating systems without any other changes.
DOLMOVE uses as its numerical criterion the Dollo and polymorphism
parsimony methods. The program defaults to carrying out Dollo parsimony.
The Dollo parsimony method was first suggested in print in verbal form by
Farris (1977). The method is
named after Louis Dollo since he was one of the first to assert that in
evolution it is harder to gain a complex feature than to lose it. The
algorithm explains the presence of the state 1 by allowing up to one forward
change 0-->1 and as many reversions 1-->0 as are necessary to explain the
pattern of states seen. The program attempts to minimize the number of 1-->0
reversions necessary.
The assumptions of this method are in effect:
The assumptions of the polymorphism parsimony method are in effect:
At the beginning of the program are a series of constants, which can be
changed to help adapt the program to different computer systems. "nmlngth" is
the length of the species names. "screenlines" specifies the number of lines
per screen, which you will normally want to leave at its default value of 24.
I have already described the constants "ibmpc0", "vt520", and "ansi0" for
specifying the terminal type.
Below is a test data set, but we cannot show the output it generates
because of the interactive nature of the program.
OUTPUT
ADAPTING THE PROGRAM TO YOUR COMPUTER AND TO YOUR TERMINAL
MORE ABOUT THE PARSIMONY CRITERION
One problem can arise when using additive binary recoding to represent a
multistate character as a series of two-state characters. Unlike the Camin-
Sokal, Wagner, and Polymorphism methods, the Dollo method can reconstruct
ancestral states which do not exist. An example is given in
Inger (1967). The
method was published by
1979). The method assumes
that we can explain the pattern of states by no more than one origination (0--
>1) of state 1, followed by retention of polymorphism along as many segments of
the tree as are necessary, followed by loss of state 0 or of state 1 where
necessary. The program tries to minimize the total number of polymorphic
characters, where each polymorphism is counted once for each segment of the
tree in which it is retained.
That these are the assumptions of parsimony methods has been documented in a
series of papers of mine: (
1973a,
1978b,
1979,
1981b,
1983b,
1988b). For an
opposing view arguing that the parsimony methods make no substantive
assumptions such as these, see the papers by
Farris (1983) and
Sober (1983a,
1983b, 1988), but also read the exchange between
Felsenstein and Sober (1986).
TEST DATA SET
5 6
Alpha 110110
Beta 110000
Gamma 100110
Delta 001001
Epsilon 001110
Back to the main PHYLIP page
Back to the SEQNET home page
Maintained 15 Jul 1996 -- by Martin Hilbers(e-mail:M.P.Hilbers@dl.ac.uk)