This page provides access to a java applet for comparing phylogenies, described in my paper in Systematic Biology. Instructions on how to use the page are given below.
METATREE is a java program for comparing multiple alternative phylogenies. A meta-tree is a "tree-of-trees" constructed by regarding a set of input tree topologies as objects on which phylogenetic analysis can be performed. Meta-trees cluster similar tree topologies together and show the relationships between different trees. A paper on the construction and properties of meta-trees is currently under review. These notes do not describe the background theory, and are intended only as instructions for using the METATREE applet. For the applet to run you should have your browser enabled to display java applets. The applet was created using java 1.5 so it might also be worth checking which version you have installed. You can check your installation by visiting this page.
The applet creates a meta-tree for a collection of alternative phylogenies which you must specify in the box above. You must have at least four different trees all sharing the same set of taxa (or at least with the majority of taxa in common). The Newick format specification of these trees should be pasted into the box. It's important to end each tree specification with a semi-colon. Bootstrap values should not be included in the Newick strings. You can provide a name for each tree by using the following format:
My name for tree 1; Newick specification of tree 1; My name for tree 2; Newick specification of tree 2; etc...
If you do not provide tree names in this way, and just paste a list of tree specifications into the box, your trees will be named "Tree 1", "Tree 2", etc. according to the order in the box.
When you have specified your trees, click on the submit button to get the applet started.
When construction is complete, your meta-tree will appear in a window, and the total score will be displayed. The window has two panes, and the meta-tree is displayed on the left (the meta-tree pane). Clicking on any meta-tree vertex brings up the corresponding tree topology in the right-hand panel (the species tree pane). So, for example, clicking on the meta-tree leaves displays each of the original set of species trees. Clicking on any branch in the right-hand (species tree) panel causes the meta-tree vertices that contain the corresponding branch split to be highlighted in the meta-tree panel. This allows the user to identify the pattern of splits throughout the meta-tree, and work out which splits have been instrumental in the choice of clustering represented by the meta-tree. Some splits will be found in all the meta-tree leaves (for example the splits corresponding to terminal branches on the species trees), while others will form clustered patterns within the meta-tree.
Clicking on any branch of the meta-tree brings up a window comparing the meta-tree vertices at either end of the selected branch (the tree comparison window). The two species trees corresponding to the meta-tree vertices are displayed side-by-side. Branches that are present in one tree but not in the other are marked as red. Clicking on any species tree branch causes the matching branch in the other tree to be highlighted.
A complete list of available options is given at the bottom of this page.
The links below demonstrate the software on several collections of alternative trees. The trees are taken from Rokas et al, Genome scale approaches to resolving incongruence in molecular phylogenies, Nature, 2003; and Li et al, A practical approach to phylogenomics: the phylogeny of ray-finned fish as a case study, BMC Evolutionary Biology, 2007. I'm very grateful to Antonis Rokas and Chenhong Li for providing the data sets.
The meta-tree software is still under development and has not been extensively tested. Consequently I'm very keen to hear your experiences of using it and any problems you might have. Please email me if you identify a problem / bug, and preferably include the data set you're using. At the moment there are a number of issues I'm working to rectify, and error reporting is badly handled in particular.
This software uses the colt scientific java library, developed at CERN. I can strongly recommend colt to other java programmers!
Meta-tree pane
Species-tree pane
Tree-comparison window. These windows are displayed when a user clicks on an edge in the meta-tree. The window compares the species trees corresponding to the meta-tree vertices at either end of the selected edge. Each tree is in a separate pane, and an arrow head on the meta-tree edge is used to identify which species tree is which. Splits that are found in one species tree but not the other are highlighted in red. Left-clicking on a branch in one tree causes the corresponding edge in the other tree to be marked with an orange triangle.