20 November 2008

Names on Nodes: Viewing Phylogenies

One of the primary uses for Names on Nodes will be as a viewer for phylogenetic hypotheses. The first incarnation will be able to digest hypotheses from NEXUS files; later versions will allow other file formats and ad hoc creation. I've been working on this aspect of the application lately and thought I'd post a few screen shots. (Warning: This is not the final look. I am definitely going to use a more legible font!)

Here's a very simple tree from a study on carnivoran phylogeny using supertrees (Bininda-Emonds et al. 1999):

(Note: the feliform side is a little outdated by now.)

This is a directed acyclic graph (and specifically a tree) rendered using the Flare ActionScript library, an extremely powerful (if sometimes frustrating) data visualization tool. It's based on the only tree in that particular NEXUS file. But what if a NEXUS file has more than one tree? This is where it gets kind of neat (I think)—Names on Nodes can show multiple hypotheses at once!

Here's a combination of two hypotheses from Novacek's (1989) study of mammalian phylogeny:

(Note: Much of this was changed by the subsequent molecular revolution in eutherian phylogeny.)

The NEXUS file has one tree based on extant organisms and another with some extinct taxonomic units. This network represents the phylogeny if both trees were true. Obviously, it shouldn't be taken too literally—there's no way carnivorans are descended from a hybridization of two disparate lineages, for example. But it shows a sort of consensus, and can be used for the application of phylogenetic definitions.

For the more botanically-inclined, here's a similar network for Rodman et al.'s (1984) analysis of Centrospermae:

(I have no idea how outdated this one is.)

Another thing that can be done in Names on Nodes is linking phylogenies together. For the aforementioned study by Bininda-Emonds et al. there is another NEXUS file focusing on Canidae. A user could open both files, drag the root node of the Canidae phylogeny to the terminal Canidae node in the Carnivora phylogeny, and equate the units with each other. This would produce something like this (cropped):

The root node in this phylogeny, then, could be equated with the Carnivora node in Novacek's phylogeny, and so on. In this way, gigantic networks can be compiled, representing the complete Tree of Life. Outdated hypotheses can be filtered to taste.

Next step: automated taxonomy.

Next next step: relating anything and everything to the Tree of Life.


  1. Looks pretty neat Mike! The drag and drop of a species level tree to a family level node is of particular interest to a supertree worker like me. I look forward to the finished thing.

  2. Thanks! Yeah, I think this could be really useful in a lot of ways. Hope to finish an alpha version soon.....

  3. Holy shit! If bootstrap support, decay indices or other data was available could you do something graphical like embolden the line (with greater thickness accorded to the most robust hypotheses in the study) so you could tell at a glance a lot more about differing MPTs and their support?

    And also could it be color-coded if you wanted to combine different studies???

    Excuse the rambling, but my head's spinning with the possibilities atm.

  4. Actually, it kind of IS showing that. If you look closely, some of the lines are a bit darker than others -- those are the ones that appear in more of the MPTs than the fainter ones.

    It's not terribly obvious, because it's actually an unexpected side effect. Since it's done in a rather inefficient manner, it's not in the latest version. However, I *am* storing weights for all ancestor/descendant arcs -- just have to figure out how to use them.

    Someone else suggested color-coding as well. It's probably something I'll look into for a later release. (Along with silhouette images for each node, etc.)