 Software
 Open Access
Exploration of biological network centralities with CentiBiN
 Björn H Junker^{1},
 Dirk Koschützki^{1}Email author and
 Falk Schreiber^{1}
https://doi.org/10.1186/147121057219
© Junker et al; licensee BioMed Central Ltd. 2006
 Received: 13 December 2005
 Accepted: 21 April 2006
 Published: 21 April 2006
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 ralities i n Bi ological N etworks) is a tool for the computation and exploration of centralities in biological networks such as proteinprotein interaction networks. It computes 17 different centralities for directed or undirected networks, ranging from local measures, that is, measures that only consider the direct neighbourhood of a network element, to global measures. CentiBiN supports the exploration of the centrality distribution by visualising central elements within the network and provides several layout mechanisms for the automatic generation of graphical representations of a network. It supports different input formats, especially for biological networks, and the export of the computed centralities to other tools.
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/. CentiBiN is available in two different versions: a Java Web Start application and an installable Windows application.
Keywords
 File Format
 Social Network Analysis
 Centrality Measure
 Biological Network
 Network Element
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].
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.
Name  Definition  Remarks  Ref 

Degree  $\mathcal{C}$_{ deg }(v) := deg(v)  For directed graphs in and outdegree is used.  
Eccentricity  ${\mathcal{C}}_{\u212f\mathcal{c}\mathcal{c}}\left(v\right):=\frac{1}{\mathrm{max}\left\{\text{dist}\left(v,w\right):w\in V\right\}}$  [28]  
Closeness  ${\mathcal{C}}_{\mathcal{c}\ell \u2134}\left(v\right):=\frac{1}{{\displaystyle {\sum}_{w\in V}\text{dist}\left(v,w\right)}}$  [29]  
Radiality  ${\mathcal{C}}_{\mathcal{r}\mathcal{a}\mathcal{d}}\left(v\right):=\frac{{\displaystyle {\sum}_{w\in V}\left({\Delta}_{G}+1\text{dist}\left(v,w\right)\right)}}{n1}$  Δ_{ G }is the diameter of the graph G, defined as the maximum distance between any two vertices of G.  [30] 
Centroid Value  $\mathcal{C}$_{ cen }(v) := min{f(v, w) : w ∈ V\{v}}  Where f(v, w) := γ_{ v }(w)  γ_{ w }(v) and γ_{ v }(w) denotes the number of vertices that are closer to v than to w.  [31] 
Stress  $\mathcal{C}$_{ str }(v) :=∑_{s≠v∈V}∑_{t≠v∈V}δ_{ st }(v)  [32]  
S.P. Betweenness  $\mathcal{C}$_{ spb }(v) :=∑_{s≠v∈V}∑_{t≠v∈V}δ_{ st }(v)  ${\delta}_{st}\left(v\right):=\frac{{\sigma}_{st}\left(v\right)}{{\sigma}_{st}}$  [33] 
C.F. Closeness  ${\mathcal{C}}_{\mathcal{c}\mathcal{f}\mathcal{c}}\left(v\right)=\frac{n1}{{\displaystyle {\sum}_{t\notin v}{p}_{vt}\left(v\right){p}_{vt}\left(t\right)}}$  Where p_{ vt }(t) equals the potential difference in an electrical network.  [21] 
C.F. Betweenness  ${\mathcal{C}}_{\mathcal{c}\mathcal{f}\mathcal{b}}\left(v\right)=\frac{1}{\left(n1\right)\left(n2\right)}{\displaystyle {\sum}_{s,t\in V}{\tau}_{st}\left(v\right)}$  Where τ_{ st }(v) equals the fraction of electrical current running over vertex v in an electrical network.  [21] 
Katz Status  ${\mathcal{C}}_{\mathcal{k}\mathcal{a}\mathcal{t}\mathcal{z}}:={\displaystyle {\sum}_{k=1}^{\infty}{\alpha}^{k}{\left({A}^{T}\right)}^{k}\overrightarrow{1}}$  Where α is a positive constant.  [34] 
Eigenvector  λ$\mathcal{C}$_{ eiv }= A$\mathcal{C}$_{ eiv }  The eigenvector to the dominant eigenvalue of A is used.  [35] 
Hubbell index  $\mathcal{C}$_{ hbl }= $\overrightarrow{E}$ + W$\mathcal{C}$_{ hbl }  Where $\overrightarrow{E}$ is some exogenous input and W is a weight matrix derived from the adjacency matrix A.  [36] 
Bargaining  $\mathcal{C}$_{ brg }:= α(I  βA)^{1}A$\overrightarrow{1}$  Where α is scaling factor and β is the influence parameter.  [37] 
PageRank  $\mathcal{C}$_{ pr }= dP$\mathcal{C}$_{ pr }+ (1  d)$\overrightarrow{1}$  Where P is the transition matrix and d is the damping factor.  [38] 
HITSHubs  $\mathcal{C}$_{ hubs }= A$\mathcal{C}$_{ auths }  Assuming $\mathcal{C}$_{ auths }is known.  [39] 
HITSAuthorities  $\mathcal{C}$_{ auths }= A^{ T }$\mathcal{C}$_{ hubs }  Assuming $\mathcal{C}$_{ hubs }is known.  [39] 
Closeness vitality  $\mathcal{C}$_{ clv }(v) := WI(G)  WI(G\{v})  Where WI(G) is the Wiener index of the graph G.  [8] 
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
Centrality measures implemented in CentiBiN. Definitions for these measures can be found in Table 1.
Centrality  Type  Directed graphs  Undirected graphs 

Degree  Neighbourhood based  Yes^{1}  Yes 
Eccentricity  Distance based  Yes  Yes 
Closeness  Distance based  Yes  Yes 
Radiality  Distance based  Yes  Yes 
Centroid  Distance based  Yes  Yes 
Stress  ShortestPath based  Yes  Yes 
S.P. Betweenness  ShortestPath based  Yes  Yes 
C.F. Betweenness  CurrentFlow based  No^{2}  Yes 
C.F. Closeness  CurrentFlow based  No^{2}  Yes 
Katz Status  Feedback based  Yes  Yes 
Eigenvector  Feedback based  Yes  Yes 
Hubbell index  Feedback based  Yes  Yes 
Bargaining  Feedback based  Yes  Yes 
PageRank  Feedback based  Yes  Yes 
HITSHubs  Feedback based  Yes  Yes^{3} 
HITSAuths  Feedback based  Yes  Yes^{3} 
Closeness vitality  Vitality based  Yes  Yes 
Plotting the distribution of centrality values
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
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/

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
Declarations
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.
Authors’ Affiliations
References
 Albert R, Barabási AL: Statistical Mechanics of Complex Networks. Reviews of Modern Physics 2002, 74: 47–97. 10.1103/RevModPhys.74.47View ArticleGoogle Scholar
 Milo R, ShenOrr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U: Network Motifs: Simple Building Blocks of Complex Networks. Science 2002, 298(5594):824–827. 10.1126/science.298.5594.824View ArticlePubMedGoogle Scholar
 Holme P, Huss M, Jeong H: Subnetwork hierarchies of biochemical pathways. Bioinformatics 2003, 19(4):532–538. 10.1093/bioinformatics/btg033View ArticlePubMedGoogle Scholar
 Wuchty S, Stadler PF: Centers of complex networks. J Theor Biol 2003, 223: 45–53. 10.1016/S00225193(03)000717View ArticlePubMedGoogle Scholar
 Fell DA, Wagner A: The small world of metabolism. Nat Biotechnol 2000, 18: 1121–1122. 10.1038/81025View ArticlePubMedGoogle Scholar
 Jeong H, Mason SP, Barabási AL, Oltvai ZN: Lethality and centrality in protein networks. Nature 2001, 411: 41–42. 10.1038/35075138View ArticlePubMedGoogle Scholar
 Bergmann S, Ihmels J, Barkai N: Similarities and Differences in Genome Wide Expression Data of Six Organisms. PLoS Biol 2004, 2: 85–93. 10.1371/journal.pbio.0020009View ArticleGoogle Scholar
 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:16–61.View ArticleGoogle Scholar
 Koschützki D, Schreiber F: Comparison of Centralities for Biological Networks. Proc German Conf Bioinformatics (GCB'04), Volume P53 of LNI 2004, 199–206.Google Scholar
 JUNG, the Java Universal Network/Graph Framework[http://jung.sourceforge.net]
 Java Web Page[http://www.java.com/]
 Kamada T, Kawai S: An algorithm for drawing general undirected graphs. Information Processing Letters 1989, 31: 7–15. 10.1016/00200190(89)901026View ArticleGoogle Scholar
 Fruchterman TMJ, Reingold EM: Graph Drawing by Forcedirected Placement. Software – Practice and Experience 1991, 21(11):1129–1164.View ArticleGoogle Scholar
 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:77–103.View ArticleGoogle Scholar
 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:501–512.Google Scholar
 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. 10.1093/nar/gkh086PubMed CentralView ArticlePubMedGoogle Scholar
 Graphviz – Graph Visualization Software[http://www.graphviz.org/]
 R Development Core Team: R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria 2005. [ISBN 3–900051–07–0] [http://www.Rproject.org] [ISBN 3900051070]Google Scholar
 Kleinberg JM: Navigation in a small world. Nature 2000, 406: 845. 10.1038/35022643View ArticlePubMedGoogle Scholar
 Barabási AL, Albert R: Emergence of scaling in random networks. Science 1999, 286: 509–512. 10.1126/science.286.5439.509View ArticlePubMedGoogle Scholar
 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, 533–544.Google Scholar
 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:270–316.Google Scholar
 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):2498–2504. 10.1101/gr.1239303PubMed CentralView ArticlePubMedGoogle Scholar
 Breitkreutz BJ, Stark C, Tyers M: Osprey: a network visualization system. Genome Biol 2003., 4(3):Google Scholar
 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. 10.1093/nar/gki431Google Scholar
 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: 177–183. 10.1038/nbt926View ArticlePubMedGoogle Scholar
 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:62–82.View ArticleGoogle Scholar
 Harary F, Hage P: Eccentricity and centrality in networks. Social Networks 1995, 17: 57–63. 10.1016/03788733(94)002489View ArticleGoogle Scholar
 Sabidussi G: The Centrality Index of a Graph. Psychometrika 1966, 31: 581–603. 10.1007/BF02289527View ArticlePubMedGoogle Scholar
 Valente TW, Foreman RK: Integration and radiality:measuring the extent of an individual's connectedness and reachability in a network. Social Networks 1998, 1: 89–105. 10.1016/S03788733(97)000075View ArticleGoogle Scholar
 Slater PJ: Maximin Facility Location. Journal of National Bureau of Standards 1975, 79B: 107–115.Google Scholar
 Shimbel A: Structural Parameters of Communication Networks. Bulletin of Mathematical Biophysics 1953, 15: 501–507. 10.1007/BF02476438View ArticleGoogle Scholar
 Freeman LC: A Set of Measures of Centrality Based Upon Betweenness. Sociometry 1977, 40: 35–41. 10.2307/3033543View ArticleGoogle Scholar
 Katz L: A new status index derived from sociometric analysis. Psychometrika 1953, 18: 39–43. 10.1007/BF02289026View ArticleGoogle Scholar
 Bonacich P: Factoring and Weighting Approaches to Status Scores and Clique Identification. Journal of Mathematical Sociology 1972, 2: 113–120.View ArticleGoogle Scholar
 Hubbell CH: In InputOutput Approach to Clique Identification. Sociometry 1965, 28: 377–399. 10.2307/2785990View ArticleGoogle Scholar
 Bonacich P: Power and Centrality: A Family of Measures. American Journal of Sociology 1987, 92(5):1170–1182. 10.1086/228631View ArticleGoogle Scholar
 Page L, Brin S, Motwani R, Winograd T: The PageRank Citation Ranking: Bringing Order to the Web. Tech rep, Stanford DigitalLibrary Technologies Project 1998.Google Scholar
 Kleinberg JM: Authoritative Sources in a Hyperlinked Environment. Journal of the ACM 1999, 46(5):604–632. 10.1145/324133.324140View ArticleGoogle Scholar
Copyright
This article is published under license to 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.