Background

There are approximately 1.7 million identified species. A conservative estimate of the total number of species on Earth is 4 to 10 million species. About 80,000 of the identified species have a resolved phylogeny and ongoing research aims to substantially increase this number [1]. While methods for phylogenetic visualization have typically been developed for small phylogenetic trees, new methods are required as efforts to resolve the tree of life proceed. Beyond purely taxonomic interest, visualising phylogenetic data is increasingly important in functional genomics and other fields (see [2, 3]). For example, systematic analysis of genome content, adaptive evolution of proteins, and other genome scale datasets can be parsed phylogenetically, where an overview of the relationship of species is important.

Many common software tools for visualising small phylogenetic trees already exist, including Treeview [4] and ATV [5]. These tools lay out trees in a two dimensional Euclidean space and are useful for visualising trees of up to a few hundred nodes. Some software tools, like Hypertree [6], have increased the number of visualisable nodes using 2D hyperbolic space to provide a "focus+context" view, where a subset of the data can be viewed at higher resolution with the remaining contextual data still in view (see the Deep Green project for an example with plant phylogenies [7]).

In hyperbolic space (as opposed to Euclidean space), circumference and area increase exponentially instead of geometrically, enabling allocation of space for every node independent of the total number of nodes in the tree. Although hyperbolic space is infinite, it can be projected into a finite volume of euclidean space for a "focus+context" view. The result of the projection is a disc where points within the disc are magnified according to their radial distance from the center with the amount of magnification decreasing continuously and at an accelerating rate from the center to the boundary. By bringing different parts of a tree to the magnified central region, the user can examine every part of the tree in detail while retaining a sense of the context. Hypertree allows visualisation of up to a thousand nodes [6]. While this represents an improvement, a tool that can handle an order of magnitude more nodes is still required.

Different approaches have been proposed for solving this problem. One strategy is to not visualise the whole tree but instead to display a representative part of it as implemented in SpaceTree and TreeWiz [8, 9]. Visualization using virtual reality has also been reported as a potential approach to the problem, but this requires a special virtual reality chamber [10, 11].

We suggest visualising trees in 3D rather than 2D hyperbolic space which allows rendering inside a sphere rather than a disc. By using specifically developed layout algorithms [12], the Walrus tool (related to H3 Viewer) [1214] makes it possible to interactively visualise the entirety of trees with several hundred thousand nodes on a desktop computer.

Implementation

Walrus and the Walrus phylogenetic tree conversion tool are written in Java. The architecture of the design is depicted in Figure 1. Walrus reads files in its own specific LibSea format [15]. This format describes the topology of the tree and the labels associated with the nodes (labels can be textual or numerical). A conversion program converts various phylogenetic tree formats to the LibSea format by converting both the topology and the label data. The implemented features in the conversion tool include conversion from New Hampshire (Newick, Phylip), New Hampshire Extended (ATV) and the NCBI taxonomy database files to the LibSea format, narrowing the conversion to a particular subtree of interest, colouring of different sections of the tree included in the conversion and production of a corresponding legend, and with conversion from the NCBI taxonomy database format, inclusion in the LibSea output of data on rank, taxonomic ID, and scientific name, as included in the NCBI database [16].

Figure 1
figure 1

The architecture of software design for the utilization of Walrus in the visualisation of phylogenetic trees is shown. The phylogenetic tree conversion tool converts NCBI, New Hampshire, and New Hampshire Extended formats into LibSea files for direct visualisation by Walrus.

Results and discussion

Figure 2 depicts the cellular tree of life from the NCBI taxonomy database [16]. The X depicts the root of the tree, while the Eukaryotes, Archaea, and Eubacteria are clearly visible as distinct groupings. With this view in the background for perspective, it is possible to view closer relationships in detail. Figure 3 shows the primate tree from the NCBI taxonomy database. Figure 4 shows the same tree in ATV [5], where the 321 leaves are much less distinguishable. While traditional 2D viewers like ATV have other uses, the advantages of 3D viewers like Walrus for large scale visualisation are readily apparent from Figures 3 and 4.

Figure 2
figure 2

The cellular tree of life from the NCBI taxonomy database [16] is depicted. Eukaryotes, Archaea, and Bacteria are clearly labeled and are visible as separate groupings.

Figure 3
figure 3

The primate taxonomy from the NCBI taxonomy database [16] in Walrus in 3D is depicted.

Figure 4
figure 4

The same primate species relationship seen with Walrus in 3D in Figure [3] is now seen in ATV [5] in 2D.

Visualising phylogenetic and taxonomic classification data in 3D has clear utility. While the examples shown in Figures 2, 3, and 4 present species trees and taxonomic relationships, the browser can also be utilized for extremely large gene family trees. Olfactory receptors are one gene family with an interesting history of gene duplication, selection, and gene loss that can be visualised using this type of tool [17]. Finally, the tool is valuable as a companion for the front end of databases containing functional genomics information indexed phylogenetically, like The Adaptive Evolution Database (TAED) [2].

Conclusions

Munzner and colleagues have demonstrated the advantage of using hierarchical data viewers enhanced with a 3D hyperbolic view over conventional 2D based viewers for efficiency of deciphering tree-based information [18]. While the 3D hyperbolic visualization of phylogenetic trees will not fully supplant 2D viewers, it can serve as an additional module to augment other visualization components. In the future, a phylogenetic tree visualization tool that integrates several visualization components in a similar way to the XML3D tool used by Risden et al. [18] would be desirable. The Walrus viewer and the conversion tool are a step towards this goal.

Availability and requirements

Project name: Walrus and phylo3D (Walrus phylogenetic tree conversion tool)

Project home page: http://www.caida.org/tools/visualization/walrus/ and http://www.ii.uib.no/~tim, respectively

Operating systems: Windows, Linux and Mac OS X operating systems

Programming language: Java

Other requirements: Java3D 1.2.1 (or later), JDK 1.3.0 (or later), a hardware-accelerated graphics card with OpenGL, computer memory of 128 MB, 512 MB required for a few thousand nodes.

License:none for phylo3D

Any restrictions to use by non-academics: none for phylo3D