GeNetViz- Gene Network Visualization


Analysis of gene co-expression, or protein-protein interaction, networks by means of network graph visualization has become a popular topic in bioinformatics. To ease concerns of platform dependence and installation issues, the Gene Network Visualization (GeNetViz) environment is built with SUN Microsystem's Java 2 Platform Standard Edition [1]. The software executables are retrieved through a browser link transporting the fully functional and browser-independent application to the local PC cache. While completely web interactive, GeNetViz is designed to perform the majority of basic tasks on the user's local pc. In its current form, GeNetViz has the ability to read two data file formats: a generalized three-column data set, and a GraphML [2] formatted file. In each case, two vertex names and a numeric value must be provided representing the strength of correlation of an edge that exists between the two vertices. The GraphML format supports database storage, retrieval, and sharing in a fully web-based environment. The current application design uses the Java Package system for modularity improving organization, manageability, and extensibility.

Because a gene or protein can have a lot of information associated with it, a need exists to visualize multidimensional data in a two-dimensional network graph. The Java Universal Network Graph/Framework (JUNG) [3] is an application programming interface (API) which provides a developer the framework for building a network graph and customizing the visualization components. Any gene, represented by a circle, may contain multiple colors or differing diameters representing different attributes of the gene (Figure right). Edges between genes, representing that a correlation exists between the genes, may be gray-scaled, colored, and/or length scaled. A few basic layout algorithms are provided for pattern discovery, and complete user interaction with the network graph is available through rotate, pan, zoom, and single vertex position manipulation. Filtering capabilities are provided both as a front-end preprocessing operation, as well as interactively with existing graphs by which subgraphs may be generated.

Once a network graph is built, the ultimate goal is to identify patterns within the graph that indicate some biological significance. One means of pattern discovery is to begin with the extraction of data specific to a network graph, irregardless of the biological content. Statistics tools can help identify potentially desirable or undesirable data groupings. For example, a frequency plot of the correlation values, correlation coefficients, or number of edges per gene may provide information like tightly coupled groups of genes, or loosely coupled genes that might be removed for greater focus on the tightly coupled remainder. Plotting and visualization of histograms, bar charts, pie charts, etc., is done through the freely available and open source data plotting API called JFreeChart [4]. Conceptually, GeNetViz is designed as an empty container holding modules of functionality. The most common modules found include: 1) data file reading from a generic three column format, 2) build and display the interactive network graph environment from data provided, and 3) read gene characteristic data for displaying in the network graph module. As interest in GeNetViz increases and third-party development expands, these modules will provide a simple "plug-in" framework. Development and maintenance is made easy provided interfacing is strictly maintained for each module.

1. Sun Microsystems. Java Technology. Revision date unknown. []. Accessed 1/27/2005.
2. GraphML Team. The GraphML File Format. Revision date 9/29/2004. []. Accessed 1/27/2005.
3. White, S. O'Madadhain, J., Fisher, D., and Boey, Y.B., Java Universal Network Graph/Framework. Revision date unknown. []. Accessed 1/27/2005.
4. Gilbert, D. and Morgner, T. , Revision date unknown. []. Accessed 1/27/2005.

*GeNetViz logo image provided by the U.S. DOE Human Genome Program,

GeNetViz developed and maintained by Shawn Ericson, Bing Zhang, Stephen Kirov, and Jay Snoddy

File: index.html, Website author: Shawn Ericson, Last revised: October 10, 2005