© Copyright 1986-2008 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.
Dnamove is an interactive DNA parsimony program, inspired by Wayne Maddison and David and Wayne Maddison's marvellous program MacClade, which is written for Macintosh computers. Dnamove reads in a data set which is prepared in almost the same format as one for the DNA parsimony program Dnapars. It allows the user to choose an initial tree, and displays this tree on the screen. The user can look at different sites and the way the nucleotide 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 sites are affected by changes in the tree topology.
[No Java Interface has yet been created for Dnamove]
This program uses graphic characters that show the tree to best advantage on some computer systems. Its graphic characters will work best on MSDOS systems or MSDOS windows in Windows, and to any system whose screen or terminals emulate ANSI standard terminals such as old Digital VT100 terminals, Telnet programs, or VT100-compatible windows in the X windowing system. For any other screen types, (such as Macintosh windows) there is a generic option which does not make use of screen graphics characters. The program will work well in those cases, but the tree it displays will look a bit uglier.
The input data file is set up almost identically to the data files for Dnapars. The code for nucleotide sequences is the standard one, as described in the molecular sequence programs document. The user trees are contained in the input tree file which is used for input of the starting tree (if desired). The output tree file is used for the final tree.
The user interaction starts with the program presenting a menu. The menu looks like this:
Interactive DNA parsimony, version 3.7a Settings for this run: O Outgroup root? No, use as outgroup species 1 W Sites weighted? No T Use Threshold parsimony? No, use ordinary parsimony I Input sequences interleaved? Yes U Initial tree (arbitrary, user, specify)? Arbitrary 0 Graphics type (IBM PC, ANSI, none)? ANSI S 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), W (Weights), T (Threshold), and 0 (Graphics type) options are the usual ones and are described in the main documentation file. The I (Interleaved) option is the usual one and is described in the main documentation file and the molecular sequences programs documentation 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, which must be a rooted 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 W (Weights) option allows only weights of 0 or 1.
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!
The S (Screen width) option allows the width in characters of the display to be adjusted when more than 80 characters can be displayed on the user's screen.
The L (screen Lines) option allows the user to change the height of the screen (in lines of characters) that is assumed to be available on the display. This may be particularly helpful when displaying large trees on terminals that have more than 24 lines per screen, or on workstation or X-terminal screens that can emulate the ANSI terminals with more than 24 lines.
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:
As we have seen, the initial menu of the program allows you to choose among three screen types (PCDOS, Ansi, and none). If you want to avoid having to make this choice every time, you can change some of the constants in the file phylip.h to have the terminal type initialize itself in the proper way, and recompile. We have tried to have the default values be correct for PC, Macintosh, and Unix screens. If the setting is "none" (which is necessary on Macintosh MacOS 9 screens), the special graphics characters will not be used to indicate nucleotide states, but only letters will be used for the four nucleotides. This is less easy to look at.
The constants that need attention are ANSICRT and IBMCRT. Currently these are both set to "false" on Macintosh MacOS 9 systems, to "true" on MacOS X and on Unix/Linux systems, and IBMCRT is set to "true" on Windows systems. If your system has an ANSI compatible terminal, you might want to find the definition of ANSICRT in phylip.h and set it to "true", and IBMCRT to "false".
This program carries out unrooted parsimony (analogous to Wagner trees) (Eck and Dayhoff, 1966; Kluge and Farris, 1969) on DNA sequences. The method of Fitch (1971) is used to count the number of changes of base needed on a given tree. The assumptions of this method are exactly analogous to those of MIX:
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).
Change from an occupied site to a deletion is counted as one change. Reversion from a deletion to an occupied site is allowed and is also counted as one change.
Below is a test data set, but we cannot show the output it generates because of the interactive nature of the program.
5 13 Alpha AACGUGGCCA AAU Beta AAGGUCGCCA AAC Gamma CAUUUCGUCA CAA Delta GGUAUUUCGG CCU Epsilon GGGAUCUCGG CCC |