© Copyright 1986-2000 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.
Note: Move is an Old Style program. This means that it takes some of its options information, notably the Weights, Ancestral states, miXed methods and Factors options from the input file rather than from separate files of their own as the New Style programs in this version of PHYLIP do. |
MOVE is an interactive parsimony program, inspired by Wayne Maddison and David Maddison's marvellous program MacClade, which is written for Apple Macintosh computers. MOVE reads in a data set which is prepared in almost the same format as one for the mixed method parsimony program MIX. It allows the user to choose an initial tree, and displays this tree on the screen. The user can look at different characters and the way their states are distributed on that tree, given the most parsimonious reconstruction of state changes for that particular tree. The user then can specify how the tree is to be rearraranged, rerooted or written out to a file. By looking at different rearrangements of the tree the user can manually search for the most parsimonious tree, and can get a feel for how different characters are affected by changes in the tree topology.
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 MIX. The W (Weights), A (Ancestors), M (Mixed methods) 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 mixed parsimony algorithm, version 3.6 Settings for this run: X Use Mixed method? No P Parsimony method? Wagner A Use ancestral states in input file? No O Outgroup root? No, use as outgroup species 1 T Use Threshold parsimony? No, use ordinary parsimony U Initial tree (arbitrary, user, specify)? Arbitrary 0 Graphics type (IBM PC, ANSI, none)? ANSI W Width of terminal screen? 80 L Number of lines on screen? 24 Are these settings correct? (type Y or the letter for one to change) |
The O (Outgroup), 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 advanatage of larger screens if available. The X (Mixed method) option is described in the Discrete Characters Programs docmentation file. It requires information on the parsimony methods for different characters to be in the input file. 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. Its default name is intree. The program will ask you for its name if it looks for the input tree file and does not find one of this name. 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 1.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:
In the input file the W (Weights) option is available, as usual. The A (Ancestral states) and X (Mixed methods) also require the options to be declared on the first line of the input file and information to be present in the input file. If the Ancestral States option is invoked the A option must also be chosen from the menu. Note that the X option requires that the option M (Mixture) be declared and the mixture information provided in the input file. This is admittedly confusing. 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.
MOVE uses as its numerical criterion the Wagner and Camin-Sokal parsimony methods in mixture, where each character can have its method specified separately. The program defaults to carrying out Wagner parsimony.
The Camin-Sokal parsimony method explains the data by assuming that changes 0 --> 1 are allowed but not changes 1 --> 0. Wagner parsimony allows both kinds of changes. (This under the assumption that 0 is the ancestral state, though the program allows reassignment of the ancestral state, in which case we must reverse the state numbers 0 and 1 throughout this discussion). The criterion is to find the tree which requires the minimum number of changes. The Camin- Sokal method is due to Camin and Sokal (1965) and the Wagner method to Eck and Dayhoff (1966) and to Kluge and Farris (1969).
Here are the assumptions of these two methods:
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), but also read the exchange between Felsenstein and Sober (1986).
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.
5 6 Alpha 110110 Beta 110000 Gamma 100110 Delta 001001 Epsilon 001110 |