# A generic algorithm for layout of biological networks

- Falk Schreiber
^{1, 2}Email author, - Tim Dwyer
^{3}, - Kim Marriott
^{4}and - Michael Wybrow
^{4}

**10**:375

https://doi.org/10.1186/1471-2105-10-375

© Schreiber et al; licensee BioMed Central Ltd. 2009

**Received: **22 March 2009

**Accepted: **12 November 2009

**Published: **12 November 2009

## Abstract

### Background

Biological networks are widely used to represent processes in biological systems and to capture interactions and dependencies between biological entities. Their size and complexity is steadily increasing due to the ongoing growth of knowledge in the life sciences. To aid understanding of biological networks several algorithms for laying out and graphically representing networks and network analysis results have been developed. However, current algorithms are specialized to particular layout styles and therefore different algorithms are required for each kind of network and/or style of layout. This increases implementation effort and means that new algorithms must be developed for new layout styles. Furthermore, additional effort is necessary to compose different layout conventions in the same diagram. Also the user cannot usually customize the placement of nodes to tailor the layout to their particular need or task and there is little support for interactive network exploration.

### Results

We present a novel algorithm to visualize different biological networks and network analysis results in meaningful ways depending on network types and analysis outcome. Our method is based on constrained graph layout and we demonstrate how it can handle the drawing conventions used in biological networks.

### Conclusion

The presented algorithm offers the ability to produce many of the fundamental popular drawing styles while allowing the exibility of constraints to further tailor these layouts.

## Keywords

## Background

Networks play a central role in biological investigation of organisms. They are used to represent processes in biological systems and to capture interactions and dependencies between biological entities such as genes, transcripts, proteins and metabolites. One large application area for network-centered analysis and visualization is Systems Biology, an increasingly important research field which aims at a comprehensive understanding and remodeling of the processes in living beings [1, 2]. Due to the steady growth of knowledge in the life sciences such networks are increasingly large and complex. To tackle this complexity and help in analyzing and interpreting the complicated web of interactions meaningful visualizations of biological networks are crucial.

Methods for automatic network visualization have gained increased attention from the research community over recent years and various layout algorithms have been developed, e. g. [3–11]. Often standard layout methods such as force directed [12, 13], layered [14, 15] and circular [16] approaches are used to draw these networks. However, the direct use of standard layout methods is somewhat unsatisfactory since biological networks often have specialized layout requirements reflecting the drawing conventions historically used in manually laid out diagrams (which have been developed to better emphasize relevant biological relationships and concepts). This has led to the development of network- and application-specific layout algorithms, for example, for signal transduction maps [17, 18], protein interaction networks [3, 6], metabolic pathways [4, 10, 19] and protein-domain interaction networks [20]. Advanced solutions combine different layout styles (such as linear, circular and branching layouts) for sub-networks or use specific layouts styles for particular network parts such as cycles [7, 10, 21].

- 1.
Different kinds of biological networks (e. g. protein interaction or metabolic networks) have different layout conventions and this requires the implementation and sometimes development of specialized layout algorithms for each convention.

- 2.
It is not easy to combine networks with different layout conventions in the one drawing since the layout algorithms use quite different approaches and so cannot be easily combined.

- 3.
The user cannot tailor the standard layout algorithms for their particular need or task by e. g. emphasizing the pathways of interest by making them straight.

- 4.
The algorithms do not sufficiently support interactive network exploration. Usually with these algorithms small modifications in the network structure and re-layout of the network results in very different pictures. However, such sudden and large changes destroy the user's mental map (i. e. the user's understanding of the network based on the previous view) and therefore hinder interactive understanding of the network.

Here we present a new algorithm for layout of biological networks that overcomes these limitations. It is based on a powerful new graph drawing technique, *constrained graph layout* [22]. Like force-directed layout [12, 13] constrained graph layout works by minimizing an objective function that measures the quality of the layout. However it extends force-directed layout by allowing minimization of the objective to be done subject to placement constraints on the objects in the network. This is achieved by using mathematically rigorous optimization techniques based on gradient projection [23]. Efficient implementation is made possible by restricting the placement constraints to be *separation constraints* of the form *u* + *g* ≤ (=) *v*, enforcing a minimum (or precise) gap *g* between the positions *u* and *v* of pairs of objects in either the *x* or *y* dimensions of the drawing.

A significant contribution of this paper is to show that separation constraints, despite their apparent simplicity and their limitation to act on a single dimension can in fact be used to encode the wide variety of specialized layout requirements arising in biological networks. Examples of such requirements are placement of nodes below other nodes in directed graphs, drawing cycles on a rectangle, alignment of nodes, non-overlap of nodes, orthogonal ordering between nodes, containment of nodes in clusters, standard layout of motifs and containment in a page. A key technique is to generate separation constraints that approximate complex non-linear constraints such as non-overlap and to update this approximation dynamically as the final layout is computed. Furthermore, these separation constraints can be automatically derived from the visualization requirements, network analysis results and interactive network changes. With this algorithm it is possible to obtain layout results which are close to the results of different existing layout algorithms.

- 1.
It greatly simplifies the implementation of layout methods for life sciences, systems and synthetic biology tools, which have previously had to utilize very different layout algorithms for different types of biological networks (or different layout requirements).

- 2.
It allows the use of different layout styles for different parts of one large network.

- 3.
It allows the user to customize the layout by adding separation constraints.

- 4.
It lends itself to mental-map-preserving dynamic layout in interactive systems, thereby supporting interactive exploration of large and complex networks.

This paper is structured as follows: in the Methods section we introduce some terminology, detail the constrained graph layout method, present the kinds of placement constraints that are needed to fulfill layout requirements of different biological networks and discuss how they can be automatically generated and then implemented in terms of the separation constraints supported by the layout method. The Results section provides examples of the layout method for a number of different kinds of networks and shows its advantages over current layout methods. Finally, the Conclusion contains the discussion and some suggestions for future work.

## Methods

### Layout Framework

#### The layout problem

A *network* (or *graph*) *G* = (*V*, *E*) contains a finite set of nodes *V* and a finite set of edges *E* ⊆ {(*u*, *v*) | *u*, *v* ∈ *V*}. Biological networks can contain undirected and/or directed interactions. Therefore we consider undirected, directed and mixed graphs, and an edge may be undirected or directed. A *layout L* of a network *G* assigns coordinates to the nodes and a path to each edge. A *partial layout P* = (*x, y*) of a network *G* consists of just an assignment of node positions, where (*x*_{
u
}, *y*_{
u
}) is the position of node *u*. While we focus on 2D layout our method can be easily extended to 3D layout.

*cost function F*(

*P*) over the positions of the nodes

*P*and then to minimize this cost function by adjusting the positions. One commonly used cost function in force-directed layout is the

*stress*function [24]:

where
. This tries to place each pair of nodes *u*, *v* their ideal distance apart *d*_{
uv
}which is proportional to the length of the shortest path between the nodes). It measures the sum of squared differences between the ideal spacing for each pair of nodes and their Euclidean distance in the layout. While this is the cost function we have used, we wish to emphasize that our technique is generic in the choice of cost function.

The main difference between force-directed layout and constrained graph layout is that in constrained graph layout the layout algorithm is required to satisfy *placement constraints* on the nodes, such as non-overlap of the nodes or node alignment. We say that a layout is *feasible* if it satisfies the placement constraints.

The layout problem is to find a layout *L* for a graph *G* that is feasible and which is locally optimal in the sense that moving the nodes slightly either leads to infeasibility or increases the cost function.

#### Layout method

- 1.
Find a feasible partial layout

*P*_{ feas }satisfying all placement constraints. - 2.
Starting from

*P*_{ feas }perform gradient projection to find a locally optimal partial layout*P*_{ opt }. - 3.
Extend

*P*_{ opt }to a full layout*L*by computing paths for edges.

*find-feasible-position*, see Figure 2) starts with an initial position (

*x*,

*y*) for the nodes found by a force-directed layout method since this gives a reasonable "default" position for the nodes that reflects the basic graph structure. This position is then iteratively updated with a greedy heuristic, so as to satisfy more and more of the placement constraints.

Here *G* is the graph, *C* is the set of constraints and *C*_{
x
}and *C*_{
y
}are sets of separation constraints (for the *x* and *y* dimension, resp.) that enforce the placement constraints enforced so far. The function *approximate*(*c*, (*x*, *y*)) returns pairs of sets of separation constraints *c*_{
i
}and their respective dimension *dim*_{
i
}that will enforce satisfaction of the violated constraint *c*. Each *c*_{
i
}implies the placement constraint and the first *c*_{
i
}that can be added while maintaining feasibility is chosen. In the case that all *c*_{
i
}lead to infeasibility none is added and the constraint *c* is effectively ignored.

The function *project* returns positions for nodes which satisfy the separation constraints and which are as close as possible to the current position. Projection is performed on a single dimension at a time. This is possible since the separation constraints for each dimension are independent. More precisely, *project*(*d*, *C*) returns *x* = min_{
x
}Σ_{v∈V}(*x*_{
v
}- *d*_{
v
})^{2} *subject to C*. This is done using the algorithm from [25].

*improve*, see Figure 3) takes an initial position

*P*= (

*x*,

*y*) for the nodes, a set of placement constraints

*C*and a cost function

*F*. It works by alternately adjusting horizontal and vertical positions of all nodes to incrementally reduce the cost function. Again this is possible because the separation constraints in each dimension are independent. This makes the computation of the new positions considerably simpler than if both dimensions had to be considered together. The high-level algorithm is given in Figure 3.

The adjustment step in each dimension is performed by *gradient-projection-x* and *gradient-projection-y*. We only consider *gradient-projection-x* since the two routines are entirely symmetric. The routine *gradient-projection-x* decreases the cost function *F* by moving nodes horizontally in the direction of steepest descent from the current node position (*x*_{
cur
}, *y*_{
cur
}). Computation of the step size depends on the cost function. However we have had success by simply using a quadratic approximation based on the second order Taylor series expansion of *F* around *x* and choosing the value of the step size that minimizes this approximation.

Of course the desired horizontal position for the nodes is not guaranteed to satisfy the placement constraints. To remedy this the algorithm generates a set of horizontal separation constraints *C*_{
x
}from the placement constraints *C* that safely approximate the placement constraints in the sense that *C*_{
x
}(*x*) ⇒ *C*(*x*, *y*_{
cur
}) and *x*_{
cur
}satisfies *C*_{
x
}. The new horizontal position *x* is obtained by calling *project* to projecting the desired position *d* on to *C*_{
x
}.

In Step 3 edges can be drawn using straight-lines or any other desired style such as poly-line routings [26, 27]. We note that the edge-routing library libavoid which implements the method described in [27] has been extended to handle clusters and finds routes for edges that do not unnecessarily pass through clusters. It can also perform "nudging" on the final routes to separate paths with shared sub-routes.

### Placement Constraints

In this section we show that our approach of dynamically generating separation constraints is very powerful and supports the kinds of placement constraints arising in biological networks. We then discuss which placement constraints are used for different layouts and how these constraints can be derived from biological (network) information.

The following placement constraints are major examples of high-level constraints which can be solved by our algorithm.

#### Pathway emphasis

Often some paths within a network are of special interest. These can be emphasized by using separation constraints to horizontally or vertically align the nodes in the pathway (as shown in Figure 1). For example, in a metabolic network the path with the highest flux may be determined by computational (e. g. Flux Balance Analysis [28]) or experimental methods and then automatically highlighted in this manner.

#### Directed edges

#### Cycles

*x*

_{ l },

*x*

_{ r },

*y*

_{ b },

*y*

_{ t }corresponding to the four sides of the rectangle. The placement constraint that node

*v*lies on the rectangle is approximated by one of four conjunctions of separation constraints one for each side of the rectangle. For instance,

*y*

_{ v }=

*y*

_{ b }∧

*x*

_{ l }≤

*x*

_{ v }∧

*x*

_{ v }≤

*x*

_{ r }constrains node

*v*to be on the bottom of such a rectangle. Such constraints can be derived by cycle detection algorithms such as [21] or by additional information about cycles in pathway databases (e. g. in MetaCrop [30] and BioPath [31]).

#### Emphasizing network motifs

Different occurrences of a network motif should be drawn in the same way. Equality separation constraints can be used to force all occurrences of a particular motif to be drawn in exactly the same way, see Figure 5(a) for an example. Different occurrences of a network motif can be computed with motif-detection algorithms such as [32, 33], the equality constraints are than derived from a given or pre-computed layout of this motif and transferred to all occurrences of the motif.

#### Clusters and compartments

Often biological networks contain node clusters. Containment within a rectangular region is simple to model using separation constraints. By introducing a rectangle for compartments or clusters in the graph we can group nodes together. It is then natural to modify the cost function so that it tries to reduce the width and height of this rectangle to size proportional to the number of nodes in the compartment. The cluster boundary is obtained by either taking the convex hull of the nodes in the cluster or the bounding rectangle. An example is shown in Figure 6. Such clustering (and therefore the cluster constraint) may be specified by biological information such as cellular compartments or be computed by clustering algorithms [34].

#### Non-overlap of nodes and compartments

A common problem with general purpose layout engines is that nodes are treated as points and so, if nodes are large as is the case in many biological networks, they may overlap. Non-overlap of nodes is readily handled in our approach by approximating the placement constraint that nodes *u* and *v* do not overlap by the disjunction of four separation constraints: *u* left of *v*, *u* above *v*, *v* left of *u* or *v* above *u*. Similarly non-overlap of compartments can be handled. For efficiency generation of separation constraints to enforce non-overlap in single dimension is done using the scan-line algorithm given in [35] which generates a linear number of constraints.

#### Orthogonal ordering of nodes and layout stability

Preserving the relative horizontal and vertical ordering of nodes as a layout changes can help preserve the users mental map of the layout. Layout stability is also aided by adding terms to the cost function to penalize movement of nodes from their position in the previous layout. The necessary constraints for layout stability can be automatically determined from an existing layout by using the current positions of nodes and adding separation constraints to preserve the horizontal (left-right) and vertical (top-bottom) relationships in the network.

#### Radial layouts

## Results and Discussion

### Network-specific layouts

Several types of biological networks exist such as gene regulatory, protein interaction and metabolic networks. These networks describe different aspects of biological processes and typically utilize quite different layouts so as to better highlight relevant information. Gene regulatory and signal transduction networks, for example, describe the cellular control of the protein synthesis during transcription as well as the communication within a cell to coordinate responses to external or internal changes. Typical visualization requirements are to show the temporal order of events and the representation of different cellular compartments (e. g. cytosol, mitochondrium, nucleus). Some methods for the visualization of these networks are described in [17, 18]. Typical visualizations of protein-interaction networks emphasize the connectedness or clustering of proteins. Methods for their visualization are, for example, presented in [3, 6]. The visualization of metabolic networks should typically emphasize the temporal order of reactions and distinguish several elements of a reaction: reactants (often divided into main- and co-reactants), products (main and co-products) and enzymes. Typical methods for the visualization of metabolic pathways are described in [4, 7, 10].

### Consideration of hierarchical information and network analysis results

The layout approach is not only able to visualize different biological networks in their typical style. It is more powerful than most existing layout algorithms and in particular able to handle convex and rectangular clusters allowing network hierarchy or additional information to be emphasized. As an example the diagram in Figure 6(b) is an automatic drawing of a metabolic pathway with compartments which previously had to be drawn by hand, such as in Figure 6(a).

The method also allows the user to customize the layout to emphasize relationships of interest, for example, to explore network analysis results such as network centrality analysis, network motif investigation and network clustering. For example, Figure 7 shows a protein interaction network arranged using the constrained stress majorization method with 3 radial band constraints such that the most important proteins (red) are at the center and less important ones (green) are at the outer border. The unconstrained version of the layout is shown in Figure 5(b). Additionally, Figure 5(a) shows a layered drawing of a gene regulatory network with two bi-fan motifs highlighted and automatically drawn similarly.

## Conclusion

We present a new method for producing high-quality visualizations of a wide range of biological networks with different layout requirements. Our approach is based on constrained graph layout and allows constraints to be used to capture drawing conventions found in biological literature as well as user-specified drawing requirements. In addition, most of the constraints can be automatically derived from the network structure, biological information or network analysis methods.

The generalization of different layout algorithms is desirable, but it comes at the price that a more general approach may lose the efficiency of specialized algorithms. A prototype implementation of our algorithm demonstrates that these methods are fast enough for use in interactive applications for networks with several hundred nodes and can lay out larger networks with a few thousand nodes in about one minute. The key to the efficiency of the proposed method is that projection on to separation constraints can be done efficiently using specialized algorithms [25]. We find that the main cost is in finding the optimal layout from the initial feasible layout and that the dominating cost in this is computing the quadratic approximation to the cost function since this is quadratic in the number of nodes.

This algorithm offers the ability to produce many of the fundamental popular drawing styles while allowing the flexibility of constraints to further tailor these layouts. In addition, the approach can handle multiple layout styles within a single drawing as well as mixed graphs (i. e. graphs with some directed edges). Constraints can also be used to provide stability to the layout and preserve the user's mental map when creating new layouts of existing networks. Finally, constraints offer the added benefit of producing drawings based on recognizable features of existing biological network visualizations such as those in the KEGG pathways database [38]. In this case, the KEGG layout as given by the KGML file could be used to derive orthogonal ordering constraints which will result in a layout of nodes similar to the relativ placement in the KEGG diagram.

Our paper focuses on molecular biological networks such as gene regulatory, protein interaction and metabolic networks. However, the presented method is very general and could also be adapted to other biological networks such as phylogenetic networks and food webs.

## Declarations

## Authors’ Affiliations

## References

- Ehrenberg M, Elf J, Aurell E, Sandberg R, Tegnér J: Systems Biology Is Taking Off.
*Genome Research*2003, 13: 2377–2380.View ArticlePubMedGoogle Scholar - Kitano H: Systems Biology: A Brief Overview.
*Science*2002, 295(5560):1662–1664.View ArticlePubMedGoogle Scholar - Basalaj W, Eilbeck K: Straight-line drawings of protein interactions. In
*Proc. International Symposium on Graph Drawing (GD'99), LNCS*.*Volume 1731*. Edited by: Kratochvil J. Stirin Castle: Springer; 1999:259–266.Google Scholar - Becker MY, Rojas I: A graph layout algorithm for drawing metabolic pathways.
*Bioinformatics*2001, 17(5):461–467.View ArticlePubMedGoogle Scholar - Genc B, Dogrusöoz U: A Constrained, Force-Directed Layout Algorithm for Biological Pathways. In
*Proc. International Symposium on Graph Drawing (GD'03), LNCS*.*Volume 2912*. Edited by: Liotta G. Perugia: Springer; 2003:314–319.Google Scholar - Han K, Ju BH: A fast layout algorithm for protein interaction networks.
*Bioinformatics*2003, 19(15):1882–1888.View ArticlePubMedGoogle Scholar - Karp PD, Paley SM: Automated Drawing of Metabolic Pathways. In
*Proc. International Conference on Bioinformatics and Genome Research*Edited by: Lim H, Cantor C, Bobbins R, Tallahassee. 1994, 225–238.Google Scholar - Kojima K, Nagasaki M, Jeong E, Kato M, Miyano S: An efficient grid layout algorithm for biological networks utilizing various biological attributes.
*BMC Bioinformatics*2007, 8: 76.PubMed CentralView ArticlePubMedGoogle Scholar - Li W, Kurata H: A grid layout algorithm for automatic drawing of biochemical networks.
*Bioinformatics*2005, 21(9):2036–2042.View ArticlePubMedGoogle Scholar - Schreiber F: High Quality Visualization of Biochemical Pathways in BioPath.
*In Silico Biology*2002, 2(2):59–73.PubMedGoogle Scholar - Sirava M, Schäfer T, Eiglsperger M, Kaufmann M, Kohlbacher O, Bornberg-Bauer E, Lenhof HP: BioMiner -modeling, analyzing, and visualizing biochemical pathways and networks.
*Bioinformatics*2002, 18(Suppl 2):S219-S230.View ArticlePubMedGoogle Scholar - Eades P: A Heuristic for Graph Drawing.
*Congressus Numerantium*1984, 42: 149–160.Google Scholar - Fruchterman T, Reingold E: Graph Drawing by Force-directed Placement.
*Software - Practice and Experience*1991, 21(11):1129–1164.View ArticleGoogle Scholar - Sugiyama K, Tagawa S, Toda M: Methods for Visual Understanding of Hierarchical System Structures.
*IEEE Transactions on Systems, Man and Cybernetics*1981, SMC-11(2):109–125.View ArticleGoogle Scholar - Eades P, Sugiyama K: How to Draw a Directed Graph.
*Journal of Information Processing*1990, 13(4):424–437.Google Scholar - Six JM, Tollis IG: A Framework for Circular Drawings of Networks. In
*Proc. International Symposium on Graph Drawing (GD'99), LNCS*.*Volume 1731*. Edited by: Kratochvil J. Stirin Castle: Springer; 1999:107–116.Google Scholar - Genc B, Dogrusöz U: A Layout Algorithm for Signaling Pathways.
*Information Sciences*2006, 176: 135–149.View ArticleGoogle Scholar - Kolpakov FA, Ananko EA, Kolesov GB, Kolchanov NA: GeneNet: a gene network database and its automated visualization.
*Bioinformatics*1998, 14(6):529–537.View ArticlePubMedGoogle Scholar - Karp PD, Paley SM, Romero P: The Pathway Tools software.
*Bioinformatics*2002, 18: S225-S232.View ArticlePubMedGoogle Scholar - Emig D, Cline MS, Klein K, Kunert A, Mutzel P, Lengauer T, Albrecht M: Integrative Visual Analysis of the Effects of Alternative Splicing on Protein Domain Interaction Networks.
*Journal of Integrative Bioinformatics*2008, 5(2):101.Google Scholar - Wegner K, Kummer U: A new dynamical layout algorithm for complex biochemical reaction networks.
*BMC Bioinformatics*2005, 6: 212.PubMed CentralView ArticlePubMedGoogle Scholar - Dwyer T, Koren Y, Marriott K: IPSep-CoLa: An Incremental Procedure for Separation Constraint Layout of Graphs.
*IEEE Transactions on Visualization and Computer Graphics*2006, 12(5):821–828.View ArticlePubMedGoogle Scholar - Bertsekas DP:
*Nonlinear Programming*. Nashua: Athena Scientific; 1999.Google Scholar - Kamada T, Kawai S: An Algorithm for Drawing General Undirected Graphs.
*Information Processing Letters*1989, 31: 7–15.View ArticleGoogle Scholar - Dwyer T, Marriott K: Constrained stress majorization using diagonally scaled gradient projection. In
*Proc. International Symposium on Graph Drawing (GD'07), LNCS*.*Volume 4875*. Edited by: Hong SH, Nishizeki T, Quan W. Sydney: Springer; 2008:219–230.Google Scholar - Dobkin DP, Gansner ER, Koutsofios E, North SC: Implementing a General-Purpose Edge Router. In
*Proc. International Symposium on Graph Drawing (GD'97), LNCS*.*Volume 1353*. Edited by: Di Battista G. Rome: Springer; 1997:262–271.Google Scholar - Wybrow M, Marriott K, Stuckey PJ: Incremental Connector Routing. In
*Proc. International Symposium on Graph Drawing (GD'05), LNCS*.*Volume 3843*. Edited by: Healy P, Nikolov NS. Limerick: Springer; 2006:446–457.Google Scholar - Varma A, Palsson BO: Review: Metabolic flux balancing: Basic concepts, scientific and practical use.
*Bio/Technology*1994, 12(10):994–998.View ArticleGoogle Scholar - Eades P, Lin X, Smyth WF: A Fast and Effective Heuristic for the Feedback Arc Set Problem.
*Information Processing Letters*1993, 47(6):319–323.View ArticleGoogle Scholar - Grafahrend-Belau E, Weise S, Koschützki D, Scholz U, Junker BH, Schreiber F: MetaCrop - A detailed database of crop plant metabolism.
*Nucleic Acids Research*2008, 36: D954-D958.PubMed CentralView ArticlePubMedGoogle Scholar - Forster M, Pick A, Raitner M, Schreiber F, Brandenburg FJ: The system architecture of the BioPath system.
*In Silico Biology*2002, 2(3):415–426.PubMedGoogle Scholar - Milo R, Shen-Orr S, Itzkovitz S, Kashtan N, Chklovskii D, Alon U: Network Motifs: Simple Building Blocks of Complex Networks.
*Science*2002, 298(5594):824–827.View ArticlePubMedGoogle Scholar - Schreiber F, Schwöbbermeyer H: Frequency Concepts and Pattern Detection for the Analysis of Motifs in Networks.
*Transactions on Computational Systems Biology*2005, 3(LNBI 3737):89–104.Google Scholar - Balasundaram B, Butenko S: Network Clustering. In
*Analysis of Biological Networks, Wiley Series on Bioinformatics, Computational Techniques and Engineering*. Edited by: Junker BH, Schreiber F. Hoboken (New Jersey): Wiley; 2008:113–138.Google Scholar - Dwyer T, Marriott K, Stuckey P: Fast node overlap removal. In
*In Proc. International Symposium on Graph Drawing (GD'05), LNCS*.*Volume 3843*. Edited by: Healy P, Nikolov NS. Limerick: Springer; 2006:153–164.Google Scholar - Koschützki D: Network Centralities. In
*Analysis of Biological Networks, Wiley Series on Bioinformatics, Computational Techniques and Engineering*. Edited by: Junker BH, Schreiber F. Hoboken (New Jersey): Wiley; 2008:65–84.Google Scholar - Krull M, Voss N, Choi C, Pistor S, Potapov A, Wingender E: TRANSPATH: an integrated database on signal transduction and a tool for array analysis.
*Nucleic Acids Research*2003, 31: 97–100.PubMed CentralView ArticlePubMedGoogle Scholar - Kanehisa M, Goto S, Kawashima S, Nakaya A: The KEGG databases at GenomeNet.
*Nucleic Acids Research*2002, 30: 42–46.PubMed CentralView ArticlePubMedGoogle 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.