Abstract
Background
The elucidation of wholecell regulatory, metabolic, interaction and other biological networks generates the need for a meaningful ranking of network elements. Centrality analysis ranks network elements according to their importance within the network structure and different centrality measures focus on different importance concepts. Central elements of biological networks have been found to be, for example, essential for viability.
Results
CentiBiN (
 Cent
 i
 Bi
 N
Conclusion
CentiBiN helps systems biology researchers to identify crucial elements of biological networks. CentiBiN including a user guide and example data sets is available free of charge at http://centibin.ipkgatersleben.de/ webcite. CentiBiN is available in two different versions: a Java Web Start application and an installable Windows application.
Background
The shift of biological research towards massively parallel techniques opens new opportunities but at the same time raises problems in deriving meaningful information out of the wealth of generated data. Such data might be represented as networks, in which the vertices (e.g. transcripts, proteins or metabolites) are linked by edges (correlations, interactions or reactions, respectively). Structural analysis of networks can lead to new insights into biological systems and is a helpful method for proposing new hypotheses. Several techniques for such structural analysis exist, such as the analysis of the global network structure (e.g. scalefree networks [1]), network motifs (i.e. small subnetworks which occur significantly more often in the biological network than in random networks [2]), network clustering (modularisation of the network into parts [3]) and network centralities [4]. Network centralities are used to rank elements of a network according to a given importance concept.
Ranking of network elements has been used to analyse biological networks in several cases. For example, it has been shown for metabolic networks that the most central metabolites are evolutionarily conserved [5]. Moreover, in the proteinprotein interaction network of baker's yeast (Saccharomyces cerevisiae) it has been found that the centrality of a protein correlates with the essentiality of its gene, which was characterised by a high probability of a lethal effect observed upon knockout of this gene [6]. Recently, it has been observed that in transcript coexpression networks genes with high degreecentrality, that is, highly connected genes, tend to be essential and conserved [7].
The determination of central elements in biological networks will create new hypotheses that lead to more rational approaches in experimental design. If the important elements of a network are known, further experimental investigations can be limited to them. Depending on the biological question, a vertex of a network might be of importance, for example, if it is connected to many other vertices or if the sum of the shortest path distances to all the other vertices is small, see Figure 1. For these different ranking concepts, a broad variety of centrality measures are available (see Table 1) which have been described in a recent review [8].
Table 1. Definitions for the centrality measures. Let G = (V, E) be an undirected or directed, (strong) connected graph with n = V vertices; deg(v) denotes the degree of the vertex v in an undirected graph; dist(v, w) denotes the length of a shortest path between the vertices s and t; σ_{st }denotes the number of shortest paths from s to t and σ_{st}(v) the number of shortest path from s to t that use the vertex v. Let A be the adjacency matrix of the graph G. For a more detailed description and further references please see [8, 27]. Abbreviations used: S.P.: shortest path, C.F.: current flow.
Figure 1. Different centrality measures rank vertices differently. The most important vertices according to the degreecentrality (red), that is, where a vertex of a network is central if it is highly connected, and the Closeness centrality (blue), that is, where a vertex is central if the sum of the shortest path distances to all the other vertices is small.
However, the use of centralities as a structural analysis method for biological networks is controversial and several centrality measures should be considered within an exploratory process [9]. To support such analysis and due to the complexity of both biological networks and centrality calculations, a tool is needed to facilitate these investigations. Here we present CentiBiN, an application for the calculation and visualisation of centralities for biological networks.
Implementation
The core of CentiBiN are newly implemented algorithms for centrality analysis and visualisation (e.g. most of the centrality measures, the graphical user interface, cleanup methods and some imports/exports such as DOT, Pajek .vec and TSV). It is based on JUNG, the Java Universal Network/Graph Framework, an open source library which can be downloaded from [10]. JUNG provides standard graph library functionality (e.g. data structures, imports/exports, layouts, graph generators and a few centrality algorithms). CentiBiN is written in Java. It requires an installation of the Java Runtime Environment Version 1.4.2 or later which is available from the Java download page [11]. It is available free of charge as a Java Web Start application and an installable Windows application including a user guide and example data sets. Depending on available main memory and the centrality algorithm used networks up to several tens of thousands vertices can be analysed. Large networks with several thousand vertices are not readable on a computer screen anymore and the drawing routine significantly slows down for such networks. Thus they are not displayed, but can nevertheless be analysed and exported. A corresponding threshold is configurable by the user.
Results and discussion
CentiBiN's major features are:
Computation of centralities
CentiBiN supports a wide range of different centrality measures ranging from local measures (which only consider the direct neighbourhood of a vertex) to global measures. In total 17 centralities for undirected networks and 15 centralities for directed networks are available, see Table 2.
Table 2. Centrality measures implemented in CentiBiN. Definitions for these measures can be found in Table 1.
Plotting the distribution of centrality values
The distribution of centrality values and a histogram of centrality values can be displayed, see Figure 2. Several of these diagrams can be opened simultaneously and allow the easy comparison of the centrality distributions.
Figure 2. Plots generated with CentiBiN. The distribution of the degree centrality and a histogram of the closeness centrality for a random network.
Visualisation and navigation within the network
From the list of centrality values several vertices can be selected. These are highlighted in the network and can therefore be easily located. Additionally CentiBiN supports zoom and pan functionalities to navigate within a displayed network. The underlying graph library offers five different layout algorithms for networks, reaching from simple circular to more advanced force directed layouts [12,13]. Depending on the network, one or the other layout method results in a better visualisation.
Cleaning up a network
Depending on the centrality measure to be applied, the network has to fulfil certain preconditions. These can be simplicity, connectedness, and loopfreeness. Therefore, several algorithms are implemented for transforming a network into the required form. These are the removal of all loops (edges from one vertex to itself), the removal of all vertices that are not part of the largest connected component (giant strong component), the removal of all parallel edges, and the transformation of the network into an undirected or directed form.
Reading and writing networks and centralities
Networks can be loaded out of four different file formats: the Pajek .net file format [14], a text file containing an adjacency matrix representation of a network, the GraphML file format [15] and the TSVfiles provided by the Database of Interacting Proteins (DIP) [16]. It is possible to store networks in the Pajek .net file format, in a text file containing a representation of the adjacency matrix, and in the DOT file format used by Graphviz [17]. To support further analysis of computed centralities they can be saved either in the Pajek .vec file format or in a TSV format. These files can be imported in other applications, such as R [18].
Generation of random networks
The generation of random networks based on five different algorithms (provided by JUNG), such as Kleinberg's smallworld generator [19] and the BarabásiAlbert scalefree generator [20], is available. These networks can be analysed and visualised and may be used as reference models.
Analysing proteinprotein interactions
A typical example for networks which can be analysed are proteinprotein interaction networks. All interactions between proteins of an organism can be represented as a network. Several databases contain information about such proteinprotein interactions. We chose the Database of Interacting Proteins (DIP) [16] from which interaction data can be imported into CentiBiN. Figure 3 shows screenshots of the tool with interaction data from Escherichia coli and Mus musculus (mouse). The most import proteins according to the CurrentFlow betweenness [21] are highlighted.
Figure 3. Two screenshots showing centrality analysis with CentiBiN. The networks represent proteinprotein interactions in Escherichia coli (top) and Mus musculus (bottom) according to the Database of Interacting Proteins (DIP), release 20050126. The top ranking proteins according to the CurrentFlow Betweenness centrality [21] are highlighted.
Comparison and outlook
Besides CentiBiN, several other software tools support the analysis of networks with centralities. Many of them are described in detail in the work of Huisman and van Duijn [22]. The focus of their comparison lies on software for social network analysis, an area where interactions between individuals are analysed. As the original concept of centralities can be traced back into this field of science, software packages for social network analysis often provide methods for centrality analysis. Some of the tools evaluated by Huisman and van Duijn are commercial (UCINET, NetMiner), have a text based front end (STRUCTURE) or are software systems for advanced statistical modelling of social networks (StOCNet). Furthermore, only some of them have more than a few centralities implemented (e.g. MultiNet, Visone, Pajek). Most of the tools specifically designed for the analysis of biological networks (e.g. Cytoscape [23], Osprey [24]) do not support centrality analysis so far. The distribution plot (see Figure 2) is similar to the plot available in VisANT [25]. Compared to CentiBiN none of the available systems covers this extensive number of different centrality measures. Moreover, CentiBiN supports direct access to biological data, allows the visualisation of the network and the centralities together, has a simple input file format, and is available free of charge. For the next release we plan to integrate several methods for comparison of centralities with biological information. For that it is foreseen to integrate mechanisms to mark vertices according to given information or to correlate centralities with experimental results. Additionally we plan to support more input formats, for example PSI's Molecular Interaction XML Format [26] and to implement advanced visualisation methods.
Conclusion
CentiBiN is a tool for the computation and exploration of centralities in biological networks. With CentiBiN it is possible to infer information about the "importance" of an element in a biological network based on different importance concepts. We have applied this for proteinprotein interaction networks. We are convinced that CentiBiN provides valuable help to systems biologists in the generation of hypotheses from largescale data sets.
Availability and requirements
• Project name: CentiBiN
• Project home page: http://centibin.ipkgatersleben.de/ webcite
• Operating system (s): Platform independent
• Programming language: Java
• Other requirements: Java 1.4.2 or higher, 256 MB RAM recommended
• License: The CentiBiN application is available free of charge.
• Any restrictions to use by nonacademics: none
Authors' contributions
All authors participated in the design of the system. DK implemented the system. DK and BHJ drafted the manuscript. All authors read, revised and approved the final version and were listed in alphabetical order.
Acknowledgements
The German Ministry of Education and Research (BMBF) supported part of this work under grants 0312706A and 0313115. We like to thank the developers of the JUNG library for their excellent work, Michael Telgkamp for his work on the implementation and Daniel Fleischer for his help in implementing two centrality algorithms.
References

Albert R, Barabási AL: Statistical Mechanics of Complex Networks.
Reviews of Modern Physics 2002, 74:4797. Publisher Full Text

Milo R, ShenOrr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U: Network Motifs: Simple Building Blocks of Complex Networks.
Science 2002, 298(5594):824827. PubMed Abstract  Publisher Full Text

Holme P, Huss M, Jeong H: Subnetwork hierarchies of biochemical pathways.
Bioinformatics 2003, 19(4):532538. PubMed Abstract  Publisher Full Text

Wuchty S, Stadler PF: Centers of complex networks.
J Theor Biol 2003, 223:4553. PubMed Abstract  Publisher Full Text

Fell DA, Wagner A: The small world of metabolism.
Nat Biotechnol 2000, 18:11211122. PubMed Abstract  Publisher Full Text

Jeong H, Mason SP, Barabási AL, Oltvai ZN: Lethality and centrality in protein networks.
Nature 2001, 411:4142. PubMed Abstract  Publisher Full Text

Bergmann S, Ihmels J, Barkai N: Similarities and Differences in Genome Wide Expression Data of Six Organisms.
PLoS Biol 2004, 2:8593. Publisher Full Text

Koschützki D, Lehmann KA, Peeters L, Richter S, TenfeldePodehl D, Zlotowski O: Centrality Indices. In Network Analysis: Methodological Foundations, Volume 3418 of LNCS Tutorial. Edited by Brandes U, Erlebach T. Springer; 2005:1661.

Koschützki D, Schreiber F: Comparison of Centralities for Biological Networks.
Proc German Conf Bioinformatics (GCB'04), Volume P53 of LNI 2004, 199206.

JUNG, the Java Universal Network/Graph Framework [http://jung.sourceforge.net] webcite

Java Web Page [http://www.java.com/] webcite

Kamada T, Kawai S: An algorithm for drawing general undirected graphs.
Information Processing Letters 1989, 31:715. Publisher Full Text

Fruchterman TMJ, Reingold EM: Graph Drawing by Forcedirected Placement.

Batagelj V, Mrvar A: Pajek – Analysis and Visualization of Large Networks. In Graph Drawing Software. Edited by Jünger M, Mutzel P. Berlin: Springer; 2004:77103.

Brandes U, Eiglsperger M, Herman I, Himsolt M, Marshall MS: GraphML Progress Report: Structural Layer Proposal. In Proceedings of the 9th International Symposium on Graph Drawing, Volume 2265 of Lecture Notes in Computer Science. Edited by Mutzel P, Jünger M, Leipert S. Berlin: Springer; 2002:501512.

Salwinski L, Miller CS, Smith AJ, Pettit FK, Bowie JU, Eisenberg D: The Database of Interacting Proteins: 2004 update.
Nucleic Acids Res 2004, 32:D449D451. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Graphviz – Graph Visualization Software [http://www.graphviz.org/] webcite

R Development Core Team: R: A language and environment for statistical computing. [http://www.Rproject.org] webcite
R Foundation for Statistical Computing, Vienna, Austria 2005.
[ISBN 3900051070]

Kleinberg JM: Navigation in a small world.
Nature 2000, 406:845. PubMed Abstract  Publisher Full Text

Barabási AL, Albert R: Emergence of scaling in random networks.
Science 1999, 286:509512. PubMed Abstract  Publisher Full Text

Brandes U, Fleischer D: Centrality Measures Based on Current Flow.
Proc 22nd Symp. Theoretical Aspects of Computer Science (STACS '05), Volume 3404 of Lecture Notes in Computer Science (LNCS), SpringerVerlag 2005, 533544.

Huisman M, van Duijn MA: Software for Social Network Analysis. In Models and Methods in Social Network Analysis. Edited by Carrington PJ, Scott J, Wasserman S. New York: Cambridge University Press; 2004:270316.

Shannon P, Markiel A, Ozier O, Baliga NS, Wang JT, Ramage D, Amin N, Schwikowski B, Ideker T: Cytoscape: A Software Environment for Integrated Models of Biomolecular Interaction Networks.
Genome Res 2003, 13(11):24982504. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Breitkreutz BJ, Stark C, Tyers M: Osprey: a network visualization system.

Hu Z, Mellor J, Wu J, Yamada T, Holloway D, DeLisi C: VisANT: dataintegrating visual framework for biological networks and modules.
Nucleic Acids Res 2005, (33 Web Server):W352W357. PubMed Abstract  Publisher Full Text  PubMed Central Full Text

Hermjakob H, MontecchiPalazzi L, Bader G, Wojcik J, Salwinski L, Ceol A, Moore S, Orchard S, Sarkans U, von Mering C, Roechert B, Poux S, Jung E, Mersch H, Kersey P, Lappe M, Li Y, Zeng R, Rana D, Nikolski M, Husi H, Brun C, Shanker K, Grant SGN, Sander C, Bork P, Zhu W, Pandey A, Brazma A, Jacq B, Vidal M, Sherman D, Legrain P, Cesareni G, Xenarios I, Eisenberg D, Steipe B, Hogue C, Apweiler R: The HUPO PSI's Molecular Interaction format – a community standard for the representation of protein interaction data.
Nat Biotechnol 2004, 22:177183. PubMed Abstract  Publisher Full Text

Jacob R, Koschützki D, Lehmann KA, Peeters L, TenfeldePodehl D: Algorithms for Centrality Indices. In Network Analysis: Methodological Foundations, Volume 3418 of LNCS Tutorial. Edited by Brandes U, Erlebach T. Springer; 2005:6282.

Harary F, Hage P: Eccentricity and centrality in networks.
Social Networks 1995, 17:5763. Publisher Full Text

Sabidussi G: The Centrality Index of a Graph.
Psychometrika 1966, 31:581603. PubMed Abstract  Publisher Full Text

Valente TW, Foreman RK: Integration and radiality:measuring the extent of an individual's connectedness and reachability in a network.
Social Networks 1998, 1:89105. Publisher Full Text

Shimbel A: Structural Parameters of Communication Networks.
Bulletin of Mathematical Biophysics 1953, 15:501507. Publisher Full Text

Freeman LC: A Set of Measures of Centrality Based Upon Betweenness.
Sociometry 1977, 40:3541. Publisher Full Text

Katz L: A new status index derived from sociometric analysis.
Psychometrika 1953, 18:3943. Publisher Full Text

Bonacich P: Factoring and Weighting Approaches to Status Scores and Clique Identification.

Hubbell CH: In InputOutput Approach to Clique Identification.
Sociometry 1965, 28:377399. Publisher Full Text

Bonacich P: Power and Centrality: A Family of Measures.
American Journal of Sociology 1987, 92(5):11701182. Publisher Full Text

Page L, Brin S, Motwani R, Winograd T: The PageRank Citation Ranking: Bringing Order to the Web.
Tech rep, Stanford DigitalLibrary Technologies Project 1998.

Kleinberg JM: Authoritative Sources in a Hyperlinked Environment.
Journal of the ACM 1999, 46(5):604632. Publisher Full Text