Phylogenetics: Parsimony Lab

From EEBedia
Jump to: navigation, search
Adiantum.png EEB 349: Phylogenetics
This lab consists of two parts:

Part A: Using PAUP* to check your answers for homework #2

  1. Create a NEXUS data file containing the data for the one DNA site you examined for homework assignment #2. To do this, start PAUP*, cancel the opening dialog box (because you have not created a file to open yet), then select File > New from the main menu to create an empty file. Referring to the description of a nexus data block from the previous lab, build a NEXUS file containing 4 taxa and 1 character corresponding to the data in homework assignment #2. Be sure to save the file, giving it a name like homework2.nex.

  2. Execute your new data file to make sure there were no mistakes. Even though you are not yet finished setting up the file, it is always a good idea to periodically check to make sure PAUP* can interpret the contents. If you wait too long before doing this check, then you end up making multiple mistakes and it gets increasingly hard to figure out how to fix all of them! If it is still open, you can execute it in PAUP* using the key combination <Ctrl-r>. If it is not open, use File > Open... to open it again. If your file executes successfully, you should see a line such as the following:
    Processing of file "homework2.nex" completed.
  3. Add a stepmatrix definition to specify that transitions should cost 1 step while transvesions should cost 2 steps. Add an assumptions block to your data file (note: do not add another "#nexus" to your file, this should appear only as the first thing in a NEXUS file). Your assumptions block should look like this:
    begin assumptions;
     usertype my_ctype stepmatrix=4
         A C G T
     [A] . 2 1 2
     [C] 2 . 2 1
     [G] 1 2 . 2
     [T] 2 1 2 .
     ;
    end;
    Feel free to replace "my_ctype" with a name of your choosing (but avoid using spaces or punctuation; note that I used an underscore character instead of a space). Save your file (using <Ctrl-s> is easiest), then re-execute using <Ctrl-r> to ensure that you haven't made any mistakes.

  4. Apply the newly-defined stepmatrix to character 1.First use the PAUP* cstatus command to examine the current status of your single character:
    cstatus full
    The full keyword produces a list showing information about each character individually. What is the current type of character? Which variant of parsimony would you be using were you to perform an analysis at this point (Wagner, Fitch, Transversion, or Generalized)? Use the PAUP* ctype command to apply your new usertype to character 1 as follows:
    ctype my_ctype: 1;
    PAUP* will not respond with any confirmation, but check to make sure that your stepmatrix has been applied to character 1 using the cstatus command again. Note that this time PAUP* says
    All characters are of user-defined type "my ctype"
    You may be wondering where the underscore character went: when producing output, PAUP* converts underscore characters to spaces in taxon, tree, character, and usertype names.

  5. Create a PAUP block in your data file so that the usertype can be applied automatically each time you execute the file. The next time you open and execute this file, the usertype will be defined but it will not be applied to any characters. Adding a paup block to the file allows you to perform some operations (such as applying a usertype to one or more characters) each time you execute the file. Create a paup block after your assumptions and data blocks in the file homework2.nex. Add two commands to your paup block: 1) the ctype command above that applies your usertype to character 1; and 2) the cstatus full command. Be sure to end each command with a semicolon! After saving your work, shut down PAUP* and restart it, choosing homework2.nex as the file to execute as PAUP* starts up. Notice that it is now clear that your usertype has been applied already.

  6. Search through all possible trees for the one having the best parsimony score. Use the alltrees command for this. Unless you are sitting at one of the really slow computers, PAUP* will finish this almost immediately, presenting you with an "Exhaustive Search" dialog box. You know PAUP* has finished the search when the text in the button at the bottom of this box says Close. Press the close button and view the results of the search.

    PAUP* will present a histogram in which each bar represents trees of a given length (i.e. number of steps). The tree length is the number at the base of the bar (to the left). The number in parentheses at the top of a bar (to the right) is the number of trees having that length. Do these results agree with your hand calculations?

  7. Use PAUP* to verify ancestral character state assignments. You found that there was some ambiguity about ancestral character states for tree 1 (the tree that places taxon 1 with taxon 2. In particular, you found that both C and T were equally viable possibilities for one of the interior nodes, whereas only A was viable at the other interior node. To get PAUP* to verify this, use the following command:
    describetrees 1 / mprsets
    This tells PAUP* to describe tree 1, and the option mprsets tells PAUP* to show what character state assignments are possible at each interior node (the Most Parsimonious Reconstruction sets). Is the result what you expected based on the hand calculations you performed for the homework assignment?

Go on to part B: Searching under the parsimony criterion