BIOVIZ: Genome Viewer

Development of an SVG GUI for the visualization of genome data

Chris Lewis, Steve Karcz, Andrew Sharpe, Isobel Parkin

Molecular Genetics, Saskatoon Research Center, Agriculture and Agri-food Canada


We have developed an interactive, browser-based SVG application for the visualization and mining of genome data from the model plant Arabidopsis thaliana. The genome of this plant consists of DNA sequence information organized into five chromosomes that can be up to 30 million base pairs in length and contain up to 7000 distinct genes distributed along each chromosome.  This linear arrangement makes the data particularly amenable to display using SVG as it provides a spatial relationship between the constituent parts of the genome.  It is important that the user can scale from an overview encompassing millions of base pairs to a detailed view of a specific region without losing spatial reference as the user will often only be interested in a small part of the whole.  For instance, each gene has a specific structure that can only be visualized at high levels of magnification.  Additionally, client-side scripting allows the user to create new views, or to request supplemental data which can be loaded and dismissed on demand.


To enable this visual browsing of the genome we created what is essentially a client-server, multi-windowed application inside the web browser.  The client-side of this application relies on our custom GUI library (CGUI) and the Adobe SVG plug-in.  CGUI was written using JavaScript objects, and contains basic objects allowing the easy construction of a GUI.  Windows can be opened, closed and moved inside the GUI.  The contents of a window can be scaled and translated independent of other windows.  Use of the Adobe postURL method allows the user to request new data and views from the server.  Asynchronous data retrieval eliminates the need for annoying page reloads common in other web-based genome viewers, and allows the user to continue working while additional data is loading.  The genome data itself resides in a mix of XML files, flat-files and relational databases on the server.  It is made available to the client on-demand, after being parsed and transformed into SVG, by Perl CGIs.  Presentation of the data is handled entirely on the client-side.


SVG has allowed us to create a visually appealing, functional browser for our data.  The CGUI library is our attempt at a generic SVG based GUI library, and demonstrates that such a library is completely feasible.  While we used CGUI to display genomics data, it seems that such a library could be useful for other web developers who need to display a large dataset in an organized manner.  Inquiries about the CGUI library may be directed to


Chris Lewis

Molecular Genetics Section

Saskatoon Research Center

Agriculture and Agri-food Canada

107 Science Place

Saskatoon, SK.

S7N 0X2, Canada

Phone: 306-956-7693

Fax:     306-956-7247


Running Title: SVG based genome viewer