Genome Informatics 12: 471–472 (2001) 471
Graphical Representation of Gene Ontology
in Scalable Vector Graphics
Junko Tanoue Noboru Matoba
Masatoshi Yoshikawa Shunsuke Uemura
Graduate School of Information Science, Nara Institute of Science and Technology,
8916-5 Takayama, Ikoma, Nara 630-0101, Japan
Keywords: graphical representation, gene ontology, scalable vector graphics
Graphical representation is important because it helps humans to understand complex information
or concepts. A good example of graphical representation in biology is pathway chart. If consisting
reaction paths were described only in text, understanding a whole pathway would be very diﬃcult.
Many genome databases on the Web use graphical representation in user interface. When images
are used as a user interface, interactivity such as switching or zooming images on request is often
needed. Common ways to provide such functions have been the use of clickable maps, Java applet and
Java Script, etc.
However, when using GIF/JPEG/PNG images, several limitations exist. Those images are static
so that modifying their properties on client-side is not possible. Also, sometimes all image ﬁles must
be prepared in advance because dynamically generating raster images is not a simple task.
2 Materials and Methods
A Graphical browser for Gene Ontology (GO)  is under development. In our system, we use
SVG(Scalable Vector Graphics) for image ﬁles.
SVG 1.0  became a W3C Recommendation on September 5, 2001. SVG is a language for
describing two-dimensional vector and mixed vector/raster graphics in XML. Advantages of SVG over
other image formats (GIF/JPEG/PNG) are that SVG images can be easily generated on server-side
and dynamically modiﬁed on client-side by utilizing the Document Object Model (DOM) .
SVG images can be viewed by Adobe SVG Viewer , which is a plug-in for Internet Explorer.
Modiﬁcation of SVG data on client-side is implemented in ECMA Script in our system.
We chose GO since viewing the GO hierarchy graphically is useful. GO is getting more attention
because of the Gene Ontology Consortium’s eﬀort to keep its consistency, and useful pointers indicating
GO entries from other classiﬁcation systems, such as InterPRO, SwissPROT and Enzyme Commission,
etc. GO is available both in special text format and in XML format. We use XML format since
generating a SVG image from XML data is easily performed by XSLT  technology. Fig. 2 and
Fig. 2 explain the XML tree structure and the semantic structure of GO. All GO terms have the same
parent and the data structure of XML is a very ﬂat tree. On the other hand, the semantic structure
is not a tree. Each term has one or more isa (and/or part-of) elements which are the pointers to its
472 Tanoue et al.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE go:go PUBLIC "-//Gene Ontology//Custom XML/RDF Version 2.0//EN"
<go:version timestamp="Tue Sep 4 23:30:03 2001" />
<go:term rdf:about="http://www.geneontology.org/go#GO:0003673" n_associations="0">
a term element <go:name>Gene_Ontology</go:name> part-of
<go:term rdf:about="http://www.geneontology.org/go#GO:0003674" n_associations="0">
<go:definition>The action characteristic of a gene product.</go:definition>
<go:part-of rdf:resource="http://www.geneontology.org/go#GO:0003673" />
<go:term rdf:about="http://www.geneontology.org/go#GO:0015643" n_associations="0">
<go:isa rdf:resource="http://www.geneontology.org/go#GO:0003674" />
Figure 1: The beginning part of GO in XML format.
a pointer to a parent term
the root of XML
XML tree semantic structure
Figure 2: XML tree of GO and its semantic structure.
Our goals are to achieve a graphical representation of GO and to examine the capability of SVG as a
way to provide user interface on the Web.
As for expressiveness of SVG, it allows us to realize richer interaction than what we could do with
other image formats.
Several challenges have been known in the course of designing the system. The most diﬃcult part
of drawing a whole graph of GO is to arrange each object in a proper position. XML data has tree
structure. However, semantic structure of GO is not a tree (Fig. 2). In the GO hierarchy, a term can
have more than one parent. This fact makes the problem more diﬃcult.
The system should be capable to reﬂect the updates of GO because GO is evolving and changes
 Ashburner, M. et al., Gene ontology: tool for the uniﬁcation of biology. The Gene Ontology
Consortium, Nature Genet., 25:25–29, 2000.