Visualizing the genome: techniques for presenting human genome data and annotations
© Loraine and Helt 2002
Received: 2 May 2002
Accepted: 30 July 2002
Published: 30 July 2002
In order to take full advantage of the newly available public human genome sequence data and associated annotations, biologists require visualization tools ("genome browsers") that can accommodate the high frequency of alternative splicing in human genes and other complexities.
In this article, we describe visualization techniques for presenting human genomic sequence data and annotations in an interactive, graphical format. These techniques include: one-dimensional, semantic zooming to show sequence data alongside gene structures; color-coding exons to indicate frame of translation; adjustable, moveable tiers to permit easier inspection of a genomic scene; and display of protein annotations alongside gene structures to show how alternative splicing impacts protein structure and function. These techniques are illustrated using examples from two genome browser applications: the Neomorphic GeneViewer annotation tool and ProtAnnot, a prototype viewer which shows protein annotations in the context of genomic sequence.
By presenting techniques for visualizing genomic data, we hope to provide interested software developers with a guide to what features are most likely to meet the needs of biologists as they seek to make sense of the rapidly expanding body of public genomic data and annotations.
The goal of the publicly funded human genome project is to provide all scientists with a reference genome sequence, and, in so doing, accelerate the pace of biomedical research. In addition to the sequence itself, the public data providers have also provided annotations on the sequence, notations describing the location and extent of genes and other biologically meaningful features. These genomic annotations typically include three basic types: single-base annotations such as such as the location of single-nucleotide polymorphisms (SNPs), single-span annotations such as the location and extent of individual transposable elements, and multi-span annotations such as the locations of a gene's complement of exons and introns inferred from cDNA-to-genomic sequence alignments or predicted by gene-finding programs [1, 2].
These location-based feature annotations typically possess annotations of their own, such as scores describing their believability, information about the analysis programs used to generate them, what type of biological entity they represent, and other descriptive data. Although the basic sequence data are valuable and useful, biologists are typically more interested in the higher-level, location-based annotations on the sequence, since these annotations relate the sequence data to biological pathways and systems. All three levels of genomic data can be adequately described using text, but biologists can make sense of the information more effectively when it is presented in an interactive, graphical format.
In recognition of the value of graphical representation, genomic data providers have developed graphical tools which generally follow a Web-based, client-server model in which server-side programs create image-mapped genomic "scenes" that are then displayed in the user's browser. Two prominent examples of this Web-based approach include the LocusLink (N.C.B.I.) evidence viewer  and the U.C.S.C. genome gateway's genome browser . These and similar Web sites provide valuable services, but are limited by the inability of a client-server model to provide a truly interactive user experience, since each interaction with the genome scene on display requires a round-trip from the user's desktop to the server and back again. Furthermore, the image-map format is currently limited in its ability to support gestural interactions, such as dragging scrollbars to pan the display or change its magnification.
When exploring a genomic region, biologists typically need to interact with the scene in a much richer fashion than is currently possible using simple, hyperlinked images. As biologists begin to explore a genomic scene, they formulate new questions about what they see. In order to answer these questions, they often need to modify what they see, such as by adding or deleting data, panning to the left or right, or changing the scale of the view. The client-server model is limited because it constrains navigation, often requiring multiple clicks to make the simplest adjustments. Hybrid approaches such as interactive, Java applets downloaded from a server and which run in a Java virtual machine on the user's desktop, have also been attempted , but Java applets are problematic in that security concerns restrict their ability to load data files located on the user's personal computer. Thus to gain the full benefit of genome project data, users require desktop software that can present the data in a fully interactive environment conducive to exploration and which also allows users to view their own custom data. In this article, we describe techniques for presenting human genomic sequence data and annotations in an interactive, graphical format, using examples from a prototype protein domain viewer (ProtAnnot) and from the Neomorphic GeneViewer, part of a genome browser and annotation tool written initially for The Institute for Genomic Research (TIGR) to support annotation of the Arabidopsis genome. Our aim in this paper is not to showcase these two applications, but rather to provide interested software developers with a guide to what features are most likely to meet the needs of biologists.
Representing gene structures
Representing gene structures is probably the most crucial aspect of any genome browser application since genes and the proteins they encode are relevant to all aspects of biomedical research. In light of this, we focus here on techniques for representing the key elements of human gene structures and their encoded proteins. In this scheme, a gene structure is defined as the relative placement of feature elements that make up a gene onto a single linear axis defined by the DNA sequence. Feature elements that make up a gene include: exons, 5' and 3' untranslated regions, coding regions, start and stop codons, introns, 5' transcriptional control elements, 3' polyadenylation signals, splice site boundaries, and protein-based annotations of the coding regions. Each of these feature types require specialized methods of presentation that depend upon the type of data being shown.
Visualizing sequence using semantic zooming
Although gene structures and their annotations are mainly what interest biologists, the ability to view the sequence data in the context of a gene structure is a critical feature of any genome browser application . In order to interpret and assess a proposed or known gene structure, biologists need to be able to inspect individual bases that influence the gene structure's believability. For example, to assess whether the reported 3' end of a gene is correct, a biologist may wish to search the sequence near the end of the final exon for putative polyadenylation sites. Similarly, a biologist may wish to examine the dinucleotide sequence at the 5' and 3' boundaries of putative introns, since these bases are highly conserved in human genes .
Figure 1b shows a close-up view of the questionable intron together with the genomic sequence. The zoomed-in view in Figure 1b reveals that the bases flanking the intron deviate from the expected "GT--intron--AG" consensus sequence for intron boundaries, thus lending credence to the idea that this insertion in the genomic sequence relative to the aligned cDNA may represent an alignment error, polymorphism, or experimental artifact rather than a true intron. In this example, changing the scale of the display (zooming "in") allows the user to inspect the genomic sequence while at the same time maintaining a sense of context. In other words, when looking at individual bases at high magnification, the user is able to maintain a sense of place because the sequence appears alongside the same landmarks that were visible at low zoom.
Another use of semantic zooming involves labeling or otherwise annotating display elements with text. For example, at low zoom, an object may be too small to fit a label, such as with the 5' exons in Figure 1a. At high zoom, objects take over more screen real estate and therefore become large enough to show more detailed labels. Thus semantic zooming allows the primary sequence data, location-based features on the sequence, and text-based annotations on these features to be presented together in a single highly adjustable scene. Ideally, the user should be able to select items in the display and retrieve further information about the gene being shown. One natural solution would be to implement hyperlinks within the display that would allow the user to open a browser window showing information retrieved from on-line databases, such as GenBank and PubMed.
One- versus two-dimensional zooming
Zooming as a visualization technique for display and navigation of complex data sets has typically been implemented in two dimensions. For example, applications built using the Java-based Jazz toolkit for graphical user interfaces  provide point-based or "camera" zooming, in which the operation of zooming is best understood as a change in height of a virtual camera poised above a single point in the display. That is, in camera-based zooming, the entire scene appears to expand or contract in every direction around a central focal point as the user zooms in or out.
Genome browser applications represent a one-dimensional world in that they display location-based features across a single axis defined by the genomic sequence data itself. In genome browser applications, the axis perpendicular to the sequence axis has no meaning and therefore could be used to sort information based on feature or analysis type, as will be discussed later. Thus, for display of genome data, camera-based, point-centered zooming as provided in Jazz is not appropriate, since DNA sequence and its annotations are one-dimensional. As with Jazz-based applications, the focus for zooming should still be the point where the user last clicked, but the result of zooming should be a stretching of the sequence axis rather than a change in the user's relative height above the genomic scene. Although Jazz has been designed to support exploration of two-dimensional data spaces, it may be possible to restrict its zooming behavior to single dimensions. Since the source code is freely available, we urge readers interested in building genomic viewers to investigate the Jazz toolkit .
Single and dual-sequence annotations
Gene structures are typically deduced using one of two methods. The simplest type of gene structure prediction is based on output from gene-finding programs that analyze the primary genomic sequence without reference to any other sequence. For example, gene prediction programs produce simple gene structures based solely on analysis of primary genomic sequence data. These simple annotations may easily be shown as linked, multi-span annotations representing the complement of exons that make up these hypothetical gene structures.
Although sequence analysis programs are useful tools, their ability to accurately describe human gene structures is severely hampered by the complex nature of human genes . Approximately a third to over half of all human genes produce multiple transcript variants [6, 10], and few gene prediction programs are able to identify more than one variant per gene. Despite many years of development, gene-finding programs are still limited in their ability to accurately describe human gene structures, and for this reason, applications that display them should make their hypothetical nature clear to the user.
In contrast, a dual-sequence or pairwise annotations describe the relationship between the genomic sequence and the independently produced sequence of some other biological molecule. For example, programs such as sim4  and blat  are designed to align cDNA and genomic sequence and are often used to infer gene structures in genomic DNA. Regions in the genomic sequence that match regions in the cDNA sequence typically are used to delimit exons, while gaps in the cDNA partner of the alignment that exceed some pre-defined length threshold are typically used to delimit introns.
Annotations like these are often more valuable than simple gene predictions because they incorporate more information, such as experimental evidence for expression provided by cDNA sequence. And because they incorporate more information, their representation in a genome browser requires a more sophisticated approach that shows the exon-intron organization of the inferred gene structure as well as the alignment that was used to produce it.
The main difference between the low zoom (3a) and the high zoom (3b) views is that at high zoom, the sequence of the cDNA partner in the alignment is shown. At this higher level of magnification, the sequence of the cDNA is shown superimposed on the exons. Gaps within exons are represented in the usual fashion, while the sequence associated with each insertion is displayed above the "V" character.
Dealing with complexity
The number and type of annotations can vary enormously from region to region depending both on the sequence itself as well as the number and types of analyses that have been done. Thus, it is difficult to design a program that can arrange sequence-based annotations in a fashion that is not overly confusing or complex. However, since genomic sequence has only one important axis, which can be shown either in vertical or horizontal orientation, the application developer can use the other axis to organize information in ways that expose biologically meaningful patterns in the data, such as regions that are densely annotated with ESTs and likely to be highly expressed.
One commonly-used technique for dealing with complexity of genomic annotations is to sort items into horizontal tiers based on some common attribute, such as the kind of analysis that was done to produce them. This approach is being used by the U.C.S.C. genome browser, which provides multiple rows or "tracks" featuring analyses contributed by many different groups .
Even so, as the available analyses accumulate, the potential for creating very complex scenes increases greatly. Although it is good to have more access to more data, for the purposes of understanding a gene it is important to give the user the power to simplify or re-organize the scene as needed. Sorting items into distinct tiers that can be moved, hidden, collapsed, or stretched is one way that application developers can give users greater freedom to modify a display when the amount of data being shown exceeds the user's ability to comprehend the full scene.
An example of a complex scene organized into adjustable tiers is shown in Figure 3, which shows two screen captures from the GeneViewer display tool. Both screen captures present a view of the human SNURF gene, which gives rise to an unusual bicistronic transcript encoding two different proteins . Figure 3a presents a complex view of the locus, shown here as annotated with hundreds of features derived from EST-to-genomic and cDNA-to-genomic sequence alignments.
The screen capture in Figure 3b shows a simpler version in which the display has been simplified by collapsing, moving, and hiding several tiers. The tiers containing features based on EST-to-genomic sequence alignments have been collapsed, thus forming primitive clusters summarizing all the expressed regions associated with this locus. The plus- and minus-strand EST tiers have also been moved to the position immediately above the tiers showing cDNA-to-genome alignments (labeled cmRNA+ and RefSeq+), thus making it easier to compare the boundaries of items shown in each tier. This feature is especially important to users interested in alternative splicing, since the presence of ESTs that align to regions not covered by cDNA-to-genomic alignments can indicate the existence of novel variants.
Another way to help users visualize a genomic scene using tiers is to allow the user to stretch tiers in the direction perpendicular to the sequence axis. Allowing zooming in the vertical direction, as is shown in Figure 3b, accommodates situations where the entire scene cannot fit into the viewable area. In addition, this kind of vertical stretching allows users with visual disabilities to make selected regions of the scene larger and easier to see.
Protein in the context of genomic sequence
Although the intron-exon organization of genes is interesting, biologists typically are more interested in the proteins that genes encode. Therefore, a genomic viewer should incorporate information describing how the genomic sequence is translated into protein.
One common convention for representing coding regions is to show translated and untranslated regions as shaded and unshaded boxes, respectively. This convention has been used for many years to distinguish coding regions in the print medium and therefore has the advantage of leveraging users' expectations of how gene structures should look when presented in software.
In addition to providing a visual representation of translation frame, a genome browser should also provide a visual representation of motifs that are embedded in the protein sequence. In recent years, numerous protein sequence analysis methods have been developed that allow researchers to identify conserved functional domains within protein sequence. Since alternative transcripts arising from the same gene can often produce protein isoforms that differ with respect to their domain composition, tools that display these protein domains in the context of the genomic structure of genes can help biologists better understand how alternative transcript structure affects protein function.
Several efforts are now underway to build interactive, desktop genomic data visualization software. For example, the open source Apollo project, a collaboration between the Sanger Center and the Berkeley Drosophila Genome Project, is now building a desktop Java-based application that supports viewing and editing of genome annotations. FlyBase is using Apollo to re-annotate the Drosophila genome, and source code and compiled versions are freely available for download . Other publicly available visualization software packages now being developed include OmniGene  and the GUI packages associated with BioJava  and BioPerl .
Although most such browsers provide some mechanism to support one-dimensional zooming, to our knowledge, none provides interactive, dynamic zooming in which the scene changes its appearance in response to gestural interactions. Instead, these applications have typically implemented zooming interactions using graphical components such as buttons to allow users to change the scale of the view in a stepwise fashion. One problem with this solution is that these stepwise interactions often require multiple point-and-click operations to achieve the desired zoom level. Using sliders, scrollbars, or timed key presses to signal a request to change the zoom level could alleviate this problem by allowing the user to adjust the scene in a single motion.
Similarly, few genome browsers implement visual encoding of frame to indicate how alternative splicing impacts the encoded proteins. Since probably half of all human, multi-exon genes produce multiple variants, a genome browser written to display human genomic data should somehow incorporate a visual representation of frame. Although we have used color-coded exons to indicate this, other techniques, including shading or some form of labeling, could also be used. For example, WormBase, a Web-based interface to the C. elegans genome, recently began showing coding regions separately from genes structures as a series of color-coded rectangles sorted vertically according to frame of translation . We would urge other developers to adopt similar conventions for representing coding frame, since gene structures are most meaningful when they include information about how each exon contributes to the sequence of the encoded proteins. And since biologists are typically most interested in the proteins that genes encode, genome browser developers could best serve their users by incorporating protein sequence annotations, such as matches to protein sequence profiles, into genomic scenes. We have described one way to do this using the prototype ProtAnnot application, but other techniques besides those we have presented here might be used.
In support of the public, open source visualization projects, we have presented techniques for displaying human genomic sequence data, including semantic zooming for display of sequence and alignment information; use of color to indicate the frame of translated exons; adjustable, moveable tiers to permit easier inspection of a genomic scene; and display of protein domains in the context of genomic sequence to facilitate functional interpretation of transcript variants.
Biology, more so perhaps than other scientific disciplines such as mathematics and physics, relies heavily on visual representations to communicate results, including images such as micrographs that show primary data, as well as images that convey interpretations of the primary data, such as diagrams of gene structures. Genome sequence data and annotations are more complex than traditional data sources, since their interpretation requires both a representation of the results as well as a representation of how the results were produced. Furthermore, in order to believe the results, biologists need a way to explore the data easily. The best way to provide this is to give them interactive, dynamic software that presents genomic information within an easy-to-explore environment that capitalizes on users' innate ability to recognize potentially meaningful patterns embedded in the data.
The visualization applications described here were developed in the Java programming language using the Java-based Neomorphic Genome Software Development Kit (NGSDK), a framework for developing genomic browser applications.
Alignments between cDNA and genomic sequences were produced using pslayout, a fast cDNA-to-genomic sequence alignment tool written by Jim Kent .
An earlier, shorter version of this article appears in the Proceedings of the 2002 IEEE Bioinformatics Conference.
Melissa Cline and Michael Siani-Rose provided valuable comments on the manuscript. Joseph Morris, Eric Blossom, Ed Erwin, Shaw Sun, Steve Chervitz, Adam Tracy, Cyrus Harmon, and Hari Tammana worked on the GeneViewer software and/or the NGSDK. TIGR, Neomorphic, and Affymetrix supported and guided development of the GeneViewer software.
- Burge C, Karlin S: Prediction of complete gene structures in human genomic DNA. J Mol Biol 1997, 268: 78–94. 10.1006/jmbi.1997.0951View ArticlePubMedGoogle Scholar
- Kulp D, Haussler D, Reese MG, Eeckman FH: A generalized hidden Markov model for the recognition of human genes in DNA. Proc Int Conf Intell Syst Mol Biol 1996, 4: 134–42.PubMedGoogle Scholar
- Kent WJ, Sugnet CW, Furey TS, Roskin KM, Pringle TH, Zahler AM, Haussler D: The human genome browser at UCSC. Genome Res 2002, 12: 996–1006. 10.1101/gr.229102. Article published online before print in May 2002PubMed CentralView ArticlePubMedGoogle Scholar
- Helt GA, Lewis S, Loraine AE, Rubin GM: BioViews: Java-based tools for genomic data visualization. Genome Res 1998, 8: 291–305.PubMed CentralView ArticlePubMedGoogle Scholar
- Lander ES, Linton LM, Birren B, Nusbaum C, Zody MC, Baldwin J, Devon K, Dewar K, Doyle M, FitzHugh W, et al.: Initial sequencing and analysis of the human genome. Nature 2001, 409: 860–921. 10.1086/172716View ArticlePubMedGoogle Scholar
- Bederson B, Hollan JD, Perlin K, Meyer J, Bacon D, Furnas GW: Pad++: A zoomable graphical sketchpad for exploring alternate interface physics. J. of Visual Languages and Computing 1996, 7: 3–31. 10.1006/jvlc.1996.0002View ArticleGoogle Scholar
- Bederson B, Myer J, Good L: Jazz: an extensible zoomable user interface graphics toolkit in Java. In: ACM UIST; San Diego, CA. 2000, 171–181.Google Scholar
- Mironov AA, Fickett JW, Gelfand MS: Frequent alternative splicing of human genes. Genome Res 1999, 9: 1288–93. 10.1101/gr.9.12.1288PubMed CentralView ArticlePubMedGoogle Scholar
- Florea L, Hartzell G, Zhang Z, Rubin GM, Miller W: A computer program for aligning a cDNA sequence with a genomic DNA sequence. Genome Res 1998, 8: 967–74.PubMed CentralPubMedGoogle Scholar
- Kent WJ: BLAT-the BLAST-like alignment tool. Genome Res 2002, 12: 656–64. 10.1101/gr.229202. Article published online before March 2002PubMed CentralView ArticlePubMedGoogle Scholar
- Gray TA, Saitoh S, Nicholls RD: An imprinted, mammalian bicistronic transcript encodes two independent proteins. Proc Natl Acad Sci U S A 1999, 96: 5616–21. 10.1073/pnas.96.10.5616PubMed CentralView ArticlePubMedGoogle Scholar
- Iyer R, Jenkinson CP, Vockley JG, Kern RM, Grody WW, Cederbaum S: The human arginases and arginase deficiency. J Inherit Metab Dis 1998, 21: 86–100. 10.1023/A:1005313809037View ArticlePubMedGoogle Scholar
- Bateman A, Birney E, Durbin R, Eddy SR, Howe KL, Sonnhammer EL: The Pfam protein families database. Nucleic Acids Res 2000, 28: 263–6. 10.1093/nar/28.1.263PubMed CentralView ArticlePubMedGoogle Scholar
- Kent WJ, Haussler D: Assembly of the working draft of the human genome with gigassembler. Genome Res 2001, 11: 1541–8. 10.1101/gr.183201PubMed CentralView ArticlePubMedGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article: verbatim copying and redistribution of this article are permitted in all media for any purpose, provided this notice is preserved along with the article's original URL.