Title Comparing biological networks via graph compression

Background: Comparison of various kinds of biological data is one of the main problems in bioinformatics and systems biology. Data compression methods have been applied to comparison of large sequence data and protein structure data. Since it is still difficult to compare global structures of large biological networks, it is reasonable to try to apply data compression methods to comparison of biological networks. In existing compression methods, the uniqueness of compression results is not guaranteed because there is some ambiguity in selection of overlapping edges. Results: This paper proposes novel efficient methods, CompressEdge and CompressVertices, for comparing large biological networks. In the proposed methods, an original network structure is compressed by iteratively contracting identical edges and sets of connected edges. Then, the similarity of two networks is measured by a compression ratio of the concatenated networks. The proposed methods are applied to comparison of metabolic networks of several organisms, H. sapiens, M. musculus, A. thaliana, D. melanogaster, C. elegans, E. coli, S. cerevisiae, and B. subtilis, and are compared with an existing method. These results suggest that our methods can efficiently measure the similarities between metabolic networks. Conclusions: Our proposed algorithms, which compress node-labeled networks, are useful for measuring the similarity of large biological networks. Background Development of algorithms for comparing various kinds of biological data is one of the important topics in bioinformatics and systems biology. Methods for comparison of DNA and/or protein sequences have been extensively studied and have been applied to analyses of real sequence data quite successfully. Due to increased interests in systems biology, extensive studies have recently been done on comparison of biological networks. For comparison of metabolic networks, Ogata et al. developed a method based on clustering [1], Tohsato et al. extended a multiple sequence alignment technique to multiple alignment of metabolic pathways using a scoring scheme based on EC (Enzyme Commission) numbers [2], Pinter et al. applied a tree matching technique to alignment of metabolic pathways [3], and Wernicke and Rasche developed a simple backtracking algorithm utilizing the local diversity property [4]. For comparison of protein-protein interaction networks, Kelley et al. developed PathBlast using dynamic programming [5], Liang et al. developed NetAlign using a clique-based method for computing maximal common subgraphs [6], Li et al. developed MNAligner using integer quadratic programming [7], Singh et al. developed IsoRank algorithm based on Google’s PageRank method [8], and Zaslavskiy et al. developed a gradient ascentbased method and a message passing-based method [9]. On the other hand, data compression methods have been applied to comparison of large sequence data [10,11] and protein structure data [12,13]. Since it is still difficult to compare global structures of large biological * Correspondence: morihiro@kuicr.kyoto-u.ac. jp; takutsu@kuicr.kyoto-u.ac. jp Bioinformatics Center, Institute for Chemical Research, Kyoto University, Gokasho, Uji, Kyoto, 611-0011, Japan Full list of author information is available at the end of the article Hayashida and Akutsu BMC Systems Biology 2010, 4(Suppl 2):S13 http://www.biomedcentral. com/1752-0509/4? issue=S2/S13 © 2010 Hayashida and Akutsu; licensee BioMed Central Ltd. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. networks and data compression-based methods can be applied to comparison of large-scale sequence data, it is reasonable to try to apply data compression methods to comparison of biological networks. In this paper, we propose such methods. In order to apply data compression to biological networks, data compression methods for graphs are required. For compression of graphs, Adler and Mitzenmacher developed a method based of Huffman coding of vertices [14], Peshkin developed GRAPHITOUR based on iterative contractions of identical edges [15], and Cook and Holder developed SUBDUE based on contraction of frequent subgraphs and MDL (minimum description length) principle [16], which was further extended to EDIF for lossless compression by Yang et al. [17]. However, the method by Adler and Mitzenmacher does not seem to be useful for comparison of networks because it does not make much use of structural information. In GRAPHITOUR, the uniqueness of compression results is not guaranteed because there is some ambiguity in selection of overlapping edges (isomorphic graphs may be differently compressed depending on the orderings of vertices in input data), which is not suitable for comparison of network structures. This point is also unclear in EDIF and SUBDUE. Therefore, we develop in this paper novel graph compression methods for which it is guaranteed that two isomorphic graphs are compressed in the same way. Using these compression methods, we measure the similarity of two networks by means of the universal similarity metric (USM) proposed by Li et al.[11]. USM is defined using Kolmogorov complexity which represents the amount of information contained in data, and is obtained by removing redundant parts maximally. Therefore, Kolmogorov complexities are approximated by compression sizes. We apply the proposed methods to comparison of metabolic networks, and compare the results with those of GRAPHITOUR. The results of hierarchical clustering for several organisms suggest that the proposed methods outperforms GRAPHITOUR, and can adequately measure the similarities between metabolic networks. Methods Graph compression method Since our proposed methods are based on GRAPHITOUR, we briefly review the GRAPHITOUR algorithm [15]. GRAPHITOUR is based on iterative contractions of identical edges. In order to efficiently contract edges, GRAPHITOUR selects edges appearing most frequently, and solves an instance of maximum cardinality matching problem, which finds as many edges as possible such that no two edges share a common vertex. Figure 1 shows an example of contraction of identical edges. The graph of (A) contains 4 edges labeled with ‘a’ and ‘b’, 2 edges with ‘a’ and ‘a’, 1 edge with ‘b’ and ‘b’, and 1 edge with ‘a’ and ‘c’. GRAPHITOUR selects edges with ‘a’ and ‘b’ because they appear most frequently, and solves the maximum cardinality matching problem for their edges. However, optimal solutions are not necessarily uniquely determined. (B) shows a contracted graph after the top-left edge with ‘a’ and ‘b’ is substituted with a new vertex labeled with ‘ab’. On the other hand, (C) shows a contracted graph after the top-right edge with ‘a’ and ‘b’ is substituted. This example implies that GRAPHITOUR can generate different compressed graphs. In order to measure the similarity of networks, the same compressed graph should always be obtained. Therefore, we improve GRAPHITOUR for that purpose, and propose the following algorithm, which we call CompressEdge, to uniquely determine contracted edges in each iteration. Procedure CompressEdge Input: undirected graph G(V, E) with labeled vertices V and edges E (a total order ≤ is defined for the set of labels L, and each ν Î V is labeled with lν Î L); Output: induced compression rules R and compressed graph; Begin R := ∅; s(l) := {l} for each label l Î L; while |E| > 0 ε(l1, l2) := {(ν1, ν2) Î E| ( , ) l l   1 2 = (l1, l2) where l l   1 2 ≥ , l1 ≥ l2}; ε := {ε(l1, l2)| no two edges in ε(l1, l2) share a common vertex}; if ε = ∅ then return (R,G); εmost := {ε(l1, l2) Î ε| |ε(l1, l2)| ≥ |ε(l3, l4)| for all ε(l3, l4) Î ε}; selectε(l1, l2)(Î εmost) such that s(l1) ∪ s(l2) l for all l Î L; s(ln) := s(l1) ∪ s(l2); R = R ∪ {ln ¬ (l1, l2)}; for each edge e Î ε(l1, l2) substitutee with a new vertex labeled with ln; return (R, G); End This proposed algorithm avoids contraction of edges which share a common vertex. In the example of Figure 1, our algorithm does not choose edges whose endpoints are ‘a’ and ‘b’, instead chooses the second Hayashida and Akutsu BMC Systems Biology 2010, 4(Suppl 2):S13 http://www.biomedcentral. com/1752-0509/4? issue=S2/S13 Page 2 of 11