An efficient grid layout algorithm for biological networks utilizing various biological attributes
 Kaname Kojima†^{1},
 Masao Nagasaki†^{1}Email author,
 Euna Jeong^{1},
 Mitsuru Kato^{1} and
 Satoru Miyano^{1}
DOI: 10.1186/14712105876
© Kojima et al; licensee BioMed Central Ltd. 2007
Received: 23 October 2006
Accepted: 06 March 2007
Published: 06 March 2007
Abstract
Background
Clearly visualized biopathways provide a great help in understanding biological systems. However, manual drawing of largescale biopathways is time consuming. We proposed a grid layout algorithm that can handle generegulatory networks and signal transduction pathways by considering edgeedge crossing, nodeedge crossing, distance measure between nodes, and subcellular localization information from Gene Ontology. Consequently, the layout algorithm succeeded in drastically reducing these crossings in the apoptosis model. However, for largerscale networks, we encountered three problems: (i) the initial layout is often very far from any local optimum because nodes are initially placed at random, (ii) from a biological viewpoint, human layouts still exceed automatic layouts in understanding because except subcellular localization, it does not fully utilize biological information of pathways, and (iii) it employs a local search strategy in which the neighborhood is obtained by moving one node at each step, and automatic layouts suggest that simultaneous movements of multiple nodes are necessary for better layouts, while such extension may face worsening the time complexity.
Results
We propose a new grid layout algorithm. To address problem (i), we devised a new forcedirected algorithm whose output is suitable as the initial layout. For (ii), we considered that an appropriate alignment of nodes having the same biological attribute is one of the most important factors of the comprehension, and we defined a new score function that gives an advantage to such configurations. For solving problem (iii), we developed a search strategy that considers swapping nodes as well as moving a node, while keeping the order of the time complexity. Though a naïve implementation increases by one order, the time complexity, we solved this difficulty by devising a method that caches differences between scores of a layout and its possible updates.
Conclusion
Layouts of the new grid layout algorithm are compared with that of the previous algorithm and human layout in an endothelial cell model, three times as large as the apoptosis model. The total cost of the result from the new grid layout algorithm is similar to that of the human layout. In addition, its convergence time is drastically reduced (40% reduction).
Background
Modeling and simulations of large scale biological pathways are some of the most important tasks in Bioinformatics. Many applications, e.g., Cell Illustrator [1, 2], Cytoscape [3], Pajek [4], PATIKA [5, 6], and CADLIVE [7, 8] have been developed in this area. Related to these topics, the visualization of biopathways is considered to play a key role in understanding biological systems. However, manual drawing of largescale biopathways is a time consuming work, hence suitable biopathway layout algorithms and their applications are strongly demanded.
Biopathways are categorized into three types, i.e., metabolic pathways, signal transduction pathways, and generegulatory networks. For metabolic pathways, several algorithms have been already proposed [9–13], and some of them succeeded in capturing the flow of the reactions well. In contrast, few layout algorithms that provide a convenient biological understanding have been proposed for signal transduction pathways [14, 15] and generegulatory networks [16, 17]. Thus, our new layout algorithm is focused on signal transduction pathways and generegulatory networks. For signal transduction pathways and generegulatory networks, extant layout algorithms can be categorized into two types; forcedirected and grid layout algorithms.
Forcedirected algorithms are used in [16, 17] by taking into account the directional constraint following different types of molecular and simple regional constraints from subcellular localizations. These algorithms have been successfully integrated into PATIKA. However, as pointed out in [14], forcedirected algorithms may not be suitable for compact layouts of complex biopathways. Furthermore, intricately shaped regions such as torusshaped region cannot be handled well as regional constraints in these forcedirected algorithms. Hence, they are not suitable for models containing torusshaped plasma membrane and nuclear membrane although such types of models are common as biopathways.
A grid layout algorithm (referred to as LKgrid layout algorithm) was initially proposed by Li and Kurata. The grid layout algorithm restricts the positions of all nodes to grid points. Li and Kurata defined a cost function for two nodes that depends on some distance between these nodes and the topology of their connections in the graph. They applied LKgrid layout algorithm to a yeast cellcycle pathway and concluded that this algorithm can geometrically classify the pathway into functional categories without using biological information. Moreover, they noticed that the algorithm generates compact layouts while avoiding overlaps between nodes. [15] proposed CBgrid layout algorithm, in which so as to reduce edgeedge crossings and nodeedge crossings, a penalty for these cases is added to the cost function. The algorithm can also deal with any complex regional constraints following subcellular localizations, and besides search space is reduced due to these constrains. As a result, in the apoptosis model, the layout algorithm succeeded in a drastic reduction of edgeedge crossings and nodeedge crossings, while placing nodes in biologically proper regions.
However, in the case of largerscale networks, this algorithm encountered three problems. First, a layout with randomly placed nodes is used as the initial layout. This random layout contains a large number of edgeedge crossings and nodeedge crossings; subsequently, many iterations will be required to obtain a locally optimal layout. Secondly, although one of the features of CBgrid layout algorithm is to use the subcellular localization information, it still does not fully utilize biological characteristics. For example, it does not consider such biological attributes as types of entities (protein, mRNA, and microRNA) or types of processes (phosphorylation, binding, and translation), although in human layouts these biological attributes are apt to contribute to the comprehension of interesting biopathways easier. Thirdly, according to a greedy strategy, CBgrid layout algorithm updates a layout by moving one node at each step until the layout reaches an optimum. However, resulting layouts are just local optima, hence their quality fundamentally depends on the initial layout. Although in [15] a multistep CBgrid layout algorithm was also proposed to solve this drawback, it requires higher time complexity and hence is not suitable for practical applications.
To overcome these three problems, we propose a new grid layout algorithm. For the first problem, we propose a new forcedirected algorithm whose output is suitable as the initial layout of grid layout algorithms. For the second problem, we introduce the concept that assigns a score i.e., a negative cost, to a layout depending on how nodes with the same attribute are aligned. This concept is realized with a combo score function, which is combined with the cost function defined in CBgrid layout algorithm. For the third problem, the search strategy in CBgrid layout algorithm is improved by adding the swap operation while keeping the time complexity. By the swap operation, the new grid layout can also consider layouts generated by exchanging the positions of two nodes in the current layout at each step.
The Methods section is organized as follows: (i) first, we introduce the previous grid layout, i.e., CBgrid layout algorithm; (ii) for the first improvement in the initial layout of CBgrid layout algorithm, the new forcedirected algorithm termed Eades initial layout algorithm is described; (iii) for the second improvement, CCBgrid layout algorithm, which is CBgrid layout algorithm with the combo score function is described; (iv) for the third improvement, SCCBgrid layout algorithm, which enhances CCBgrid layout algorithm by adding the swap operation is presented. In the Results and Discussion section, the performances of these new algorithms are compared and verified by applying them to the signal transduction pathway of an endothelial cell, which is larger than the pathways in [14] and [15].
Methods
CBgrid layout algorithm: Introduction of the grid layout algorithm
Given a graph G = (V, E) with nodes V and edges E, a layout L = (V, E, U, P) of G consists of the underlying graph G, grid points U and a function P : V → U such that P (v_{ α }) ≠ P (v_{ β }) for any two distinct nodes v_{ α }, v_{ β }∈ V. This definition does not allow overlaps between nodes in the layout. For a layout L, this paper uses the following notations.

W_{ L }: a set of vacant points of L.

E_{ v }: the set of all edges connected to node v.

V: the number of nodes in V.

W: the number of vacant points in L, instead of W_{ L } if there is no confusion possible.
We define the following operations.

T_{v → p}L: the layout generated by moving a node v to a vacant point p ∈ W_{ L }.

L: the layout generated by swapping nodes v_{ α }and v_{ β }.${S}_{{v}_{\alpha}\leftrightarrow {v}_{\beta}}$(1)

D_{ v }L: the layout generated by removing a node v and all edges connected to v.
In addition, we define the following functions.

(L): a binary function that returns 1 if an edge e_{ i }crosses with an edge e_{ j }and 0 otherwise.$Cros{s}_{{e}_{i},{e}_{j}}$(2)

(L): a binary function that returns 1 if an edge e_{ j }crosses with a node v_{ i }and 0 otherwise.$Cros{s}_{{v}_{i},{e}_{j}}$(3)

(L): a function that returns ${w}_{{v}_{i},{v}_{j}}\cdot md({v}_{i},{v}_{j})$, where ${w}_{{v}_{i},{v}_{j}}$ is the weight to the couple of nodes v_{ i }and v_{ j }, and md (v_{ i }, v_{ j }) is the Manhattan distance between v_{ i }and v_{ j }.$Distanc{e}_{{v}_{i},{v}_{j}}$(4)
In our previous approach [15] (mainly referred to as CBgrid layout algorithm), the layout cost C (L) of L was defined as follows:
where W_{ ee }, W_{ ne }, and W_{ d }are called respectively edgeedge crossing weight, nodeedge crossing weight, and distance cost weight.
The CBgrid layout algorithm repeats the operation of moving a unique node to a vacant point onebyone until it reaches a locally optimal layout. At each step, the algorithm calculates costs of all layouts that can be generated by moving one of all nodes to one of all vacant points. The layout with the lowest cost is selected as a starting layout for the next step. After reaching convergence, the algorithm outputs a locally optimal layout. If the cost calculation of all possible adjacent layouts is implemented in a naïve way, high time complexity is required. To overcome this problem, the previous method [15] introduced Δ matrix that stores each possible cost difference at the previous step and succeeded in reducing the time complexity at each step from O (W (V^{2} + E^{2}) to O (V^{2} + E^{2} + W${E}_{{v}_{\beta}}$ (V + E)), where v_{ β }is the node moved at the previous step.
 1.
Improving the choice of the initial layout: since a locally optimal layout depends noticeably on the initial layout, we first apply Eades initial layout algorithm to a random layout, and use its output as the initial layout. In the previous approach, a random layout was directly used as the initial layout.
 2.
Improving the cost function: we introduce the concept of a combo score that gives a good score, i.e., a negative cost when nodes with the same biological attribute are aligned (CCBgrid layout algorithm). In CBgrid layout algorithm, the biological attributes, except subcellular localization, were ignored.
 3.
Improving the search strategy: we propose a better search strategy, which allows us to obtain improved results, keeping the time complexity. For obtaining a better layout, the search space is extended by adding the swap operation. At each step, all layouts obtained by swapping two nodes are also considered (SCCBgrid layout algorithm).
In the remainder of this section, we describe these three new algorithms mentioned above.
Eades initial layout algorithm: generating a new initial layout for grid layout algorithms
 1.
Two types of forces are defined for each pair of nodes. If two nodes are adjacent, there exists an attractive force a_{c 1}log(d/a_{c 2}) between them, where a_{c 1}and a_{c 2}are constants, and d is the distance between the two nodes. On the other hand, if two nodes are not adjacent, there exists a repulsive force r_{ c }/$\sqrt{d}$ between them, where r_{ c }is a constant. At each step, the positions of all the nodes are updated according to the sum of the repulsive and attractive forces between them.
 2.
The above step is iterated a predetermined number of times, and the final result is obtained.
We have customized two points in Eades algorithm. First, nodes in Eades algorithm can be placed anywhere. All the nodes in the initial layout for CBgrid layout algorithm, however, should be placed on the grid points that satisfy the subcellular localization. Thus, the output of Eades algorithm cannot be used directly as an input for CBgrid layout algorithm.
To handle this problem, we propose to move each node to the closest vacant point that satisfies the subcellular localization after moving nodes at each step.
CCBgrid layout algorithm: utilizing various biological attributes
If CW_{ a }returns the same value for any attribute a, many of the nodes with the same attribute will be vertically aligned easily since they have a greater chance to neighbor one another. So as to reduce the biases among the attributes, we define CW_{ a }to be inversely related to the total number of the nodes whose attribute is a.
By modifying the layout score of CBgrid layout algorithm, we can define the layout cost C (L) of a layout L with the new concept of the combo score as follows:
where W_{ cs }is called combo score weight. CBgrid layout algorithm improved by the above modification is named Combo score, Cross cost and Biological information grid layout algorithm (CCBgrid layout algorithm). The reason for multiplying the sum of the combo scores by 1/2 is that combo scores are counted twice since a combo score between nodes v_{ α }and v_{ β }is included in both $Comb{o}_{{v}_{\alpha}}$ (L) and $Comb{o}_{{v}_{\beta}}$ (L). The algorithm is the same as Coptimization (L) step in [15] except for the use of the above layout cost C (L), i.e., the algorithm for calculating Δ matrix is also the same.
For calculating the combo score for each node, only four nodes need to be checked at most, i.e., its time complexity is constant, while for calculating the edgeedge crossing cost, the nodeedge crossing cost, and the distance cost for each node, these time complexities depend on E, V, and W, respectively. Thus, without using Δ matrix, the time complexity related to combo scores is O (VW) at each step.
At each step, we need to calculate the difference between the combo score of the previous layout L and that of the current layout that is generated by moving a node v to a vacant point p, i.e., Combo(T_{v→p}L) – Combo(L). We can efficiently calculate the difference of the combo score ${\Delta}_{vp}^{cs}$ (L) as follows:
where
We introduced Adj_{ v }(L) due to the following reason. First, suppose that three nodes with the same attribute are aligned vertically. We call them v_{ α }, v_{ β }, and v_{ γ }beginning from the bottom. There are three combo relations among the three nodes: one is between v_{ α }and v_{ β }, another between v_{ β }and v_{ γ }, and the third between v_{ α }and v_{ γ }. Although v_{ β }is involved in these three combo relations, the combo relation between v_{ α }and v_{ γ }is not considered in $Comb{o}_{{v}_{\beta}}$ (L). Therefore, Adj_{ v }(L) is needed to correct this type of undercount.
SCCBgrid layout algorithm: extension of the search space due to the swap operation
In the previous approach [15], Δ matrix stores cost differences that are induced only by moving nodes to vacant points. As a result, if a grid point of interest was occupied at the previous step, we cannot exploit Δ matrix to calculate cost differences corresponding to that grid point. Since grid points of interest on the swap operation are obviously occupied at the previous step, Δ matrix cannot be used. However, if Δ matrix also stores cost differences related to occupied points, Δ matrix can be exploited for this problematic case, too. We then propose an extended Δ matrix, which considers occupied points as well as vacant points. Since the definition of the cost differences for vacant points cannot be applied directly to occupied points, we decide to calculate the cost differences for the occupied points by calculating it without taking into account the node occupying that grid point and all edges connected to it. In the remainder of this section, we will show how to calculate the extended Δ matrix and then compare the time complexity of the extended Δ matrix and the original Δ matrix.
Henceforth, let us refer to the extended Δ matrix as Δ matrix. Given a layout L, at the first step, we update Δ (L) matrix as follows:
If the previous layout is updated by moving node v_{ β }to vacant point q, Δ (${T}_{{v}_{\alpha}\to p}$L) can be updated efficiently by using Δ (L) as follows:
where DIFF_{0} to DIFF_{4} are defined in the following way:
where Q shall be defined below.
If the previous layout is updated by swapping two nodes ${v}_{{\beta}_{1}}$ and ${v}_{{\beta}_{2}}$, Δ (${S}_{{v}_{{\beta}_{1}}\leftrightarrow {v}_{{\beta}_{2}}}$L) is then updated efficiently by using Δ (L) as follows:
where DIFF_{5} to DIFF_{9} are defined in the following way:
The case of v_{ α }= ${v}_{{\beta}_{2}}$ is not considered in Equation (13) because equations of this case can be obtained by simply replacing ${v}_{{\beta}_{1}}$ with ${v}_{{\beta}_{2}}$ in case 1 and 3.
 (a)(·) is a partial edgeedge crossing cost function of ${E}_{{v}_{a}}$ and ${E}_{{v}_{b}}$, and is defined as follows:${Q}_{{v}_{a},{v}_{b}}^{ee}$(7)
Similarly, ${\widehat{Q}}_{{v}_{a},{v}_{b},{v}_{c}}^{ee}$ (·) is a partial edgeedge crossing cost function of ${E}_{{v}_{a}}$, ${E}_{{v}_{b}}$, and ${E}_{{v}_{c}}$, and is defined as follows:
 (b)is a partial nodeedge crossing cost function of v_{ a }, v_{ b }, ${E}_{{v}_{a}}$, and ${E}_{{v}_{b}}$, and is defined as follows:${Q}_{{v}_{a},{v}_{b}}^{ne}$(8)
Similarly, ${\widehat{Q}}_{{v}_{a},{v}_{b},{v}_{c}}^{ne}$ (·) is a partial nodeedge crossing cost function of v_{ a }, v_{ b }, v_{ c }, ${E}_{{v}_{a}}$, ${E}_{{v}_{b}}$, and ${E}_{{v}_{c}}$, and is defined as follows:
 (c)is a partial distance cost function of v_{ a }and v_{ b }, and is defined as follows:${Q}_{{v}_{a},{v}_{b}}^{dc}$(9)
Similarly, ${\widehat{Q}}_{{v}_{a},{v}_{b},{v}_{c}}^{dc}$ (·) is a partial distance cost function of v_{ a }, v_{ b }, and v_{ c }, and is defined as follows:
Thus far, we found out a method to efficiently calculate Δ matrix. The purpose of extending Δ matrix is to calculate the cost difference of the swap operation. When nodes ${v}_{{\alpha}_{1}}$ and ${v}_{{\alpha}_{2}}$ are swapped, we can calculate $Swa{p}_{{v}_{{\alpha}_{1}},{v}_{{\alpha}_{2}}}$ using these Δ costs as follows:
where
In SCCBgrid layout algorithm, the combo score also needs to be considered. Given a layout such that a node v_{ α }is moved to a vacant point p, ${\Delta}_{{v}_{\alpha}p}^{cs}$ can be calculated as shown in Equation (3). In contrast, if two nodes ${v}_{{\alpha}_{1}}$ and ${v}_{{\alpha}_{2}}$ are swapped, the difference of combo scores, Combo (${S}_{{v}_{{\alpha}_{1}}\leftrightarrow {v}_{{\alpha}_{2}}}$L) – Combo (L), is effectively calculated as follows:
where
If node v_{ β }is moved at the previous step, the time complexity of calculating Δ matrix is O ((V + E)${E}_{{v}_{\beta}}$U). If two ${v}_{{\beta}_{1}}$ and ${v}_{{\beta}_{2}}$ are swapped at the previous step, the time complexity of calculating Δ matrix was O ((V + E) (${E}_{{v}_{{\beta}_{1}}}$ + ${E}_{{v}_{{\beta}_{2}}}$) U) = O ((V + E) ${E}_{{v}_{{\beta}^{\prime}}}$U), where ${E}_{{v}_{{\beta}^{\prime}}}$ = (${E}_{{v}_{{\beta}_{1}}}$ + ${E}_{{v}_{{\beta}_{2}}}$)/2. In addition, the time complexity of all the swap operations considered at each step is O (E^{2}). Therefore, the time complexity of SCCBgrid layout algorithm is O (E^{2} + U${E}_{{v}_{{\beta}^{\prime}}}$ (V + E)) at each step.
Since the time complexity of CBgrid layout algorithm is O (V^{2} + E^{2} + W${E}_{{v}_{\beta}}$ (V + E)) at each step [15], the time complexity of SCCBgrid layout algorithm is O(V${E}_{{v}_{\beta}}$ (V + E)) larger than that of CBgrid layout algorithm (note that v_{ β }and v_{ β' }are not distinguished here). Here, we consider two cases, V ≤ W (case 1) and V > W (case 2) and show these two algorithms have the same time complexity with high probability. For case 1, the above difference is negligible since O (V${E}_{{v}_{\beta}}$ (V + E)) ≤ O (W${E}_{{v}_{\beta}}$(V + E)). In contrast, the O(V${E}_{{v}_{\beta}}$ (V + E)) difference cannot be neglected in case 2. However, if we assume that all nodes can be moved to form the next layout with equal probability, V${E}_{{v}_{\beta}}$ = 2 E, and O(V${E}_{{v}_{\beta}}$ (V + E)) = O (V^{2} + E^{2}) subsequently. Therefore, the time complexity of SCCBgrid layout algorithm will be the same as that of CBgrid layout algorithm even in the case 2. For the above reasons, the time complexities of SCCBgrid and CBgrid layout algorithms are the same in practice.
Results and Discussion
Data and Parameters
To evaluate our algorithms on a largescale signal transduction pathway with a gene regulatory network, we create the pathway model of an endothelial cell with Cell Illustrator [1, 2] by extracting information from [19]. The model consists of 309 nodes and 371 edges (three times as large as the apoptosis model in [15], which consists of 117 nodes and 126 edges), and the maximum degree of a node is ten (eight in the apoptosis model). Grid widths and heights are fixed to 100 pixels; the total numbers of vertical and horizontal grid points are 36 and 40, respectively. We used the following information pertaining to seven GO subcellular localizations: extracellular space (GO:0005615), cytoplasm (GO:0005737), nucleus (GO:0005634), mitochondrion (GO:0005739), plasma membrane (GO:0005886), nuclear membrane (GO:0005635), and mitochondria membrane (GO:0005740). We also used the following information pertaining to sixteen processes and entities used as attributes of nodes: migration, phosphorylation, protein with a modification, ligand, assembly, transcription, translation, mRNA, ligand and receptor, receptor, unknown, protein, exchange, trimer, ubiquitination, and degradation.
Usually, these types of biological models have many nodes termed as degradation. The degradation process always has only one edge. To exploit this property, we apply these layout algorithms after removing degradation nodes (97 nodes). After applying layout algorithms, we attach each eliminated degradation node just below the entity to which it was initially connected. Thus, in practice, the numbers of nodes and edges in the model given to layout algorithms are 212 and 274, respectively. Note that when the performances of algorithms are compared with the numbers of edgeedge crossings and nodeedge crossings in the latter part of this section, crossings that are caused by degradations and edges connected to them are not taken into account.
We apply the following rule to edgeedge crossing weight W_{ ee }, nodeedge crossing weight W_{ ne }, combo score weight W_{ cs }, and distance cost weight W_{ dc }of a layout cost, in Equation (2), to ensure that the importance of the distance cost is less than those of the others:
In our study, W_{ dc }, W_{ ee }, W_{ ne }, and W_{ cs }were set to 1, 70, 150, and 110, respectively. Also, the constant C in CW_{ a }was set to 12.
Using the combo score, many nodes can be aligned vertically. However, in many cases, the nodes cannot be moved once they have combo relations. Plasma membrane, nuclear membrane, and mitochondrial membrane are thin and torus shaped, thus, vertical alignments of the nodes on these subcellular localizations will not be of interest for users (e.g., the width of plasma membrane in our model is only two grids). Therefore, in this paper, we decided to ignore combo scores in plasma membrane, nuclear membrane, and mitochondrial membrane.
Comparison of layouts
We also apply gridlayout algorithms to Fasinduced apoptosis pathway model [20] and ASE cell fate simulation model [21] to obtain a more generalized comparison. Resulting layouts and the number of crossings in each layout are summarized in Additional file 1. These models including the endothelial cell model are also available as Additional file 2, and the application of SCCBgrid layout algorithm for these models can be downloaded from [22].
Conclusion
For better biopathway layouts, three improvements to CBgrid layout algorithm were proposed: (i) the improvement of initial layouts (ii) the improvement of cost function (iii) the improvement of search strategy itself without increasing the time complexity. For (i), Eades initial layout algorithm was proposed and the improvement was confirmed with a signal transduction pathway of an endothelial cell. For (ii), CCBgrid layout algorithm, which includes combo score function, was proposed and the improvement was verified with the same signal transduction pathway. For (iii), SCCBgrid layout algorithm was proposed. Due to (i) and (iii), our layout algorithm can be started from the better layout, and more robust to the condition of the initial layout than extant methods. In addition, we succeeded in utilizing the biological attributes that are not considered in extant methods due to combo score.
However, our layout algorithm has limitations and problems, which should be addressed in future work. Firstly, if the parameters of the combo score are not correctly selected, once a node gets a combo relation, the node no longer moves to other grid points anymore. Thus, it is important to devise a method that automatically selects the suitable parameters for the combo score function, edgeedge crossing function, and nodeedge crossing function. Secondly, in our algorithm, only undirected graphs are considered to be laid out. On the other hand, for metabolic pathways, [11, 13] proposed layout algorithms that decompose a digraph to hierarchical structural parts and directed cycle parts by considering the direction of edges in order to capture the flow of reactions. Therefore, the grid layout algorithm will also need to handle digraphs, utilizing its property that is effective especially in the gridbased layout. Finally, it should be addressed that grid layout algorithms including our new approach requires high time complexity and are not suitable for the realtime drawing. Thus, we would like to devise a further optimized grid layout algorithm to enable the realtime drawing.
Notes
Declarations
Acknowledgements
Computation time was provided by the Super Computer System, Human Genome Center, Institute of Medical Science, University of Tokyo.
Authors’ Affiliations
References
 Nagasaki M, Doi A, Matsuno H, Miyano S: Genomic Object Net: I. A platform for modelling and simulating biopathways. Applied Bioinformatics 2003, 2(3):181–184.PubMedGoogle Scholar
 Doi A, Nagasaki M, Fujita S, Matsuno H, Miyano S: Genomic Object Net: II. Modelling biopathways by hybrid functional Petri net with extension. Applied Bioinformatics 2003, 2(3):185–188.PubMedGoogle 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 Research 2003, 13(11):2498–2504. 10.1101/gr.1239303PubMed CentralView ArticlePubMedGoogle Scholar
 Networks/Pajek[http://vlado.fmf.unilj.si/pub/networks/pajek/]
 Demir E, Babur O, Dogrusoz U, Gursoy A, Nisanci G, Atalay RC, Ozturk M: PATIKA: an integrated visual environment for collaborative construction and analysis of cellular pathways. Bioinformatics 2002, 18(7):996–1003. 10.1093/bioinformatics/18.7.996View ArticlePubMedGoogle Scholar
 Dogrusoz U, Erson EZ, Giral E, Demir E, Babur O, Cetintas A, Colak R: PATIKAweb: a Web interface for analyzing biological pathways through advanced querying and visualization. Bioinformatics 2006, 22(3):374–375. 10.1093/bioinformatics/bti776View ArticlePubMedGoogle Scholar
 Kurata H, Matoba N, Shimizu N: CADLIVE for constructing a largescale biochemical network based on a simulationdirected notation and its application to yeast cell cycle. Nucleic Acids Research 2003, 31(14):4071–4084. 10.1093/nar/gkg461PubMed CentralView ArticlePubMedGoogle Scholar
 Kurata H, Masaki K, Sumida Y, Iwasaki R: CADLIVE dynamic simulator: direct link of biochemical networks to dynamic models. Genome Research 2005, 15(4):590–600. 10.1101/gr.3463705PubMed CentralView ArticlePubMedGoogle Scholar
 Brandes U, Dwyer T, Schreiber F: Visualizing related metabolic pathways in two and a half dimensions. Proceedings of the 11th International Symposium on Graph Drawing 2003, 111–122.Google Scholar
 Karp PD, Paley SM: Automated drawing of metabolic pathways. Proceedings of the 3rd International Conference on Bioinformatics and Genome Research 1994, 225–238.Google Scholar
 Becker MY, Rojas I: A graph layout algorithm for drawing metabolic pathways. Bioinformatics 2001, 17(5):461–467. 10.1093/bioinformatics/17.5.461View ArticlePubMedGoogle Scholar
 Sirava M, Schafer T, Eiglsperger M, Kaufmann M, Kohlgacher O, BornbergBauer E, Lenhof HP: BioMinermodeling, analyzing, and visualizing biochemical pathways and networks. Bioinformatics 2002, 18(Suppl 2):S219–230.View ArticlePubMedGoogle Scholar
 Wegner K, Kummer U: A new dynamical layout algorithm for complex biochemical reaction networks. BMC Bioinformatics 2005., 6(212):Google Scholar
 Li W, Kurata H: A grid layout algorithm for automatic drawing of biochemical networks. Bioinformatics 2005, 21(9):2036–2042. 10.1093/bioinformatics/bti290View ArticlePubMedGoogle Scholar
 Kato M, Nagasaki M, Doi A, Miyano S: Automatic drawing of biological networks using cross cost and subcomponent data. Genome Informatics 2005, 16(2):22–31.PubMedGoogle Scholar
 Genc B, Dogrusoz U: A constrained, forcedirected layout algorithm for biological pathways. Proceedings of the 11th International Symposium on Graph Drawing 2003, 314–319.Google Scholar
 Dogrusoz U, Gral E, Cetintas A, Civril A, Demir E: A compound graph layout algorithm for biological pathways. Proceedings of the 12th International Symposium on Graph Drawing 2004, 442–447.Google Scholar
 Eades P: A heuristic for graph drawing. Congressus Nemerantium 1984, 42: 149–160.Google Scholar
 Pober JS: Endothelial activation: Intracellular signaling pathways. Arthritis Research 2002, 4(Suppl 3):S109–116. 10.1186/ar576PubMed CentralView ArticlePubMedGoogle Scholar
 Matsuno H, Tanaka Y, Aoshima H, Doi A, Matsui M, Miyano S: Biopathways representation and simulation on hybrid functional Petri net. In Silico Biology 2003, 3(3):389–404.PubMedGoogle Scholar
 Saito A, Nagasaki M, Doi A, Ueno K, Miyano S: Cell fate simulation model of gustatory nuerons with microRNAs doublenegative feedback loop by hybrid functional Petri net with extension. Genome Informatics 2006, 17: 100–111.PubMedGoogle Scholar
 [http://www.csml.org/download/SCCBLayout_BMC_inst.exe]
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.