PRAP 2 Documentation


Functions of PRAP

  1. PRAP allows the calculation of Bremer support (BS, Decay values; Bremer 1988) using the parsimony ratchet algorithm (Nixon, 1999). Alternatively, BS can also be computed without using the ratchet.
  2. In addition, simple Parsimony Ratchet searches can be performed with PRAP, also by superposing random addition cycles onto the published ratchet procedure (Nixon, 1999) to further decrease the slight risk that even the Ratchet gets stuck in a single series of cycles. Here, a series of ratchet iterations (commonly about 200 iterations) is repeatedly started from different starting trees, and shortest trees from all these iterations series are collected.
  3. Since version 2, likelihood ratchet searches are supported. The likelihood ratchet by Morrison (2007) can be loaded and, if desired, modified by the user.

How it works

  1. PRAP reads NEXUS (Maddison et al., 1997) data and tree files supplied by the user.
  2. For Decay analyses, PRAP creates constraint trees for each branch and writes commands for PAUP* (Swofford, 1998) into a command file. Instead of simple heuristic search statements, a series of commands is written for each branch, corresponding to the parsimony ratchet procedure. The user can supply parameters influencing efficiency and search time of the ratchet. When executing this command file, PAUP* calculates MP trees using the reverse constraint option. A log file is created and parsed by PRAP to determine how much more steps a tree which constraints a given branch requires. This value, corresponding to the BS, is assigned to the branch. This is done for each branch in the tree. The whole tree and its BS values are finally written to a NEXUS tree file that can be viewed with the program TreeView (Page, 1996) or imported into TreeGraph (Müller & Müller 2004) for generating publication-ready tree figures.
  3. For plain parsimony ratchet searches (without decay value calculation), a command file is created as well. Instead of simple heuristic search statements, a series of commands is written, corresponding to random addition cycles of individual parsimony ratchet searches. The same applies to likelihood ratchet searches.

What you have to do (it's obvious, so you might want to jump over the next points...):

A) Calculation of decay values

  1. Load a nexus file with the data (File - load data)
  2. Load a tre file with a tree (File - load tree) [currently, tree files should contain full taxon names instead of a translation table. If you don't have such a tree, open a tree file with translation table in PAUP plus your data and save the tree like this "savetree file=xyz format=alt"].
  3. Choose Decay - DecaySettings to specify search conditions
  4. If you use the ratchet, specify settings under Ratchet - ratchet settings (random addition cycles are ignored since they would inflate search times unnecessarily).
  5. If you don't, specify settings under Decay - settings for non-ratchet decay analysis...
  6. To create commands, choose create batch file... in the Decay menu
  7. Execute the generated .dcc file under PAUP (You can quit PRAP at this point but do not have to do so)
  8. Choose get decay values from the Decay menu; you will be asked to choose the log file PAUP produced (it is written into the same directory as your data/tree files and end with .dcc.log; but you may want to analyse different log files from earlier analyses in different directories...); then you will be asked to choose the location where to save the tree that contains the Bremer support values.

B) Running the ratchet

  1. Load a nexus file with the data (File - load data) or directly go to Ratchet - Ratchet settings ...
  2. Specify settings under Ratchet - ratchet settings. Unless you have loaded a nexus file already, you can do so here to specify the number of characters or ask PRAP to have the batch file paup block preceded by a data block from this nexus file. The typical settings for a parsimony ratchet (200 iterations, 25% of randomly chosen position upweighted to 2) are preloaded. You may want to superimpose random addition cycles (use the corresponding checkbox) and define how many (10 is a good start). In the right panel, you can write your own PAUP code to customize the ratchet searches just the way you like. start, both, reweighted, stop refer to where these commands are to be executed: at the beginning, both when characters are upweighetd and when they have original weights, only while characters are upweighted, or after all iterations. To make use of the likelihood ratchet by Morrison (2007), click the corresponding button. Note that entirely different settings than for the parsimony variant are required (refer to Morrison 2007 for a discussion of useful settings).
  3. Choose Ratchet - create batch file...
  4. Execute the generated .dcc file under PAUP (you can quit PRAP at this point but do not have to do so). PAUP displays and saves the results and trees / consensus trees.

C) Running a simpler search

  1. Load a nexus file with the data (File - load data)
  2. Specify settings under other - heuristic settings (including number of random addition cycles).
  3. Choose other - generate commands
  4. Execute the generated .dcc file under PAUP (You can quit PRAP at this point but do not have to do so) and enjoy the results and trees/consensus trees PAUP displays and saves. (In case of a large data set you would probably have enjoyed the (B) - results more...)


In the case of difficulties or questions, don't hesitate to contact me. Also, bug reports and comments are always highly appreciated.

Prof. Dr. Kai Müller
Research group for Evolution and Biodiverity of Plants
Institute for Evolution and Biodiverity
Westphalian Wilhelms-University, Münster, Germany
Hüfferstrasse 1
48149 Münster


In case PRAP was of any help for you I would appreciate its citation as follows:

Müller K: PRAP - computation of Bremer support for large data sets. Molecular Phylogenetics and Evolution 2004, 31:780-782

Cited references

bioinfweb RSS feed bioinfweb on twitter bioinfweb on GitHub