The Scientific World Journal

Volume 2012 (2012), Article ID 957620, 8 pages

doi:10.1100/2012/957620

Research Article

Network Completion Using Dynamic Programming and Least-Squares Fitting

Natsu Nakajima,¹ Takeyuki Tamura,¹ Yoshihiro Yamanishi,² Katsuhisa Horimoto,³ and Tatsuya Akutsu¹

¹Bioinformatics Center, Institute for Chemical Research, Kyoto University Gokasho, Uji, Kyoto 611-0011, Japan

²Division of System Cohort, Multi-scale Research Center for Medical Science, Medical Institute of Bioregulation, Kyushu University, 3-1-1 Maidashi, Higashi-ku, Fukuoka, Fukuoka 812-8582, Japan

³Computational Biology Research Center, National Institute of Advanced Industrial Science and Technology, 2-4-7 Aomi, Koto-ku, Tokyo 135-0064, Japan

Received 30 August 2012; Accepted 26 September 2012

Academic Editors: W. Tian and X.-M. Zhao

Copyright © 2012 Natsu Nakajima et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

We consider the problem of network completion, which is to make the minimum amount of modifications to a given network so that the resulting network is most consistent with the observed data. We employ here a certain type of differential equations as gene regulation rules in a genetic network, gene expression time series data as observed data, and deletions and additions of edges as basic modification operations. In addition, we assume that the numbers of deleted and added edges are specified. For this problem, we present a novel method using dynamic programming and least-squares fitting and show that it outputs a network with the minimum sum squared error in polynomial time if the maximum indegree of the network is bounded by a constant. We also perform computational experiments using both artificially generated and real gene expression time series data.

1. Introduction

Analysis of biological networks is one of the central research topics in computational systems biology. In particular, extensive studies have been done on inference of genetic networks using gene expression time series data, and a number of computational methods have been proposed, which include methods based on Boolean networks [1, 2], Bayesian networks [3, 4], time-delayed Bayesian networks [5], graphical Gaussian models [6–8], differential equations [9, 10], mutual information [11, 12], and linear classification [13]. However, there is not yet an established or standard method for inference of genetic networks, and thus it still remains a challenging problem.

One of the possible reasons for the difficulty of inference is that the amount of available high-quality gene expression time series data is still not enough, and thus it is intrinsically difficult to infer the correct or nearly correct network from such a small amount of data. Therefore, it is reasonable to try to develop another approach. For that purpose, we proposed an approach called network completion [14] by following Occam's razor, which is a well-known principle in scientific discovery. Network completion is, given an initial network and an observed dataset, to modify the network by the minimum amount of modifications so that the resulting network is (most) consistent with the observed data. Since we were interested in inference of signaling networks in our previous study [14], we assumed that activity levels or quantities of one or a few kinds of proteins can only be observed. Furthermore, since measurement errors were considered to be large and we were interested in theoretical analysis of computational complexity and sample complexity, we adopted the Boolean network [15] as a model of signaling networks. We proved that network completion is computationally intractable (NP-hard) even for tree-structured networks. In order to cope with this computational difficulty, we developed an integer linear programming-based method for completion of signaling pathways [16]. However, this method could not handle addition of edges because of its high computational cost.

In this paper, we propose a novel method, DPLSQ, for completing genetic networks using gene expression time series data. Different from our previous studies [14, 16], we employ a model based on differential equations and assume that expression values of all nodes can be observed. DPLSQ is a combination of least-squares fitting and dynamic programming, where least-squares fitting is used for estimating parameters in differential equations and dynamic programming is used for minimizing the sum of least-squares errors by integrating partial fitting results on individual genes under the constraint that the numbers of added and deleted edges must be equal to the specified ones. One of the important features of DPLSQ is that it can output an optimal solution (i.e., minimum squared sum) in polynomial time if the maximum indegree (i.e., the maximum number of input genes to a gene) is bounded by a constant. Although DPLSQ does not automatically find the minimum modification, it can be found by examining varying numbers of added/deleted edges, where the total number of such combinations is polynomially bounded. If a null network (i.e., a network having no edges) is given as an initial network, DPLSQ can work as an inference method for genetic networks.

In order to examine the effectiveness of DPLSQ, we perform computational experiments using artificially generated data. We also make computational comparison of DPLSQ as an inference method with other existing tools using artificial data. Furthermore, we perform computational experiments on DPLSQ using real cell cycle expression data of Saccharomyces cerevisiae.

2. Method

The purpose of network completion is to modify a given network with the minimum number of modifications so that the resulting network is most consistent with the observed data. In this paper, we consider additions and deletions of edges as modification operations (see Figure 1). If we begin with a network with an empty set of edges, it corresponds to network inference. Therefore, network completion includes network inference although it may not necessarily work better than the existing methods if applied to network inference.

Figure 1: Network completion by addition and deletion of edges. Dashed edges and dotted edges denote deleted edges and added edges, respectively.

In the following, denotes a given network where and are the sets of nodes and directed edges respectively, where each node corresponds to a gene and each edge represents some direct regulation between two genes. Self loops are not allowed in although it is possible to modify the method so that self-loops are allowed. In this paper, denotes the number of genes (i.e., the number of nodes) and we let . For each node , and , respectively, denote the set of incoming edges to and the number of incoming edges to as defined follows:

DPLSQ consists of two parts: (i) parameter estimation and (ii) network structure inference. We employ least-squares fitting for the former part and dynamic programming for the latter part. Furthermore, there are three variants on the latter parts: (a) completion by addition of edges, (b) completion by deletion of edges, and (c) completion by addition and deletion of edges. Although the last case includes the first and second cases, we explain all of these for the sake of simplicity of explanation.

2.1. Model of Differential Equation and Estimation of Parameters

We assume that dynamics of each node is determined by a differential equation:

where are incoming nodes to , corresponds to the expression value of the th gene, and denotes a random noise. The second and third terms of the right-hand side of the equation represent linear and nonlinear effects to node , respectively (see Figure 2), where positive or corresponds to an activation effect and negative or corresponds to an inhibition effect.

Figure 2: Dynamics model for a node.

In practice, we replace derivative by difference and ignore the noise term as follows:

where denotes the time step.

We assume that time series data s, which correspond to s, are given for . Then, we can use the standard least-squares fitting method to estimate the parameters s and s.

In applying the least-squares fitting method, we minimize the following objective function:

2.2. Completion by Addition of Edges

In this subsection, we consider the problem of adding edges in total so that the sum of least-squares errors is minimized.

Let denote the minimum least-squares error when adding edges to the th node, which is formally defined by

where each must be selected from . In order to avoid combinatorial explosion, we constrain the maximum to be a small constant and let for or . Then, the problem is stated as

Here, we define by

Then, is the objective value (i.e., the minimum of the sum of least-squares errors when adding edges).

The entries of can be computed by the following dynamic programming algorithm:

It is to be noted that is determined uniquely regardless of the ordering of nodes in the network. The correctness of this dynamic programming algorithm can be seen by

2.3. Completion by Deletion of Edges

In the above, we considered network completion by addition of edges. Here, we consider the problem of deleting edges in total so that the sum of least-squares errors is minimized.

Let denote the minimum least-squares error when deleting edges from the set of incoming edges to . As in Section 2.2, we constrain the maximum to be a small constant and let if or . Then, the problem is stated as

Here, we define by

Then, we can solve network completion by deletion of edges using the following dynamic programming algorithm:

2.4. Completion by Addition and Deletion of Edges

We can combine the above two methods into network completion by addition and deletion of edges.

Let denote the minimum least-squares error when deleting edges from and adding edges to where deleted and added edges must be disjoint. We constrain the maximum and to be small constants and . We let if , , , or holds. Then, the problem is stated as

Here, we define by

Then, we can solve network completion by addition and deletion of edges using the following dynamic programming algorithm:

2.5. Time Complexity Analysis

In this subsection, we analyze the time complexity of DPLSQ. Since completion by addition of edges and completion by deletion of edges are special cases of completion by addition and deletion of edges, we focus on completion by addition and deletion of edges.

First, we analyze the time complexity required per least-squares fitting. It is known that least-squares fitting for linear systems can be done in time where is the number of data points and is the number of parameters. Since our model has parameters, the time complexity is . However, if we can assume that the maximum indegree in a given network is bounded by a constant, the number of parameters is bounded by a constant, where we have already assumed that and are constants. In this case, the time complexity for least-squares fitting can be estimated as .

Next, we analyze the time complexity required for computing . In this computation, we need to examine combinations of deletions of edges and additions of edges. Since and are, respectively, bounded by constants and , the number of combinations is . Therefore, the computation time required per is including the time for least-squares fitting. Since we need to compute for combinations, the total time required for computation of s is .

Finally, we analyze the time complexity required for computing s. We note that the size of table is , where we are assuming that and are . In order to compute the minimum value for each entry in the dynamic programming procedure, we need to examine combinations, which is . Therefore, the computation time required for computing s is . Since this value is clearly smaller than the one for s, the total time complexity is

Although this value is too high, it can be significantly reduced if we can assume that the maximum degree of an input network is bounded by a constant. In this case, the least-squares fitting can be done in time per execution. Furthermore, the number of combinations of deleting at most edges is bounded by a constant. Therefore, the time complexity required for computing s is reduced to . Since the time complexity for computing s remains , the total time complexity is

This number is allowable in practice if and is not too large (e.g., ).

3. Results

We performed computational experiments using both artificial data and real data. All experiments on DPLSQ were performed on a PC with Intel Core i7-2630QM CPU (2.00 GHz) with 8 GB RAM running under the Cygwin on Windows 7. We employed the liblsq library (http://www2.nict.go.jp/aeri/sts/stmg/K5/VSSP/install_lsq.html) for a least-squares fitting method.

3.1. Completion Using Artificial Data

In order to evaluate the potential effectiveness of DPLSQ, we began with network completion using artificial data. To our knowledge, there is no available tool that performs the same task. Although some of the existing inference methods employ incremental modifications of networks, the number of added/deleted edges cannot be specified. Therefore, we did not compare DPLSQ for network completion with other methods (but we compared it with the existing tools for network inference).

We employed the structure of the real biological network named WNT5A (see Figure 3) [17]. For each node with input nodes, we considered the following model:

where s and s are constants selected uniformly at random from and , respectively. The reason why the domain of s is smaller than that for s is that non-linear terms are not considered as strong as linear terms. It should also be noted that is a stochastic term, where is a constant (we used in all computational experiments) and is a random noise taken uniformly at random from .

Figure 3: Structure of WNT5A network [17].

For artificial generation of observed data , we used

where is a constant denoting the level of observation errors and is a random noise taken uniformly at random from . Since the use of time series data beginning from only one set of initial values easily resulted in overfitting, we generated time series data beginning from 20 sets of initial values taken uniformly at random from , where the number of time points for each set was set to 10 and was used as the period between the consecutive two time points. Therefore, sets of time series data, each of which consisted of time points, were used per trial (200 time points were used in total per trial). It is to be noted that in our preliminary experiments, the use of too small resulted in too small changes of expression values whereas the use of large resulted in divergence of time series data. Therefore, after some trials, was selected and used throughout the paper.

Under the above model, we examined several s as shown in Table 1. In order to examine network completion, WNT5A was modified by randomly adding edges and deleting edges and the resulting network was given as an initial network.

Table 1: Result on completion of WNT5A network, where the average accuracy is shown for each case.

No. deleted edges
No. added edges

Observation error level

0.1
0.3
0.5
0.7

Accuracy
0.990
0.910
0.730
0.410

Success rate
0.99
0.91
0.73
0.41

Accuracy
1.000
0.955
0.670
0.395

Success rate
1.00
0.91
0.42
0.17

Accuracy
0.990
0.850
0.470
0.240

Success rate
0.99
0.85
0.47
0.24

Accuracy
0.995
0.845
0.405
0.210

Success rate
0.99
0.71
0.11
0.02

Accuracy
0.983
0.843
0.470
0.190

Success rate
0.95
0.58
0.11
0.00

Accuracy
1.000
0.795
0.440
0.215

Success rate
1.00
0.67
0.18
0.01

Accuracy
0.996
0.833
0.453
0.223

Success rate
0.99
0.53
0.05
0.01

Accuracy
1.000
0.862
0.517
0.285

Success rate
1.00
0.56
0.03
0.01

We evaluated the performance of the method in terms of the accuracy of the modified edges and the success rate. The accuracy is defined here by

where and are the sets of edges in the original network and the completed network, respectively. This value takes 1 if all deleted and added edges are correct and 0 if none of the deleted and added edges is correct. For each , we took the average accuracy over a combination of 10 parameters (s and s) and 10 random modifications (i.e., addition of edges and deletion of edges to construct an initial network). The success rate is the frequency of the trials (among trials) in which the original network was correctly obtained by network completion. The result is shown in Table 1. It is seen from this table that DPLSQ works well if the observation error level is small. It is also seen that the accuracies are high in the case of . However, no clear trend can be observed on a relationship between values and the accuracies. It is reasonable because we evaluated the result in terms of the accuracy per deleted/added edge. On the other hand, it is seen that the success rate decreases considerably as and increase or the observation error level increases. This dependence on and is reasonable because the probability of having at least one wrong edge increases as the number of edges to be deleted and added increases. As for the computation time, the CPU time for each trial was within a few seconds, where we used the default values of . Although these default values were larger than here, it did not cause any effects on the accuracy or the success rate. How to choose and is not a trivial problem. As discussed in Section 2.5, we cannot choose large or because of the time complexity issue. Therefore, it might be better in practice to examine several combinations of small values and and select the best result although how to determine the best result is left as another issue.

3.2. Inference Using Artificial Data

We also examined DPLSQ for network inference, using artificially generated time series data. In this case, we used the same network and dynamics model as previously mentioned but we let in the initial network. Since the method was applied to inference, we let , , and . It is to be noted that holds for all nodes in the WNT5A network. Furthermore, in order to examine how CPU time changes as the size of the network grows, we made networks with 30 genes and 50 genes (with and ) by making 3 and 5 copies of the original networks, respectively.

Since the number of added edges was always equal to the number of edges in the original network, we evaluated the results by the average accuracy, which was defined as the ratio of the number of correctly inferred edges to the number of edges in the correct network (i.e., the number of added edges). We examined observation error levels of , , , and , for each of which we took the average over 10 trials using randomly generated different parameter values (i.e., s and s), where time series data were generated as in Section 3.1. The result is shown in Table 2, where the accuracy and the average CPU time (user time + sys time) per trial are shown for each case. It is seen from the table that the accuracy is high even for large networks if the error level is not high. It is also seen that although the CPU time grows rapidly as the size of a network increases, it is still allowable for networks with 50 genes.

Table 2: Result on inference of WNT5A network by DPLSQ.

Observation error level

0.1
0.3
0.5
0.7

Accuracy
1.000
0.966
0.803
0.620

CPU time (sec.)
0.685
0.682
0.682
0.685

Accuracy
0.995
0.914
0.663
0.443

CPU time (sec.)
66.2
66.2
66.1
65.9

Accuracy
0.999
0.913
0.613
0.392

CPU time (sec.)
534.0
534.2
533.6
533.5

We also compared DPLSQ with two well-known existing tools for inference of genetic networks, ARACNE [11, 12] and GeneNet [7, 8]. The former is based on mutual information and the latter is based on graphical Gaussian models and partial correlations. Computational experiments on ARACNE were performed under the same environment as that for DPLSQ, whereas those on GeneNet were performed on a PC with Intel Core i7-2600 CPU (3.40 GHz) with 16 GB RAM running under the Cygwin on Windows 7 because of the availability of the R platform on which GeneNet works. We employed datasets that were generated in the same way as for DPLSQ and default parameter settings for both tools.

Since both tools output undirected edges along with their significance values (or their probabilities), we selected the top edges in the output where was the number of edges in the original network and regarded as a correct edge if either or was included in the edge set of the original network. As in Table 2, we evaluated the results by the average accuracy, that is, the ratio of the number of correctly inferred edges to the number of edges in the original network.

The result is shown in Table 3. Interestingly, both tools have similar performances. It is also interesting that the performance does not change much in each method even if the level of observation error changes. Readers may think that the accuracies shown in Table 3 are close to those by random prediction. However, these accuracies were much higher than those obtained by assigning random probabilities to edges, and thus we can mention that these tools outputted meaningful results.

Table 3: Result on inference of WNT5A network using ARACNE and GeneNet, where the accuracy is shown for each case.

Method
Observation error level

0.1
0.3
0.5
0.7

ARACNE
0.523
0.523
0.523
0.526

GeneNet
0.526
0.526
0.533
0.533

ARACNE
0.332
0.328
0.326
0.326

GeneNet
0.368
0.380
0.383
0.384

ARACNE
0.308
0.312
0.310
0.391

GeneNet
0.313
0.316
0.314
0.316

It is seen from Tables 2 and 3 that the accuracies by DPLSQ are much higher than those by ARACNE and GeneNet even though both directions of edges are taken into account for ARACNE and GeneNet. However, it should be noted that time series data were generated according to the differential equation model on which DPLSQ relies. Therefore, we can only mention that DPLSQ works well if time series data are generated according to appropriate differential equation models. It is to be noted that we can use other differential equation models as long as parameters can be estimated by least-squares fitting.

As for computation time, both methods were much faster than DPLSQ. Even for the case of , each of ARACNE and GeneNet worked in less than a few seconds per trial. Therefore, DPLSQ does not have merits on practical computation time.

3.3. Inference Using Real Data

We also examined DPLSQ for inference of genetic networks using real gene expression data. Since there is no gold standard on genetic networks and thus we cannot know the correct answers, we did not compare it with the existing methods.

We employed a part of the cell cycle network of Saccharomyces cerevisiae extracted from the KEGG database [18], which is shown in Figure 4. Although the detailed mechanism of the cell cycle network is still unclear, we used this network as the correct answer, which may not be true. Although each of (MCM1, YOX1, YHP1), (SWI4, SWI6), (CLN3, CDC28), (MBP1, SWI6) constitutes a protein complex, we treated them separately and ignored the interactions inside a complex because making a protein complex does not necessarily mean a regulation relationship between the corresponding genes.

Figure 4: Structure of part of yeast cell cycle network.

As for time series data of gene expression, we employed four sets of times series data (alpha, cdc15, cdc28, elu) in [19] that were obtained by four different experiments. Since there were several missing values in the time series data, these values were filled by linear interpolation and data on some endpoint time points were discarded because of too many missing values. As a result, alpha, cdc15, cdc28, and elu datasets consist of gene expression data of 18, 24, 11, and 14 time points, respectively. In order to examine a relationship between the number of time points, and accuracy, we examined four combinations of datasets as shown in Table 4. We evaluated the performance of DPLSQ by means of the accuracy (i.e., the ratio of the number of correctly inferred edges to the number of added edges), where and were used. The result is shown in Table 4.

Table 4: Result on inference of a yeast cell cycle network.

Experimental conditions
Accuracy

cdc15
11/25

cdc15 + cdc28
8/25

cdc15 + cdc28 + alpha
8/25

cdc15 + cdc28 + alpha + elu
11/25

Since the total number of edges in both the original network and the inferred networks is 25 and there exist possible edges (excluding self loops), the expected number of corrected edges is roughly estimated as

if 25 edges are randomly selected and added. Therefore, the result shown in Table 4 suggests that DPLSQ can do much better than random inference when appropriate datasets are provided (e.g., cdc15 only or cdc15+cdc28+alpha+elu). It is a bit strange that the accuracies for the first and last datasets are better than those for the second and third datasets because it is usually expected that adding more evidences results in more accurate networks. The reason may be that time series of cdc28 and alpha may contain larger measurement errors than those of cdc15 and elu, or some regulation rules that are hidden in Figure 4 may be activated under the conditions of cdc28 and/or alpha.

4. Conclusion

In this paper, we have proposed a network completion method, DPLSQ, using dynamic programming and least-squares fitting based on our previously proposed methodology of network completion [14]. As mentioned in Section 1, network completion is to make the minimum amount of modifications to a given network so that the resulting network is (most) consistent with the observed data. In our previous model [14], we employed the Boolean network as a model of networks and assumed that only expression or other values of one or a few nodes are observed. However, in this paper, we assumed that expression values of all nodes are observed, which correspond to gene microarray data, and regulation rules are given in the form of differential equations. The most important theoretical difference between this model and our previous model is that network completion can be done in polynomial time if the maximum indegree is bounded by a constant in this model whereas it is NP-hard in our previous model even if the maximum indegree is bounded by a constant. This difference arises not from the introduction of a least-squares fitting method but from the assumption that expression values of all nodes are observed.

It should also be noted that the optimality of the solution is not guaranteed in most of the existing methods for inference of genetic networks, whereas it is guaranteed in DPLSQ if it is applied to inference of a genetic network with a bounded maximum indegree. Of course, the objective function (i.e., minimizing the sum of squared errors) is different from existing ones, and thus this property does not necessarily mean that DPLSQ is superior to existing methods in real applications. Indeed, the result using real gene expression data in Section 3.3 does not seem to be very good. However, DPLSQ has much room for extensions. For example, least-squares fitting can be replaced by another fitting/regression method (with some regularization term) and the objective function can be replaced by another function as long as it can be computed by sum or product of some error terms. Studies on such extensions might lead to development of better network completion and/or inference methods.

Acknowledgments

T. Akutsu was partially supported by JSPS, Japan (Grants-in-Aid 22240009 and 22650045). T. Tamura was partially supported by JSPS, Japan (Grant-in-Aid for Young Scientists (B) 23700017). K. Horimoto was partially supported by the Chinese Academy of Sciences Visiting Professorship for Senior International Scientists Grant no. 2012T1S0012.

References

S. Liang, S. Fuhrman, and R. Somogyi, “REVEAL, a general reverse engineering algorithm for inference of genetic network architectures,” in Proceedings of the Pacific Symposium on Biocomputing, vol. 3, pp. 18–29, 1998.

T. Akutsu, S. Miyano, and S. Kuhara, “Inferring qualitative relations in genetic networks and metabolic pathways,” Bioinformatics, vol. 16, no. 8, pp. 727–734, 2000.

N. Friedman, M. Linial, I. Nachman, and D. Pe'er, “Using Bayesian networks to analyze expression data,” Journal of Computational Biology, vol. 7, no. 3-4, pp. 601–620, 2000.

S. Imoto, S. Kim, T. Goto et al., “Bayesian network and nonparametric heteroscedastic regression for nonlinear modeling of genetic network,” Journal of Bioinformatics and Computational Biology, vol. 1, no. 2, pp. 231–252, 2003.

T. F. Liu, W. K. Sung, and A. Mittal, “Learning gene network using time-delayed Bayesian network,” International Journal on Artificial Intelligence Tools, vol. 15, no. 3, pp. 353–370, 2006.

H. Toh and K. Horimoto, “Inference of a genetic network by a combined approach of cluster analysis and graphical Gaussian modeling,” Bioinformatics, vol. 18, no. 2, pp. 287–297, 2002.

R. Opgen-Rhein and K. Strimmer, “Inferring gene dependency networks from genomic longitudinal data: a functional data approach,” RevStat, vol. 4, no. 1, pp. 53–65, 2006.

R. Opgen-Rhein and K. Strimmer, “From correlation to causation networks: a simple approximate learning algorithm and its application to high-dimensional plant gene expression data,” BMC Systems Biology, vol. 1, article 37, 2007.

P. D'Haeseleer, S. Liang, and R. Somogyi, “Genetic network inference: from co-expression clustering to reverse engineering,” Bioinformatics, vol. 16, no. 8, pp. 707–726, 2000.

Y. Wang, T. Joshi, X. S. Zhang, D. Xu, and L. Chen, “Inferring gene regulatory networks from multiple microarray datasets,” Bioinformatics, vol. 22, no. 19, pp. 2413–2420, 2006.

A. A. Margolin, K. Wang, W. K. Lim, M. Kustagi, I. Nemenman, and A. Califano, “Reverse engineering cellular networks,” Nature Protocols, vol. 1, no. 2, pp. 662–671, 2006.

A. A. Margolin, I. Nemenman, K. Basso et al., “ARACNE: an algorithm for the reconstruction of gene regulatory networks in a mammalian cellular context,” BMC Bioinformatics, vol. 8, supplement 1, no. 1, article S7, 2006.

S. Kimura, S. Nakayama, and M. Hatakeyama, “Genetic network inference as a series of discrimination tasks,” Bioinformatics, vol. 25, no. 7, pp. 918–925, 2009.

T. Akutsu, T. Tamura, and K. Horimoto, “Completing networks using observed data,” Lecture Notes in Artificial Intelligence, vol. 5809, pp. 126–140, 2009.

S. A. Kauffman, The Origins of Order: Self-Organization and Selection in Evolution, Oxford University Press, New York, NY, USA, 1993.

T. Tamura, Y. Yamanishi, M. Tanabe et al., “Integer programming-based method for completing signaling pathways and its application to analysis of colorectal cancer,” Genome Informatics, vol. 24, pp. 193–203, 2010.

S. Kim, H. Li, E. R. Dougherty et al., “Can Markov chain models mimic biological regulation?” Journal of Biological Systems, vol. 10, no. 4, pp. 337–357, 2002.

M. Kanehisa, S. Goto, M. Furumichi, M. Tanabe, and M. Hirakawa, “KEGG for representation and analysis of molecular networks involving diseases and drugs,” Nucleic Acids Research, vol. 38, no. 1, Article ID gkp896, pp. D355–D360, 2009.

P. T. Spellman, G. Sherlock, M. Q. Zhang et al., “Comprehensive identification of cell cycle-regulated genes of the yeast Saccharomyces cerevisiae by microarray hybridization,” Molecular Biology of the Cell, vol. 9, no. 12, pp. 3273–3297, 1998.