State feedback control design for Boolean networks
 Rongjie Liu^{1},
 Chunjiang Qian^{1},
 Shuqian Liu^{2} and
 YuFang Jin^{1, 3}Email author
https://doi.org/10.1186/s129180160314z
© The Author(s) 2016
Published: 26 August 2016
Abstract
Background
Driving Boolean networks to desired states is of paramount significance toward our ultimate goal of controlling the progression of biological pathways and regulatory networks. Despite recent computational development of controllability of general complex networks and structural controllability of Boolean networks, there is still a lack of bridging the mathematical condition on controllability to real boolean operations in a network. Further, no realtime control strategy has been proposed to drive a Boolean network.
Results
In this study, we applied semitensor product to represent boolean functions in a network and explored controllability of a boolean network based on the transition matrix and time transition diagram. We determined the necessary and sufficient condition for a controllable Boolean network and mapped this requirement in transition matrix to real boolean functions and structure property of a network. An efficient tool is offered to assess controllability of an arbitrary Boolean network and to determine all reachable and nonreachable states. We found six simplest forms of controllable 2node Boolean networks and explored the consistency of transition matrices while extending these six forms to controllable networks with more nodes. Importantly, we proposed the first state feedback control strategy to drive the network based on the status of all nodes in the network. Finally, we applied our reachability condition to the major switch of P53 pathway to predict the progression of the pathway and validate the prediction with published experimental results.
Conclusions
This control strategy allowed us to apply realtime control to drive Boolean networks, which could not be achieved by the current control strategy for Boolean networks. Our results enabled a more comprehensive understanding of the evolution of Boolean networks and might be extended to output feedback control design.
Keywords
Background
Boolean networks have been successfully applied to model gene regulations and protein interactions for the last two decades because the up or down regulation of molecular expressions can be described as discrete Boolean functions [1–4]. In these applications, molecules and their interactions were treated as nodes and edges, respectively. Boolean networks were characterized with network structure, i.e. the organization of nodes and edges, and the interactive Boolean functions among the nodes [5]. Recent advances in high throughput technology such as genomics and proteomics have prompted us to determine the interactions among molecules, thus establishing a Boolean network for a small biological system is feasible.
Currently, the most common senorio of biological experiments is to modify a specific molecular expression through gene knockout or dosage injection and to evaluate the down stream effects of the modified molecule by examining expressions of a panel of genes based on expertise knowledge or using unbiased screening. Such experimental design only changes the initial state of a biological network and no other stimuli (control input) is introduced to the system during the response. Further, such experimental design was performed without answering the following questions: 1) whether changing the state of one node or a group of nodes of a network will drive the network to desired states; and 2) how to determine the effect of structural and functional changes of a network.
Similar questions have been answered for linear time invariant systems as reachability and controllability of a system. In general, a particular state x _{1} is reachable if there exists a control input to transfer the system from any initial state to x _{1} in a finite time. Meanwhile, a system is defined as reachable if every state of the system is reachable [6]. Controllability of a system is very similar to reachability definition, which means if there exists a control input to transfer the system from any initial condition to the origin in finite time. For a linear time invariant system, we can always translate a state to the origin using coordinate transformation. And therefore, reachability is a fundamental check for controllability.
Preliminary results on controllability of general networks were obtained via pinning control strategy in terms of the spectral properties of network structure [7]. Barabasi’s group has mapped controllability conditions of linear time invariant systems to complex networks and computationally determined the driver nodes for a network [8]. Their results answered the question which nodes might affect the progression of a network. Yuan and colleagues further examined the effect of weights of the edges on controllability of a general network [9]. Both results focused on finding the minimal number of nodes to control the network. However, these results are computational analysis due to the lack of mathematical representation of complex networks. In the year of 2003, Cheng proposed a mathematical representation of Boolean networks with semitensor product [10], which provided a possible approach to systemically examine the controllability of Boolean Networks. Sun and Cheng defined the controllability of a Boolean network and obtained preliminary controllable condition on network structure [11–13]. However, the definition and conditions were mathematical oriented and have not been linked to Boolean operations in real networks, which imposed extra difficulty for users without the required mathematical background.
In this study, we defined both structural and functional requirements for a reachable Boolean network using semitensor product. We found 6 forms for controllable 2node Boolean networks with both structural and functional conditions, developed a sharable tool to determine whether an arbitrary Boolean network is reachable or not, and gave possible structural and functional changes to modify the reachability. Most importantly, we proposed the first state feedback control strategy to drive a Boolean network by integrating current status of all nodes in the network. The control strategy allowed realtime application and will provide effective control to drive the network to a desired state.
Boolean networks
Boolean networks proposed by Kauffman are discretetime dynamics systems with Boolean statevariables [5]. Each node of a Boolean network is a Boolean state variable with logic value 0 (false) or 1 (true) corresponding to down or up regulation of a molecule in a biological network. States of all nodes in a Boolean network will lead to a Boolean vector.
Logical matrices of 16 Boolean operations
Logical connective  Logical operator  Logical matrix for 2node 

symbol  Boolean networks  
True  ⊤  \(\left (\begin {array}{cccc} 1&1&1&1 \\ 0&0&0&0 \end {array} \right)\) 
False  ⊥  \(\left (\begin {array}{cccc} 0&0&0&0 \\ 1&1&1&1 \end {array} \right)\) 
Proposition x _{1}  x _{1}  \(\left (\begin {array}{cccc} 1&1&0&0 \\ 0&0&1&1 \end {array} \right)\) 
Proposition x _{2}  x _{2}  \(\left (\begin {array}{cccc} 1&0&1&0 \\ 0&1&0&1 \end {array} \right)\) 
Negation (inhibition) x _{1}  ¬x _{1}  \(\left (\begin {array}{cccc} 0&0&1&1 \\ 1&1&0&0 \end {array} \right)\) 
Negation (inhibition) x _{2}  ¬x _{2}  \(\left (\begin {array}{cccc} 0&1&0&1 \\ 1&0&1&0 \end {array} \right)\) 
Conjunction  ∧  \(\left (\begin {array}{cccc} 1&0&0&0 \\ 0&1&1&1 \end {array} \right)\) 
Disjunction (union)  ∨  \(\left (\begin {array}{cccc} 1&1&1&0 \\ 0&0&0&1 \end {array} \right)\) 
Converse implication  ←  \(\left (\begin {array}{cccc} 1&1&0&1 \\ 0&0&1&0 \end {array} \right)\) 
Material conditional  →  \(\left (\begin {array}{cccc} 1&0&1&1 \\ 0&1&0&0 \end {array} \right)\) 
Converse nonimplication  \(\nleftarrow \)  \(\left (\begin {array}{cccc} 0&0&1&0 \\ 1&1&0&1 \end {array} \right)\) 
Material nonimplication  \(\nrightarrow \)  \(\left (\begin {array}{cccc} 0&1&0&0 \\ 1&0&1&1 \end {array} \right)\) 
Biconditional  ⇔  \(\left (\begin {array}{cccc} 1&0&0&1 \\ 0&1&1&0 \end {array} \right)\) 
Alternative denial  ↑  \(\left (\begin {array}{cccc} 0&1&1&1 \\ 1&0&0&0 \end {array} \right)\) 
Joint denial  ↓  \(\left (\begin {array}{cccc} 0&0&0&1 \\ 1&1&1&0 \end {array} \right)\) 
Exclusive disjunction  ⊕  \(\left (\begin {array}{cccc} 0&1&1&0 \\ 1&0&0&1 \end {array} \right)\) 
Algebraic representation of Boolean networks
where V _{ i } and u _{ j } take value from the set {0,1} [14]. The representation of each Boolean function is defined as B _{ i }:{0,1}^{ n+m }→{0,1},i=1,…,n, which is preassigned Boolean logical functions determined by the biological process. For a nnode boolean network, there are 2^{ n } possible states. If there is no control input u _{ j }, B _{ i } is a 2×2^{ n } matrix because each logical value 0 or 1 is expressed as a vector (0,1)^{ T } or (1,0)^{ T }, respectively. The algebraic statespace representation of the Boolean control network is set up based on the semitensor product of matrices which will be introduced in our method part [10, 14, 15].
For each Boolean function, there is a unique truth table while the algebraic expression of a Boolean function is not unique. This means that there exist different forms of structures and operations of a network with same Boolean function. In this study, we assume each Boolean function is represented with the simplest form to reduce the complexity of analysis.
Results
We first defined all reachable states of a Boolean network with control applied at the beginning and then removed the control input from the system. This exactly mimics the situation of modifying one node or a group of nodes in the network initially and examining the response. We then extended the reachability to controllability.
Determining reachability using graphical approach
For a nnode Boolean network, an integrated state represents the status of n variables in the network. All together there are 2^{ n } integrated states, representing each possible status of the n nodes. An integrated state is denoted as \(e_{2^{n}}^{j}\), j=1,2,⋯,2^{ n }, in which \(e_{2^{n}}^{j}\) means the j _{ th } column of 2^{ n }×2^{ n } identity matrix. A graphical representation, time transition diagram, was proposed to illustrate the transition among the integrated states. Each node of the time transition diagram corresponds to one integrated state \(e_{2^{n}}^{j}\) of a dynamic network. A directed edge from \(e_{2^{n}}^{j}\) to \(e_{2^{n}}^{k}\), j,k=1,2,⋯,2^{ n }, indicates temporal transitions from an integrated state \(e_{2^{n}}^{j}\) to an integrated state \(e_{2^{n}}^{k}\). The directed edge also represents that the j _{ th } column in the transition matrix is \(e_{2^{n}}^{k}\). The transition matrix of a Boolean network is calculated using semitensor product, and each column of the transition matrix is a vector \(e_{2^{n}}^{k}\). From the left to the right, each column of the transition matrix represents the transition from \(e_{2^{n}}^{j}\), j increasing from 1 to 2^{ n }, to its next integrated state represented by a column vector \(e_{2^{n}}^{k}\). Specifically, the left most column of the transition matrix represents the transition from \(e_{2^{n}}^{1}\) to its next integrated state, and the right most column in the matrix represents the transition from \(e_{2^{n}}^{2^{n}}\) to its next integrated state. Therefore, there are a total of 2^{ n } outgoing arrows in the time transition diagram and a node may have multiple incoming arrows but has only one outgoing arrow.
Reachability of a node in the time transition diagram means the corresponding integrated state can be reached from any initial integrated state in finite time. If each node in the time transition diagram is reachable, the Boolean network is reachable.
Finding 1
A Boolean network with n nodes (n>1) is reachable if and only if the signal flow goes through each node in the time transition diagram by one direction, indicating that each node has one outgoing arrow and one incoming arrow.
There are some specific properties for the transition matrix of a reachable Boolean network: 1) There is only one 1 in each column and each row, suggesting an integrate state can only be reached by one other integrated state; 2) Every diagonal elements is zero. It means that the j _{ th } column is not \(e_{2^{n}}^{j}\). This property excludes self transition of one integrated state. 3) If the j _{ th } column is \(e_{2^{n}}^{k}\), then the k _{ th } column is not \(e_{2^{n}}^{j}\), n≥2, which excludes transition between two integrated states. However, this property is not true for a 1node reachable Boolean network. The transition matrix of 1node reachable boolean network satisfies that the 1_{ st } column is \({e_{2}^{2}}\) while the 2_{ nd } column is \({e_{2}^{1}}\).
Relationship between eight integrated states of a 3node Boolean network and logical values of the 3 nodes
Node 1  Node 2  Node 3  Integrated state 

1  1  1  \({e_{8}^{1}}\) 
1  1  0  \({e_{8}^{2}}\) 
1  0  1  \({e_{8}^{3}}\) 
1  0  0  \({e_{8}^{4}}\) 
0  1  1  \({e_{8}^{5}}\) 
0  1  0  \({e_{8}^{6}}\) 
0  0  1  \({e_{8}^{7}}\) 
0  0  0  \({e_{8}^{8}}\) 
Interestingly, these six simplest networks show highly coupled property, which can be divided into three groups. In each group, if state x _{1} is swapped with x _{2} in one of the coupled networks, it exactly becomes the other network. Therefore, for any given 2node Boolean network dynamics with logical operations, it will be straightforward to know that it is reachable or not when it reduces to its simplest form. In addition, this provided a baseline to check reachability and controllability of a Boolean network with more nodes.
Feedback control design for Nnode lowertriangle Boolean networks Starting from the known 6 forms of 2node reachable Boolean networks, their extensions to Nnode Boolean networks can be derived based on the property of transition matrix. Further, for the extended Nnode Boolean network with control input added to the nth node directly, the feedback control input can be designed to implement the reachability of the Nnode Boolean network.
Finding 2
For a given Nnode lowertriangle Boolean network dynamic with control input located at the nth node, if the first N1 Boolean network dynamic is a reachable (N1)node Boolean dynamics, a feedback control can be designed, which is extracted from the N _{ th } logical function of extended Nnode reachable Boolean dynamics from the (N1)node reachable Boolean dynamics.
Given one of the 6 reachable 2node boolean networks in Fig. 2, we can extend the network with extra nodes once the added boolean functions guarantee the time transition diagram satisfy the condition in our 1st finding. For an extended Nnode reachable Boolean network, if we divide its (2^{ n }×2^{ n } transition matrix L _{ N } into subblocks, and define 0block as a square matrix with all zero elements, and 1block as square matrix with nonzero element, the structure of the transition matrix L _{ N } in terms of the subblocks will mimic the transition matrix for boolean networks with less nodes.
where u is the control input of the lowertriangle dynamic, which will be designed later.
Analysis of reachability for P53 pathway
The relationship between integrated states and its corresponding Boolean values of four genes
ATM  p53  Wip1  Mdm2  Integrated state 

1  1  1  1  \(e_{16}^{1}\) 
1  1  1  0  \(e_{16}^{2}\) 
1  1  0  1  \(e_{16}^{3}\) 
1  1  0  0  \(e_{16}^{4}\) 
1  0  1  1  \(e_{16}^{5}\) 
1  0  1  0  \(e_{16}^{6}\) 
1  0  0  1  \(e_{16}^{7}\) 
1  0  0  0  \(e_{16}^{8}\) 
0  1  1  1  \(e_{16}^{9}\) 
0  1  1  0  \(e_{16}^{10}\) 
0  1  0  1  \(e_{16}^{11}\) 
0  1  0  0  \(e_{16}^{12}\) 
0  0  1  1  \(e_{16}^{13}\) 
0  0  1  0  \(e_{16}^{14}\) 
0  0  0  1  \(e_{16}^{15}\) 
0  0  0  0  \(e_{16}^{16}\) 
To verify that our predictions on P53 pathway progression, we examined the experimental results published on P53 pathways. The published results confirmed that 1) P53 pathway has a stable pattern pulses generation [17], and 2) there exists twophase transition in P53 pathways [18].
Discussion and conclusions
Reachability of Boolean networks is a central issue for network analysis. However, due to the lacking of a systemic approach to present network progression with respect to the structure and functions of a network, little is known about reachability of a complex network. Recent results are acquired with computational estimates and on structural property [8, 9, 19]. The most significant contributions of this study were listed below. We have developed a tool to determine the reachability for Boolean networks with arbitrary number of nodes and Boolean functions. This tool allows general nonengineer users to verify whether a Boolean network is reachable or not. Further, with a given Boolean network, we can recognize all the reachable states and separate them from nonreachable states. If a desired state of the network is among the reachable states, a modification of initial states through gene knock out or dosage injection may lead to desired response. Otherwise, a more complicated control should be introduced.
We also found six simplest forms for reachable 2D boolean networks. This result provided the structure of reachable transition matrix and allowed us to examine possible modification of structure and function of a network. Finally, we proposed the first state feedback control design strategy of Nnode Boolean networks. The control is determined by status of all nodes in the network and is feasible for realtime application. For instance, a possible control design was introduced to a 2node network to form a 3node reachable Boolean network shown in Fig. 3. Though the last Boolean function may be complicated, it provides possible direction for state feedback control design. Simplification and optimization of the state feedback control design and output feedback control design will be conducted as our future research.
Finally, we presented the analysis of the major switch in P53 pathway to predict the progression of the pathway and validated our prediction with published results.
Methods
Semitensor product. Semitensor product \('\ltimes '\) allows us to multiply two matrices without the requirement of matching their dimensions [10].
where α=l c m(n,p), l c m(n,p) denotes the least multiple of n and p. I _{ α/n } and I _{ α/p } are the (α/n×α/n) identity matrix and (α/p×α/p) identity matrix, respectively. Operation ⊗ means the Kronecker product [20].

Cheng’s result 1: Any logical function f(x _{1},x _{2},⋯,x _{ n }) with logical states \(x_{1}, x_{2},\cdots, x_{n}\in \mathcal {D}\) can be expressed in a multilinear form as$$ f(x_{1},x_{2},\cdots,x_{n})=M\ltimes x_{1}\ltimes x_{2} \cdots\ltimes x_{n} $$(5)
where M is a 2×2^{ n } logical matrix.

Cheng’s result 2: Consider a Boolean network with states \(x_{i}\in \mathcal {D}\) and denote integrated state \(x(k)=x_{1}(k)\ltimes x_{2}(k)\cdots \ltimes x_{n}(k)\), there exists a unique matrix \(L\in \{0,1\}^{2^{n}\times 2^{n}}\) such that$$ x(k+1)=L\ltimes x(k), $$(6)
L is the transition matrix of this Boolean network.
Cheng’s results allow us to represent the dynamics of Boolean networks with an algebraic state space representation. Then, the time transition diagram can be determined by this transition matrix L.
noticing that if one of α _{1j } and α _{2j }, j=1,2,3,4, is zero, the other one must be one. Also, the same condition is on the situation of β _{1j } and β _{2j }, j=1,2,3,4. In other words, α _{1j }+α _{2j }=1 and β _{1j }+β _{2j }=1, where \(\alpha _{1j},\alpha _{2j}, \beta _{1j},\beta _{2j}\in \mathcal {D}\). Therefore, M _{1} and M _{2} has 2^{4} combination cases.
According to the forms of L _{ i }, i=1,2,⋯,6, the related M _{1} and M _{2} can be determined and their corresponding most simplistic logic equations can be obtained respectively, which are listed below.
All the other five sets of M _{1} and M _{2} corresponding L _{ i }, i=2,3,4,5,6, can be obtained through the same way. All possible Boolean networks and corresponding transition matrices were shown in Fig. 2.
where M _{ i } are 2×2^{ n } logical matrices of dynamics, i=1,2,⋯,n. Φ _{ n } is a fixed 2^{2n }×2^{ n } matrix, which only depends on the number of nodes.
where \(L^{*}_{n}=E\ltimes M_{1}\ltimes \prod ^{n}_{i=2}[(I_{2^{n+1}}\otimes (E\ltimes M_{i}))\ltimes \Phi _{n+1}]\), which is a 2^{ n }×2^{ n+1} matrix. Due to \((I_{2^{n+1}}\otimes M^{*}_{n+1})\ltimes \Phi _{n+1}\) is a 2^{ n+2}×2^{ n+1} matrix, \(L^{*}_{n}\) matrix will be extended as \(L^{*}_{n}\otimes I_{2}\) when doing the semiproduct. Therefore, L _{ n+1} is a 2^{ n+1}×2^{ n+1} matrix, which has multilevelnested structure based on matrices L _{2}, L _{3}, ⋯, L _{ n } of 2−D, 3−D, ⋯, n−D reachable or reachable Boolean network systems. According to the property of transition matrix, when extending to more nodes reachable networks, each 1block will be extended to a 2×2 identity matrix or skewidentity matrix, which means a 1block can be extended to two 1blocks. If there is an odd number of identity matrices or skewidentity matrices, the extended Boolean network is reachable. Based on this rule, the logical matrix \(M^{*}_{n+1}\) can be derived, then the feedback controller can be determined.
Starting from the six forms of 2node reachable logical Boolean network, we can find all the 3node corresponding reachable Boolean network dynamics with logical operations. By that analogy, Nnode (n>2) reachable logical Boolean network can be obtained.
Declarations
Declarations
The publication costs for this article were funded by the corresponding author. This article has been published as part of BMC Systems Biology Volume 10 Supplement 3, 2016: Selected articles from the International Conference on Intelligent Biology and Medicine (ICIBM) 2015: systems biology. The full contents of the supplement are available online at http://bmcsystbiol.biomedcentral.com/articles/supplements/volume10supplement3.
Availability of data and materials
The Matlab code S T P−T o o l b o x used in this paper can be found at http://lsc.amss.ac.cn/~dcheng/ . The transition matrices of examples and real network pathways described in this manuscript are calculated by this Matlab package. The matlab code supporting the example result in Fig. 1 of this article are also included in the supplementary material.
Authors’ contributions
RJ, YFJ designed the research, RJ conducted the research, RJ, CQ, SL, YFJ wrote the paper. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Consent for publication
Not applicable.
Ethics approval and consent to participate
Not applicable.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
Authors’ Affiliations
References
 Shmulevich I, Dougherty ER, Kim S, Zhang W. Probabilistic Boolean networks: a rulebased uncertainty model for gene regulatory networks. Bioinformatics. 2002; 18(2):261–74.View ArticlePubMedGoogle Scholar
 Fauré A, Naldi A, Chaouiya C, Thieffry D. Dynamical analysis of a generic Boolean model for the control of the mammalian cell cycle. Bioinformatics. 2006; 22(14):124–31.View ArticleGoogle Scholar
 Gupta S, Bisht SS, Kukreti R, Jain S, Brahmachari SK. Boolean network analysis of a neurotransmitter signaling pathway. J Theor Biol. 2007; 244(3):463–9.View ArticlePubMedGoogle Scholar
 Srihari S, Raman V, Leong HW, Ragan MA. Evolution and controllability of cancer networks: a Boolean perspective. IEEE/ACM Trans Comput Biol. Bioinforma. 2014; 11:83–94. http://dx.doi.org/10.1109/TCBB.2013.128.View ArticleGoogle Scholar
 Kauffman SA. Metabolic stability and epigenesis in randomly constructed genetic nets. J Theor Biol. 1969; 22(3):437–67.View ArticlePubMedGoogle Scholar
 Luenberger D. Introduction to Dynamic Systems Theory, Models and Applications. New York City, USA: Wiley; 1979.Google Scholar
 Sorrentino F, di Bernardo M, Garofalo F, Chen G. Controllability of complex networks via pinning. Phys Rev E. 2007; 75:046103. http://link.aps.org/doi/10.1103/PhysRevE.75.046103.View ArticleGoogle Scholar
 Liu YY, Slotine JJ, Barabási AL. Controllability of complex networks. Nat Commun. 2011; 473(7346):167–73.View ArticleGoogle Scholar
 Yuan Z, Zhao C, Di Z, Wang Wx, Lai YC. Exact Controllability of complex networks. Nature. 2013; 4(2447):1–9.Google Scholar
 Cheng D, Dong Y, et al.Semitensor product of matrices and its some applications to physics. Methods Appl Anal. 2003; 10(4):565–88.Google Scholar
 Cheng D, Qi H. Controllability and observability of Boolean control networks. Automatica. 2009; 45(7):1659–67.View ArticleGoogle Scholar
 Cheng D, Qi H. A linear representation of dynamics of Boolean networks. IEEE Trans Autom Control. 2010; 55(10):2251–8.View ArticleGoogle Scholar
 Li F, Sun J. Controllability and optimal control of a temporal Boolean network. Neural Netw. 2012; 34:10–7. http://www.sciencedirect.com/science/article/pii/S0893608012001591.View ArticlePubMedGoogle Scholar
 Cheng D. Input–state approach to Boolean networks. IEEE Trans. Neural Netw. 2009; 20(3):512–21.View ArticlePubMedGoogle Scholar
 Cheng D, Li Z, Qi H. Realization of Boolean control networks. Automatica. 2010; 46:62–9.View ArticleGoogle Scholar
 Layek RK, Datta A, Dougherty ER. From biological pathways to regulatory networks. Mol BioSyst. 2011; 7:843–51. http://dx.doi.org/10.1039/C0MB00263A.View ArticlePubMedGoogle Scholar
 Batchelor E, Mock CS, Bhan I, Loewer A, Lahav G. Recurrent Initiation: A Mechanism for Triggering p53 Pulses in Response to {DNA} Damage. Mol Cell. 2008; 30(3):277–89. http://www.sciencedirect.com/science/article/pii/S1097276508002402.View ArticlePubMedPubMed CentralGoogle Scholar
 Zhang XP, Liu F, Wang W. Twophase dynamics of p53 in the DNA damage response. Proc Natl Acad Sci. 2011; 108(22):8990–5. http://www.pnas.org/content/108/22/8990.abstract.View ArticlePubMedPubMed CentralGoogle Scholar
 Cheng D, Qi H. Controllability and observability of Boolean control networks. Automatica. 2009; 45(7):1659–67. http://www.sciencedirect.com/science/article/pii/S0005109809001472.View ArticleGoogle Scholar
 Bernstein DS. Matrix mathematics: theory, facts, and formulas. NJ, USA: Princeton University Press; 2009.View ArticleGoogle Scholar
 Cheng D, Qi H, Li Z. Analysis and control of Boolean networks: a semitensor product approach. NY, USA: Springer Science & Business Media; 2010.Google Scholar