Background

The hierarchical structure and the detailed gene annotation of Gene Ontology (GO) provide biologists a convenient tool to identify enriched gene sets in high-throughput omics-based experiments. In GO, the ontology terms represent biological knowledge and describe functions for genes and gene products. GO consists of three categories, i.e. molecular function (MF), biological process (BP) and cellular component (CC). GO provides rich information as an integrated resource and is convenient to study gene functional similarity [1, 2]. With GO, biologists can quickly test their biological hypotheses and design new experiments [1].

Various computational tools have been developed to identify functionally similar genes or gene products by comparing the annotated GO terms. According to the types of information in GO they use, these methods have been divided into three categories: 1) edge-based measurements, 2) node-based measurements, and 3) hybrid measurements [3, 4]. In the first category, tools are fully dependent on the structure of GO, so that these tools simply treat the terms at the same topological level equally [5]. In the second category, tools consider both the gene annotation and the common ancestors of the target terms. But they neglect the complex topology of GO [6, 7]. In the third category, tools focus on the topological property of the GO structure but neglect the gene annotations [8].

Since none of the existing GO-based gene function similarity measurements can consider all the information in GO (i.e., hierarchical structure, gene annotation, all common ancestors, most informative common parent, etc.), we recently proposed two integrative measurements successively to unite the advantage of the existing measures [9, 10]. Our measurements automatically select and integrate seed measurements with a meta-heuristic search based method. In the following text, we briefly introduce our measurements; please refer to the algorithmic details at [9]. Our algorithm has three steps. First, given a background gene set which includes a lot of genes, all their ranked similarity values are pre-calculated with all the selected GO-based semantic similarity measurements (called seed measurements). Second, for every gene pair in user’s input, the most appropriate seed measurements are selected with a grouping method. Finally, we develop a meta-heuristic search model and estimate its parameters by maximizing the distances between distinct EC groups which are manually curated. The algorithm has been tested on MF category, BP category, and protein sequence data. The experimental results indicate that our integrative measurement performs significantly better than the existing measurements.

Various web-based applications have been developed to calculate gene functional similarities based on Gene Ontology. The web-based approach is favorable since users do not need to install tools and maintain the GO data on their computers. The existing web-based GO applications include GossToWeb [11], ProteInOn [12], FunSimMat [13] and G-SESAM [14]. While choosing the best measurement for a specific gene set is critical, none of the aforementioned web-based applications provide a solution. On top of it, most of these tools use the pure text-based format as output. Simply listing gene-to-gene similarity values in a big table neglects the fact that such data visualization is far beyond the direct perception of the human eyes. Biologists face challenges to effectively reduce vast and diverse data into representations that can be interpreted in a biological context. Moreover, there is currently no tools that allow researchers to wander around gene-to-gene associations and make discoveries by following intuition or simple serendipity.

It is desirable to develop an instant interactive web-based application that allows researchers to intuitively explore gene functional similarities and associations, and to visualize the results with an easy-to-use web interface. In this paper, we present InteGO2, which, comparing with the existing semantic similarity web tools, has the following major advantages:

  • InteGO2 is an integrative solution toward automatically choosing and weighing gene functional similarity measurements for the user provided gene set.

  • InteGO2 has an easy-to-use HTML5 based web interface. It can effectively visualize the network of genes based on their functional similarities.

  • InteGO2 is available for 98 species and supports 24 kinds of popular Gene ID types.

Methods

InteGO2 is a Browser/Server (BS) architecture-based web application. The back end is implemented using Python 2.7 and the web develop framework web.py. MySQL is used for data management. In the front end, Asynchronous JavaScript and XML (AJAX) and JavaScript Object Notation (JSON) are used for efficient data transmission between the browser and server. HTML5 canvas and cytoscape.js [15] are used as the graphics engine for the visualization. The GO annotations of all organisms are downloaded from the GO website (http://www.geneontology.org/) and are updated automatically to ensure that the most recent annotations are used. InteGO2 embed a gene ID mapping API provided by UniProt website (http://www.uniprot.org/). A user can submit a gene list to web tool using one of the 98 different gene ID types.

Results and Discussion

InteGO2 provides a convenient way to calculate and visualize the functional association between genes based on GO. The user guide of InteGO2 is included in Additional file 1. There are two main operations to use InteGO2: 1) to submit a gene list and specify parameters, and 2) to visualize and download the gene functional similarities.

User inputs

The first user interface of InteGO2 requires inputs in three categories: the input genes and related information (Fig. 1 a), choosing similarity measurement and GO category (Fig. 1 b), and user information (Fig. 1 c). In the first category, a user can input a gene list (or gene pair list) and select the organism and the type of gene name. Currently, 24 organisms are supported (Table 1). Using the ID mapping API from uniProt, we support up to 98 different types of gene IDs belonging to 24 species.

Fig. 1
figure 1

The user input interface of I n t e G O2. The inputs are grouped into three categories: a the input genes and related information, b choosing similarity measurement and GO category, and c user information

Table 1 List of available organisms in InteGO2. Annotated entity count field represents the number of annotated entity. Annotation count field represents the total number of annotations in the annotation file. (Noted that this table may be changed, since the annotation file is updated with the official Gene Ontology website automatically. This table was generated at Feb. 6th, 2015)

In the second category, a user can choose a similarity measurement and a GO category. A recent measurement [5] and six widely-used similarity measurements [68, 1618] are available to choose. Also, we provide an integrative measurement of all the aforementioned approaches [9]. The description of these measurements is in subsection 2.4.

In the third category, a user can leave an email address and the name of the experiment, so that notification will be sent to the user when the job is done. Once all the information is submitted, we validate it for error checking. The validation process checks the format of input genes or gene pairs and all the user specified parameters. The user is notified immediately if any error is found. After that, we calculate the gene-to-gene similarities using the user specified measurement and construct a functional association network.

Note that all the submitted jobs are maintained on the backend server by a job scheduler. Once a job is finished, its job id will be sent to the user who submitted the job, if the user’s email address is provided. If a user does not leave the email address, the user should keep the submission webpage unclosed, so that the experimental results can be displayed on the same webpage. The experimental results will be kept on the back end server for at least two weeks. In addition we also keep the detailed information of the calculation process, such as the number of genes in the input list that cannot be measured because of lack of GO annotations.

Visualization interface

The visualization interface of InteGO2 (Fig. 2) shows the resulting gene association network in the center of the web page, in which a node represents a gene, and an edge indicates that the similarity score between the two corresponding genes is greater than an edge similarity threshold. Interactive browsing of the network can be performed conveniently using the mouse: scroll to zoom out or zoom in, left click to select a node, long-left click and drag to move the network, and long-right click a node to activate the node operation panel (Fig. 2 g). Using the node operation panel, a user can add the current gene to a gene list of interest shown in panel A, change node color, and lock a node for multiple node operations.

Fig. 2
figure 2

The visualization interface of I n t e G O2 to explore gene functional similarities based on GO. The network is shown in panel (c), in which a node represents a gene, and an edge indicates that the similarity score between the two corresponding genes is larger than an edge similarity threshold, which can be changed in panel (a). Edge similarity scores distribution shown in panel (b) helps users to choose an appropriate threshold. The gene information panel (d) and (e) show the recently chosen genes and current gene respectively. Panel f shows the neighbors of the recently chosen genes. The node operation panel (g) allows users to flag, lock or unlock a gene. The selected subnetwork is shown in (h)

A user can adjust the edge similarity threshold by dragging the threshold bar or inputting a specific value, and the network will change simultaneously (Fig. 2 a). To help choose the appropriate edge similarity threshold, the overall edge similarity scores distribution is displayed (Fig. 2 b). A user can select different graph layouts for graph visualization (Table 2). A user can also select subnetworks by specifying a gene subgroup (see Fig. 2 h).

Table 2 The layouts supported in the visualization interface. The six layouts supported in the visualization interface of InteGO2

The gene information panels (Fig. 2 d,e,f) show the recently selected genes, current gene, and the neighbors of the recently selected gene respectively. By clicking a gene ID, a user can fetch more detailed information about the gene from NCBI (www.ncbi.nlm.nih.gov/gene) and the GO term information from Amigo (amigo.geneontology.org).

An illustrative example of using InteGO2

We use the sample gene list in InteGO2 website as the example to demonstrate how to use I n t e G O2. First, we set the parameters in Fig. 1 a as follows: the organism is Homo sapiens, the type of input is “gene list”, and the gene list is the sample gene list provided by the website in the UniProtKB AC/ID format. Second, in Fig. 1 b we select “Integrative Approach (InteGO2)” to be the GO similarity measurement and Molecular Function to be the GO category used in the measurement. The parameters in Fig. 1 c are optional, but we still enter an email address and provide the experiment name. Finally, we click the “submission” button.

Once our job is finished, we select “Display the visualization of similarity” to view the experimental results using the visualization interface (Fig. 2). By changing the gene-to-gene similarity threshold in Fig. 2 a, we generate two gene functional association networks with a different number of nodes and edges (see Fig. 3), and visualize them by selecting two different graph layouts, i.e., concentric and cola (see Fig. 4). Given the gene functional association network in the right figure in Fig. 3, we choose three genes (Q6I Q55, P49840 and Q9B Z X2) as the interested genes, add them into a blank box in Fig. 2 a, and click the “select” button. Then the subnetwork that only includes the selected genes is highlighted (see the right figure in Fig. 5). We further add all the neighbor of the selected genes into the highlighted network (see the left figure in Fig. 5) and save it to local hard drive as the final output.

Fig. 3
figure 3

An illustrative example of two networks with different thresholds. An illustrative example of two gene functional association networks with different gene-to-gene similarity thresholds(all the other parameters are the same).The threshold used in the left figure and the right figure are 0.9 and 0.8 respectively

Fig. 4
figure 4

An illustrative example of visualizing a network with two different graph layouts. An illustrative example of visualizing a gene functional association network (left figure in Fig. 3) with two different graph layouts

Fig. 5
figure 5

An illustrative example of selecting interested genes to construct subnetworks. The right figure shows three interested genes (Q6I Q55, P49840 and Q9B Z X2) are selected, and the left figure shows that all the direct neighbors of the interested genes are selected as well

GO-based semantic similarity measures

Eight GO-based semantic similarity measures are available in our web tool I n t e G O2. In this subsection, we will introduce the eight measurements briefly.

1) Integrative approach (InteGO2)

The framework of InteGO2 is shown in Fig. 6. The whole process contains two parts: one part is gene-to-gene similarity calculation (left) for the input gene set G; the other part is model training (right), in which the parameters of InteGO2 are estimated using a training set T by maximizing the distances between distinct EC groups; In InteGO2, two key problems are solved, i.e. to choose the most appropriate seed measures for each gene pair from all the candidate measures and to appropriately integrate the selected seed measures.

Fig. 6
figure 6

Framework of InteGO2. Framework of I n t e G O2 for calculating gene-to-gene similarities for a input gene set (left) and for estimating the parameters in the integration model (right)

InteGO2 is an integrative measure of computing similarity. It automatically selects appropriate seed measures and then integrates them using a meta-heuristic search method [9]. I n t e G O2 has three steps. First, calculate all the similarity scores using all the candidate measures and rank them, resulting in a ranked matrix M r. Second, a grouping process is applied on M r to identify the common features of all measures, with which we define seed measures for each gene pair, saved in S can. Third, integrate all the measures in S can with an addition model, in which the weight of each component is estimated by applying a learning process on a training set. Experimental results using ECs and pathways show that InteGO2 performs better than the existing measures. It also indicates that InteGO2 is robust against the unavailability of candidate measures. It is noted that an algorithm called InteGO was proposed in the previous work to unify different measures [10], which can be considered as a simplified case of InteGO2. The new functional association maps generated based on the gene-to-gene similarities based on InteGO2, together with the existing biological networks, may provide more biological insights into gene function and regulation.

2) Information content-based (Resnik)

Information Content (IC) of the lowest common ancestor (LCA) is a popular GO term similarity measurement [7], which combines IC and ontology structure. Given a GO term t, its IC can be calculated as I C(t)=−l o g(|G t|/|G|), where G and G t represent gene sets annotated to root term and t respectively. Given two GO terms t a and t b, we define G LCA as gene set annotated to the LCA of t a and t b. The similarity of GO term t a and t b is computed by Eq. 1.

$$ Sim_{Resnik}(t_{a}, t_{b}) = IC(LCA) = -log\frac{|G_{LCA}|}{|G|} $$
(1)

3) Normalized information content-based (Schlicker)

Given two GO terms t a and t b, Schlicker et al. proposed a method to measure their similarity as Eq. 2. The first part of Eq. 2 used IC of t a and t b to normalized the IC of their LCA. The second part of Eq. 2 is a weighting score decided by the level of their LCA in GO.

$$ Sim_{Schlicker}(t_{a}, t_{b}) = \frac{2 \times IC(LCA)}{IC(t_{a})+IC(t_{b})} \times \left(1 - \frac{|G_{LCA}|}{|G|}\right) $$
(2)

4) Topology information based (Wang)

Different with the gene annotation based measurements, Wang et al. developed a GO topology based method that considers all the ancestor terms [8]. Let t a and b be a GO term and its ancestor term. We define the maximal semantic contribution of the linkages from t a to p as the semantic contribution of t a to p. The similarity of GO term t a and t b is defined as follows.

$$ Sim_{Wang}(t_{a}, t_{b}) = \frac{\sum_{p \in P_{a} \bigcap P_{b}}{\left(S_{ta,p} + S_{tb,p}\right)}}{\sum_{p \in P_{a}}S_{ta,p} + \sum_{p \in P_{b}}S_{tb,p}} $$
(3)

where P a and P b represent the sets of all the ancestors of t a and t b respectively.

5) Union information-based (simUI)

Let g 1 and g 2 be two genes. T 1 and T 2 represent the set of GO terms annotation g 1 and g 2. simUI [16] measures similarity as Eq. 4.

$$ GeneSim_{simUI}(g_{1}, g_{2}) = \frac{|T_{1} \bigcap T_{2}|}{|T_{1} \bigcup T_{2}|} $$
(4)

6) Graph information content (simGIC)

Combining simUI and Resnik measure, simGIC sums information content (IC) of the terms, not just count the terms [17].

7) Term overlap (TO)

Let g 1, g 2 be two genes and T 1, T 2 be the sets of GO terms annotating g 1, g 2 respectively [18]. TO method computes the similarity score as follows.

$$ GeneSim_{TO}(g_{1}, g_{2}) = |T_{1} \bigcap T_{2}| $$
(5)

8) Hybrid relative specificity similarity (HRSS)

Let t a and t b be two GO terms. To consider the topological information of GO, relative specificity similarity (RSS) measure the distance from t a, t b to their closest leaf terms and the distance from t a, t b to their most recent common ancestor (MRCA). Based on RSS, Wu et al. proposed Hybrid Relative Specificity Similarity (HRSS) employing adapting topology, information content and most informative common ancestor [5]. The similarity score between t a and t b is computed by following equations.

$$ \begin{aligned} Sim_{HRSS}(t_{a}, t_{b}) = \frac{1}{1+dist(MICA, t_{a})+dist(MICA, t_{b})} \times W \end{aligned} $$
(6)
$$ \begin{aligned} W =\frac{IC(root) - IC(MICA)}{IC(root) - IC(MICA) + \frac{IC(t_{a}) - IC(MIL_{a}) + IC(t_{b}) - IC(MIL_{b})}{2}} \end{aligned} $$
(7)

where root represents the root term of GO; MICA represents the most informative common ancestor of t a and t b; M I L a and M I L b are the most informative child leaf of t a and t b respectively; d i s t(x,y) represents the distance from x to y in GO; I C(x) represents the information content (IC) of x.

Conclusions

The Gene Ontology (GO) is a widely used bioinformatics resource. Various methods and web tools have been proposed to compute gene functional similarities based on GO. However, these tools only provide text file or web page includes similarity scores as final output for users, ignoring the appropriate visualization interface for result interpretation.

In this paper, we developed an easy-to-use web tool, named InteGO2, which allows users to conveniently measure gene functional similarity with eight different measures and visualize the resulting gene functional association networks with a web interface. InteGO2 supports up to 98 different of gene IDs belonging to 24 species. The GO data used in InteGO2 tool could be updated automatically to keep consistent with the most recent data from the official website of GO. In summary, InteGO2 is an easy-to-use web tool for researchers to measure and visulize GO-based gene functional similarities.