source: branches/profile/GDE/PHYLIP/doc/move.html

Last change on this file was 2176, checked in by westram, 20 years ago

* empty log message *

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 15.5 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2<HTML>
3<HEAD>
4<TITLE>move</TITLE>
5<META NAME="description" CONTENT="move">
6<META NAME="keywords" CONTENT="move">
7<META NAME="resource-type" CONTENT="document">
8<META NAME="distribution" CONTENT="global">
9<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
10</HEAD>
11<BODY BGCOLOR="#ccffff">
12<DIV ALIGN=RIGHT>
13version 3.6
14</DIV>
15<P>
16<DIV ALIGN=CENTER>
17<H1>MOVE - Interactive mixed method parsimony</H1>
18</DIV>
19<P>
20&#169; Copyright 1986-2002 by the University of
21Washington.  Written by Joseph Felsenstein.  Permission is granted to copy
22this document provided that no fee is charged for it and that this copyright
23notice is not removed.
24<P>
25MOVE is an interactive parsimony program, inspired by Wayne Maddison and
26David Maddison's marvellous program MacClade, which is written for Apple
27Macintosh computers.  MOVE reads in a data set which is prepared in almost the
28same format as one for the mixed method parsimony program MIX.  It allows
29the user to choose an initial tree, and displays this tree on the screen.  The
30user can look at different characters and the way their states are
31distributed on that tree, given the most parsimonious reconstruction of state
32changes for that particular tree.  The user then can specify how the tree is to
33be rearraranged, rerooted or written out to a file.  By looking at different
34rearrangements of the tree the user can manually search for the most
35parsimonious tree, and can get a feel for how different characters are affected by changes in the tree topology.
36<P>
37This program is compatible with fewer computer systems than the other
38programs in PHYLIP.  It can be adapted to PCDOS systems or to
39any system whose screen or terminals emulate DEC VT100
40terminals (such as Telnet programs for logging in to remote computers over a
41TCP/IP network,
42VT100-compatible windows in the X windowing system, and any
43terminal compatible with ANSI standard terminals).
44For any other screen types, there is a generic option which does
45not make use of screen graphics characters to display the character
46states.  This will be less effective, as the states will be less
47easy to see when displayed.
48<P>
49The input data file is set up almost identically to the data files for
50MIX.
51<P>
52The user interaction starts with the program presenting a menu.  The
53menu looks like this:
54<P>
55<TABLE><TR><TD BGCOLOR=white>
56<PRE>
57
58Interactive mixed parsimony algorithm, version 3.6a3
59
60Settings for this run:
61  X                         Use Mixed method?  No
62  P                         Parsimony method?  Wagner
63  A                     Use ancestral states?  No
64  F                  Use factors information?  No
65  O                            Outgroup root?  No, use as outgroup species   1
66  W                           Sites weighted?  No
67  T                  Use Threshold parsimony?  No, use ordinary parsimony
68  U  Initial tree (arbitrary, user, specify)?  Arbitrary
69  0       Graphics type (IBM PC, ANSI, none)?  (none)
70  S                 Width of terminal screen?  80
71  L                Number of lines on screen?  24
72
73Are these settings correct? (type Y or the letter for one to change)
74</PRE>
75</TD></TR></TABLE>
76<P>
77The P (Parsimony method) option selects among Wagner parsimony
78and Camin-Sokal parsimony.  If X (miXed methods) is selected the
79P menu item disappears, as it is then irrelevant.
80<P>
81The X (miXed methods), A (Ancestors), F (Factors),
82O (Outgroup), T (Threshold), and 0 (Graphics type) options are the usual
83ones and are described in the main documentation page and in the
84discrete characters program documentation page.  The L option allows
85the program to take advantage of larger screens if available.
86The U (initial tree) option allows the user to choose whether
87the initial tree is to be arbitrary, interactively specified by the user, or
88read from a tree file.  Typing U causes the program to change among the
89three possibilities in turn.  I
90would recommend that for a first run, you allow the tree to be set up
91arbitrarily (the default), as the "specify" choice is difficult
92to use and the "user tree" choice requires that you have available a tree file
93with the tree topology of the initial tree.
94Its default name is <TT>intree</TT>.  The program will ask you for its name if
95it looks for the input tree file and does not find one of this name.
96If you wish to set up some
97particular tree you can also do that by the rearrangement commands specified
98below.  The T (threshold) option allows a continuum of methods between
99parsimony and compatibility.  Thresholds less than or equal to 1.0 do not
100have any
101meaning and should not be used: they will result in a tree dependent only on
102the input order of species and not at all on the data!
103Note that the usual W (Weights) option is not available in MOVE.  We
104hope to add it soon.
105The F (Factors)
106option is available in this program.  It is only used to inform the program
107which
108groups of characters are to be counted together in computing the number of
109characters compatible with the tree.  Thus if three binary characters are all
110factors of the same multistate character, the multistate character will
111be counted as compatible with the tree only if all three factors are compatible
112with it.
113<P>
114After the initial menu is displayed and the choices are made,
115the program then sets up an initial tree and displays it.  Below it will be a
116one-line menu of possible commands, which looks like this:
117<P>
118<PRE>
119NEXT? (Options: R # + - S . T U W O F C H ? X Q) (H or ? for Help)
120</PRE>
121<P>
122If you type H or ? you will get a single screen showing a description of each
123of these commands in a few words.  Here are slightly more detailed
124descriptions:
125<P>
126<DL>
127<DT>R</DT>    ("Rearrange").  This command asks for the number of a node which is to be
128removed from the tree.  It and everything to the right of it on the tree is to
129be removed (by breaking the branch immediately below it).  The command also
130asks for the number of a node below which that group is to be inserted.  If an
131impossible number is given, the program refuses to carry out the rearrangement
132and asks for a new command.  The rearranged tree is displayed: it will often
133have a different number of steps than the original.  If you wish to undo a
134rearrangement, use the Undo command, for which see below.</DD>
135<P>
136<DT>#</DT> <DD>This command, and the +, - and S commands described below, determine
137which character has its states displayed on the branches of
138the trees.  The initial tree displayed by the program does not show
139states of sites.  When # is typed, the program does not ask the user which
140character is to be shown but automatically shows the states of the next
141binary character that is not compatible with the tree (the next character that
142does not
143perfectly fit the current tree).  The search for this character "wraps around"
144so that if it reaches the last character without finding one that is not
145compatible with the tree, the search continues at the first character; if no
146incompatible character is found the current character is shown, and if no
147current
148character is shown then the first character is shown.  The display takes
149the form of
150different symbols or textures on the branches of the tree.  The state of each
151branch is actually the state of the node above it.  A key of the symbols or
152shadings used for states 0, 1 and ? are shown next to the tree.  State ? means
153that either state 0 or state 1 could exist at that point on the tree, and that
154the user may want to consider the different possibilities, which are usually
155apparent by inspection. </DD>
156<P>
157<DT>+</DT> <DD>This command is the same as # except that it goes forward one character,
158showing the states of the next character.  If no character has been shown,
159using + will
160cause the first character to be shown.  Once the last character has been
161reached, using + again will show the first character.</DD>
162<P>
163<DT>-</DT> <DD>This command is the same as + except that it goes backwards, showing the
164states of the previous character.  If no character has been shown, using - will
165cause the last character to be shown.  Once character number 1 has been
166reached, using - again will show the last character.</DD>
167<P>
168<DT>S</DT> <DD>("Show").  This command is the same as + and - except that it causes
169the program to ask you for the number of a character.  That character is
170the one whose states will be displayed.  If you give the character number as 0,
171the program will go back to not showing the states of the characters.</DD>
172<P>
173<DT>. (dot)</DT> <DD>This command simply causes the current tree to be redisplayed.  It is of
174use when the tree has partly disappeared off of the top of the screen owing to
175too many responses to commands being printed out at the bottom of the screen.</DD>
176<P>
177<DT>T</DT> <DD>("Try rearrangements").  This command asks for the name of a node.  The
178part of the tree at and above that node is removed from the tree.  The program
179tries to re-insert it in each possible location on the tree (this may take some
180time, and the program reminds you to wait).  Then it prints out a summary.  For
181each possible location the program prints out the number of the node to the
182right of the
183place of insertion and the number of steps required in each case.  These are
184divided into those that are better, tied, or worse than the current tree.  Once
185this summary is printed out, the group that was removed is inserted into its
186original position.  It is up to you to use the R command to actually carry out
187any the arrangements that have been tried.</DD>
188<P>
189<DT>U</DT> <DD>("Undo").  This command reverses the effect of the most recent
190rearrangement, outgroup re-rooting, or flipping of branches.  It returns to the
191previous tree topology.  It will be of great use when rearranging the tree and
192when a rearrangement proves worse than the preceding one -- it permits you to
193abandon the new one and return to the previous one without remembering its
194topology in detail.</DD>
195<P>
196<DT>W</DT> <DD>("Write").  This command writes out the current tree onto a tree output
197file.  If the file already has been written to by this run of MOVE, it will
198ask you whether you want to replace the contents of the file, add the tree to
199the end of the file, or not write out the tree to the file.  The tree
200is written in the standard format used by PHYLIP (a subset of the
201Newick standard).  It is in the proper format to serve as the
202User-Defined Tree for setting up the initial tree in a subsequent run of the
203program.  Note that if you provided the initial tree topology in a tree file
204and replace its contents, that initial tree will be lost.</DD>
205<P>
206<DT>O</DT> <DD>("Outgroup").  This asks for the number of a node which is to be the
207outgroup.  The tree will be redisplayed with that node
208as the left descendant of the bottom fork.  Under some options (for example the
209Camin-Sokal parsimony method or the Ancestor state options), the number of
210steps required on the tree may change on re-rooting.  Note that it is possible to
211use this to make a multi-species group the outgroup (i.e., you can give the
212number of an interior node of the tree as the outgroup, and the program will
213re-root the tree properly with that on the left of the bottom fork).</DD>
214<P>
215<DT>F</DT> <DD>("Flip").  This asks for a node number and then flips the two branches at
216that node, so that the left-right order of branches at that node is
217changed.  This does not actually change the tree topology (or the number of
218steps on that tree) but it does change the appearance of the tree.</DD>
219.br
220<DT>C</DT> <DD>("Clade").  When the data consist of more than 12 species (or more than
221half the number of lines on the screen if this is not 24), it may be
222difficult to display the tree on one screen.  In that case the tree
223will be squeezed down to
224one line per species.  This is too small to see all the interior states of the
225tree.  The C command instructs the program to print out only that part of the
226tree (the "clade") from a certain node on up.  The program will prompt you for
227the number of this node.  Remember that thereafter you are not looking at the
228whole tree.  To go back to looking at the whole tree give the C command again
229and enter "0" for the node number when asked.  Most users will not want to use
230this option unless forced to.</DD>
231<P>
232<DT>H</DT> <DD>("Help").  Prints a one-screen summary of what the commands do, a few
233words for each command.</DD>
234<P>
235<DT>?</DT> <DD>("huh?").  A synonym for H.  Same as Help command.</DD>
236<P>
237<DT>X</DT> <DD>("Exit").  Exit from program.  If the current tree has not yet been saved
238into a file, the program will ask you whether it should be saved.</DD>
239<P>
240<DT>Q</DT> <DD>("Quit").  A synonym for X.  Same as the eXit command.</DD>
241</DL>
242<P>
243<H2>ADAPTING THE PROGRAM TO YOUR COMPUTER AND TO YOUR TERMINAL</H2>
244<P>
245As we have seen, the initial menu of the program allows you to choose
246among three screen types (PC, ANSI, and none).
247If you want to
248avoid having to make this choice every time, you can change
249some of the
250constants in the file <TT>phylip.h</TT> to have the terminal type initialize
251itself in the proper way, and recompile.
252The constants that need attention are ANSICRT and IBMCRT.
253Currently these are both set to "false" on Macintosh and on Unix/Linux
254systems, and IBMCRT is set to "true" on Windows systems.  If your system
255has an ANSI compatible terminal, you might want to find the
256definition of ANSICRT in <TT>phylip.h</TT> and set it to "true", and
257IBMCRT to "false".
258<P>
259<H2>MORE ABOUT THE PARSIMONY CRITERION</H2>
260<P>
261MOVE uses as its numerical criterion the Wagner and
262Camin-Sokal parsimony methods in mixture, where each character can have
263its method specified separately.  The program defaults to carrying out Wagner
264parsimony. 
265<P>
266The Camin-Sokal parsimony method explains the data by assuming that changes 0
267--> 1 are allowed but not changes 1 --> 0.  Wagner parsimony allows both kinds
268of changes.  (This under the assumption that 0 is the ancestral state, though
269the program allows reassignment of the ancestral state, in which case we must
270reverse the state numbers 0 and 1 throughout this discussion).  The criterion
271is to find the tree which requires the minimum number of changes.  The Camin-
272Sokal method is due to Camin and Sokal (1965) and the Wagner method to Eck and
273Dayhoff (1966) and to Kluge and Farris (1969).
274<P>
275Here are the assumptions of these two methods:
276<P>
277<OL>
278<LI>Ancestral states are known (Camin-Sokal) or unknown (Wagner).
279<LI>Different characters evolve independently.
280<LI>Different lineages evolve independently.
281<LI>Changes 0 --> 1 are much more probable than changes 1 --> 0 (Camin-Sokal)
282or equally probable (Wagner).
283<LI>Both of these kinds of changes are a priori improbable over the
284evolutionary time spans involved in the differentiation of the group in
285question.
286<LI>Other kinds of evolutionary event such as retention of
287polymorphism are far less probable than 0 --> 1 changes.
288<LI>Rates of
289evolution in different lineages are sufficiently low that two changes in a long
290segment of the tree are far less probable than one change in a short segment.
291</OL>
292<P>
293That these are the assumptions of parsimony methods has been documented
294in a series of papers of mine: (1973a, 1978b, 1979, 1981b,
2951983b, 1988b).  For an opposing view arguing that the parsimony methods
296make no substantive
297assumptions such as these, see the papers by Farris (1983) and Sober (1983a,
2981983b), but also read the exchange between Felsenstein and Sober (1986). 
299<P>
300Below is a test data set, but we cannot show the
301output it generates because of the interactive nature of the program.
302<P>
303<HR>
304<P>
305<H3>TEST DATA SET</H3>
306<P>
307<TABLE><TR><TD BGCOLOR=white>
308<PRE>
309     5    6
310Alpha     110110
311Beta      110000
312Gamma     100110
313Delta     001001
314Epsilon   001110
315</PRE>
316</TD></TR></TABLE>
317</BODY>
318</HTML>
319
Note: See TracBrowser for help on using the repository browser.