 Research article
 Open Access
 Published:
A generic algorithm for layout of biological networks
BMC Bioinformatics volume 10, Article number: 375 (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.
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 networkcentered 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 applicationspecific layout algorithms, for example, for signal transduction maps [17, 18], protein interaction networks [3, 6], metabolic pathways [4, 10, 19] and proteindomain interaction networks [20]. Advanced solutions combine different layout styles (such as linear, circular and branching layouts) for subnetworks or use specific layouts styles for particular network parts such as cycles [7, 10, 21].
However, current approaches for the automatic visualization of biological networks have four major drawbacks resulting from the specialized nature of these algorithms:

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 relayout 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 forcedirected layout [12, 13] constrained graph layout works by minimizing an objective function that measures the quality of the layout. However it extends forcedirected 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, nonoverlap 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 nonlinear constraints such as nonoverlap 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.
The presented approach provides a generic, universal algorithm for layout of biological networks:

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 mentalmappreserving 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.
The basic approach in constrained graph layout (like forcedirected layout) for finding aesthetically pleasing drawings of graphs is to define a 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 forcedirected 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 forcedirected 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 nonoverlap 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
The basic layout method has three main steps (as shown in Figure 1):

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.
Step 1 (findfeasibleposition, see Figure 2) starts with an initial position (x, y) for the nodes found by a forcedirected 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].
Step 2 (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 highlevel algorithm is given in Figure 3.
The adjustment step in each dimension is performed by gradientprojectionx and gradientprojectiony. We only consider gradientprojectionx since the two routines are entirely symmetric. The routine gradientprojectionx 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 straightlines or any other desired style such as polyline routings [26, 27]. We note that the edgerouting 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 subroutes.
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.
Figure 4 gives a general idea of how constraints can be used to arrange network elements. For example, parts of reactions such as enzymes and coreactants should be close together and are clustered into nonoverlapping reaction groups, where all nodes are aligned within the group. The nodes are arranged such that the reactions flow in a particular direction as much as possible. Note that these highlevel constraints are internally represented by sets of separation constraints.
The following placement constraints are major examples of highlevel 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
Often networks contain directed edges, and edge direction is used to encode flow of information or material. Direction of edges can be emphasized by constraints requiring that the start node of the edge is above (or to the left of) its end node. See Figures 4 and 5(a) for examples. The information about edge direction can be derived from a directed network by first removing cycles in the network using a decycling algorithm [29] and than using the direction of the edges in the acyclic directed network as constraints.
Cycles
Cycles occur, for example, in metabolic networks (e. g. TCA cycle, urea cycle) and are usually specially arranged to emphasize the cyclic processes. Cycles can be emphasized in a number of different ways. The first way is to introduce a dummy node in the center of the cycle and attach a strongly weighted dummy edge from the center node to each node in the cycle. This will have the effect of arranging the nodes in the cycle around a circle. The second way is to arrange the nodes on the perimeter of a rectangle (as in Figure 6(b)). To do so we introduce new variables 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 motifdetection algorithms such as [32, 33], the equality constraints are than derived from a given or precomputed 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].
Nonoverlap 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. Nonoverlap 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 nonoverlap of compartments can be handled. For efficiency generation of separation constraints to enforce nonoverlap in single dimension is done using the scanline 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 (leftright) and vertical (topbottom) relationships in the network.
Radial layouts
Radial layouts can be used to emphasize the importance of nodes, which could be placed in the center of the diagram, see Figure 7. At first glance it seems that radial layouts cannot be generated with our algorithm. However, instead of constraints on Cartesian coordinates we can allow constraints over polar coordinates (or at least radii) and the layout algorithm works basically unchanged. In this case separation constraints separate nodes by distance from the origin. Ordering or ranking of nodes and therefore the separation constraints can be, for example, given by experimental data or computed with network centralities [36].
Results and Discussion
Networkspecific 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 proteininteraction 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 coreactants), products (main and coproducts) and enzymes. Typical methods for the visualization of metabolic pathways are described in [4, 7, 10].
All these different drawing styles can be achieved with our algorithm. It provides a generic approach to network visualization, subsumes forcedirected approaches [12, 13], Sugiyama style layered layout [14], circular and grid drawings [9, 16]. It has produced the drawings in Figure 5 and 6(b) which previously had to be produced using totally different algorithms. For example, in Figure 5(a) the visualization of a gene regulatory network which shows regulatory events from top to bottom is presented. The layout style is similar to layered layouts such as in the graphical interface of the TransPath database [37]. Figure 5(b) shows a protein interaction network in a forcedirected like drawing style which is typical for graphical representations of such networks. It nicely presents the overall structure of the network and emphasizes highly connected or clustered proteins. Figure 6(b) shows a metabolic pathway in a mixture of Sugiyama style layered and grid layout. Typically, such pathway visualizations should emphasize the temporal order of reactions, distinguish several elements of a reaction and obey compartments. Again, the presented layout method supports these constraints and gives layouts similar to those obtained with established methods for the visualization of metabolic networks. Figure 8 shows typical constraints used to produce these layouts.
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 bifan motifs highlighted and automatically drawn similarly.
Conclusion
We present a new method for producing highquality 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 userspecified 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.
References
 1.
Ehrenberg M, Elf J, Aurell E, Sandberg R, Tegnér J: Systems Biology Is Taking Off. Genome Research 2003, 13: 2377–2380.
 2.
Kitano H: Systems Biology: A Brief Overview. Science 2002, 295(5560):1662–1664.
 3.
Basalaj W, Eilbeck K: Straightline 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.
 4.
Becker MY, Rojas I: A graph layout algorithm for drawing metabolic pathways. Bioinformatics 2001, 17(5):461–467.
 5.
Genc B, Dogrusöoz U: A Constrained, ForceDirected 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.
 6.
Han K, Ju BH: A fast layout algorithm for protein interaction networks. Bioinformatics 2003, 19(15):1882–1888.
 7.
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.
 8.
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.
 9.
Li W, Kurata H: A grid layout algorithm for automatic drawing of biochemical networks. Bioinformatics 2005, 21(9):2036–2042.
 10.
Schreiber F: High Quality Visualization of Biochemical Pathways in BioPath. In Silico Biology 2002, 2(2):59–73.
 11.
Sirava M, Schäfer T, Eiglsperger M, Kaufmann M, Kohlbacher O, BornbergBauer E, Lenhof HP: BioMiner modeling, analyzing, and visualizing biochemical pathways and networks. Bioinformatics 2002, 18(Suppl 2):S219S230.
 12.
Eades P: A Heuristic for Graph Drawing. Congressus Numerantium 1984, 42: 149–160.
 13.
Fruchterman T, Reingold E: Graph Drawing by Forcedirected Placement. Software  Practice and Experience 1991, 21(11):1129–1164.
 14.
Sugiyama K, Tagawa S, Toda M: Methods for Visual Understanding of Hierarchical System Structures. IEEE Transactions on Systems, Man and Cybernetics 1981, SMC11(2):109–125.
 15.
Eades P, Sugiyama K: How to Draw a Directed Graph. Journal of Information Processing 1990, 13(4):424–437.
 16.
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.
 17.
Genc B, Dogrusöz U: A Layout Algorithm for Signaling Pathways. Information Sciences 2006, 176: 135–149.
 18.
Kolpakov FA, Ananko EA, Kolesov GB, Kolchanov NA: GeneNet: a gene network database and its automated visualization. Bioinformatics 1998, 14(6):529–537.
 19.
Karp PD, Paley SM, Romero P: The Pathway Tools software. Bioinformatics 2002, 18: S225S232.
 20.
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.
 21.
Wegner K, Kummer U: A new dynamical layout algorithm for complex biochemical reaction networks. BMC Bioinformatics 2005, 6: 212.
 22.
Dwyer T, Koren Y, Marriott K: IPSepCoLa: An Incremental Procedure for Separation Constraint Layout of Graphs. IEEE Transactions on Visualization and Computer Graphics 2006, 12(5):821–828.
 23.
Bertsekas DP: Nonlinear Programming. Nashua: Athena Scientific; 1999.
 24.
Kamada T, Kawai S: An Algorithm for Drawing General Undirected Graphs. Information Processing Letters 1989, 31: 7–15.
 25.
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.
 26.
Dobkin DP, Gansner ER, Koutsofios E, North SC: Implementing a GeneralPurpose Edge Router. In Proc. International Symposium on Graph Drawing (GD'97), LNCS. Volume 1353. Edited by: Di Battista G. Rome: Springer; 1997:262–271.
 27.
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.
 28.
Varma A, Palsson BO: Review: Metabolic flux balancing: Basic concepts, scientific and practical use. Bio/Technology 1994, 12(10):994–998.
 29.
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.
 30.
GrafahrendBelau 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: D954D958.
 31.
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.
 32.
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.
 33.
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.
 34.
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.
 35.
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.
 36.
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.
 37.
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.
 38.
Kanehisa M, Goto S, Kawashima S, Nakaya A: The KEGG databases at GenomeNet. Nucleic Acids Research 2002, 30: 42–46.
Author information
Additional information
Authors' contributions
TD, KM and FS designed the study; TD, KM and MW developed the constraint layout algorithm; TD and FS developed the constraint sets; TD and MW implemented the layout algorithm; FS evaluated the results. All authors wrote and approved the final manuscript.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
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.
About this article
Cite this article
Schreiber, F., Dwyer, T., Marriott, K. et al. A generic algorithm for layout of biological networks. BMC Bioinformatics 10, 375 (2009) doi:10.1186/1471210510375
Received
Accepted
Published
DOI
Keywords
 Metabolic Network
 Biological Network
 Protein Interaction Network
 Network Motif
 Layout Algorithm