OntoVisT: A general purpose Ontological Visualization Tool.

UNLABELLED
Ontologies have emerged as a fast growing research topic in the area of semantic web during last decade. Currently there are 204 ontologies that are available through OBO Foundry and BioPortal. Several excellent tools for navigating the ontological structure are available, however most of them are dedicated to a specific annotation data or integrated with specific analysis applications, and do not offer flexibility in terms of general-purpose usage for ontology exploration. We developed OntoVisT, a web based ontological visualization tool. This application is designed for interactive visualization of any ontological hierarchy for a specific node of interest, up to the chosen level of children and/or ancestor. It takes any ontology file in OBO format as input and generates output as DAG hierarchical graph for the chosen query. To enhance the navigation capabilities of complex networks, we have embedded several features such as search criteria, zoom in/out, center focus, nearest neighbor highlights and mouse hover events. The application has been tested on all 72 data sets available in OBO format through OBO foundry. The results for few of them can be accessed through OntoVisT-Gallery.


AVAILABILITY
The database is available for free at http://ccbb.jnu.ac.in/OntoVisT.html.

There are several popular approaches available for ontological navigation. The most simple approach is to present them in tabular form (e.g., FatiGO [3]), but has the drawback that it loses substantial information regarding the relations between the terms. The second approach is to present the structure in a tree form. There exists two popular ways to represent tree structure: a flat tree (e.g., TO-GO [4]) and an expandable tree in which a node with several parents is represented in the tree multiple times, once under each parent (e.g., AmiGO [5]). The third approach is to represent the result in the form of static graphs, either as a tree or DAG (e.g., GO Term Finder [6]). The static graph structure usually requires less memory in the case of small networks with fewer edges, but it reduces the interpretiability of the complex networks due to cluttered edges and overlapping nodes. In a typical case, the different ontology terms are distributed across different levels of hierarchy. Identifying the clusters of similar terms in the ontology network becomes much simpler and informative, if the results are presented interactively in a DAG structure. One of the problems in displaying large DAG network is the loss of hierarchical order needed for displaying parent-child relationships. The problem with nonhierarchical representation is that its complexity increases with increase in number of nodes in the graph, which makes the interpretation difficult. Alternatively, we can improve the interpretability by modifying the structure in DAG hierarchical form, in such a way that it contains both the property of DAG as well as placement of all child nodes below their parent nodes. The advantage of this representation is that the flow of information is unidirectional reducing the effort to interpret the network.

Implementation: Application Description:
OntoVisT Visualization module is written in Java using prefuse-alpha [7] library. Figure 1 shows the schematic diagram and work flow of OntoVisT applications. The visualization module can be used in any of the three forms, (1) web server application (2)

OntoVisT Output:
Given the input parameters, OntoVisT provides interactive visualization of any complex ontological network. Complexity increases with the increase in number of nodes in the network. To deal with this problem, we have embedded a search option which highlights the node of interest. The application allows the user to translate the network in such a way that the node of interest is placed in the center by clicking over it. It also allows the user to zoom in/out the topology of the network by using right mouse button. Left mouse button can be used to drag complete network topology. Further, a mouse hover over any node displays the details associated with the term on the bottom left side of the page. The projection of the graph is fixed in order to maintain the consistency in the layout. In order to maintain the hierarchical structure of a DAG, we have inserted dummy nodes in the network, explained with the help of a synthetic example discussed in Figure 2. Figure 2a shows a small DAG network, and Figure 2b shows an alternate and much clearer representation of all possible paths between A and D in the same DAG. Each path assigns a different level (actual level) to each node. We assign a dummy level to each node as the maximum level that occurs when we traverse through all possible paths starting from the root node (Figure 2c). The difference between the dummy levels of the source and sink nodes of each edge, is used to count the number of dummy nodes (Nd) required to maintain the unidirectional flow (Figure 2d). Nd equals difference between sink and source level, minus 1 for each edge (Figure 2e). This leads to a unidirectional DAG hierarchical structure obtained after inserting the desired dummy nodes to each path (Figure 2f).

The standalone application:
The OntoVisT module is platform independent and can be run as a standalone application on any machine with java (version 1.5 or higher) enabled web browser. The source code and the class files for the application are packaged into a single executable jar file OntoVisT.jar. The OntoVisT package, sample XML file, and main html file (OntoVisT.html) can be downloaded from the OntoVisT download page. Pre-requisit, installation instruction and usage can be found on the OntovisT help page. The visualization module can be used to explore the ontology graph locally through web-browser using OntoVisT.html.

Plug-in application:
OntoVisT applet can be easily integrated as a plug-in with any other ontology based navigation application, requiring only the XML file as an input. The visualization output can easily be modified by modifying the XML file only. OntoVisT is the only tool that can be used to study the modular structure of any ontological network. The supporting files containing DAG structure are downloadable in both text and XML formats and can be further used for custom level of ontological analysis. The OntoVisT applet supports interactive visualization of both trees as well as DAGs. It offers flexibility in terms of its usage, which only requires XML file as an input in a prescribed format.

Authors' contributions:
AKS has conceptualized the study, wrote the application, implemented the web server, tested the program and drafted the manuscript. NSS helped in enhancing the features and writing the manuscript.