Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Boolean networks (BNs), introduced by Kauffman [3], is a popular and well-established framework for modelling gene regulatory networks and their associated signalling pathways. The main advantage of this framework is that it is relatively simple and yet able to capture the important dynamical properties of the system under study, thus facilitating the modelling and analysis of large biological networks as a whole.

A Boolean network \(\mathsf{B}\) is a pair \(\mathsf{B}=(\mathbf{x},\mathbf{f})\), where \(\mathbf{x}\) is a tuple of n variables \(\mathbf{x}=(x_1,x_2,\ldots , x_n)\) and \(\mathbf{f}\) is a tuple of n Boolean update functions \(\mathbf{f}=(f_1,f_2,\ldots , f_n)\), where for every i, the function \(f_i\), which depends on a subset of the variables in \(\mathbf{x}\), governs the dynamics of \(x_i\) in time. BN is called linear when the functions \(\mathbf{f}\) are linear. It is non-linear otherwise. For a BN \(\mathsf{B}\) with n variables, its dependency graph is a directed graph \(\mathcal {G}_\mathsf{B}=(V,E)\) with a set V of n vertices (or nodes) for the n variables, ordered such that vertex \(v_i\) corresponds to the variable \(x_i\). There is a directed edge from vertex \(v_i\) to \(v_j\) if and only if the function \(f_j\) depends on \(x_i\). The structure of a BN \(\mathsf{B}\) refers to the structure of its dependency graph \(\mathcal {G}_\mathsf{B}\). The variables of \(\mathbf{x}\) take Boolean values. Each such tuple of values gives rise to a state of the BN, typically denoted as \(\mathbf{s}\) or \(\mathbf{t}\). For a BN with n variables, there can be a total of \(2^n\) possible states, the elements in \(\{0,1\}^n\). The asynchronous dynamics of a BN \(\mathsf{B}\) is assumed to evolve in discrete time steps as follows. Suppose \(\mathsf{B}\) is in state \(\mathbf{s}\) in time t. A possible next state to \(\mathbf{s}\), i.e., a state in time \((t+1)\), is given by non-deterministically choosing exactly one i and updating the ith component of \(\mathbf{s}\) by applying the function \(f_i\) and leaving the other components unchanged. This operation results in a directed graph, called the (state) transition system (TS) of \(\mathsf{B}\), denoted \(\mathsf{TS}_\mathsf{B}\), whose elements are the states of \(\mathsf{B}\) and there is a directed edge from a state \(\mathbf{s}\) to a state \(\mathbf{t}\) if and only if \(\mathbf{t}\) is a possible next state to \(\mathbf{s}\).

An attractor A of \(\mathsf{B}\) is a subset of states of \(\mathsf{B}\) that forms a bottom maximal strongly connected component (SCC) of \(\mathsf{TS}_\mathsf{B}\). Attractors represent the eventual behaviour or the steady states of the system modelled by the BN. In biological context, attractors are hypothesised to characterise cellular phenotypes [3] and also correspond to functional cellular states such as proliferation, apoptosis differentiation etc. [1]. The identification and analysis of the attractors of a BN thus forms an integral part of the study of the corresponding biological network. Controlling the network means driving its dynamics from one steady state to another by modifying the parameters of the network which amounts to being able to move it between the different attractors. The strong basin of attraction of an attractor A of \(\mathsf{B}\), denoted \(\mathsf{bas}(A)\), is the subset of states of \(\mathsf{B}\) such that there is a (possibly empty) sequence of edges from every state \(\mathbf{s}\) in \(\mathsf{bas}(A)\) to a state \(\mathbf{t}\in A\) and moreover there is no such sequence from \(\mathbf{s}\) to any state \(\mathbf{t}'\in A'\) for any other attractor \(A'\ne A\) of \(\mathsf{B}\). If the current state of \(\mathsf{B}\) is in \(\mathsf{bas}(A)\) for some attractor A, then its dynamics is guaranteed to eventually reach A.

The full control of linear networks is a well-understood problem [2] and a number of control strategies have been developed in the literature. Recent work on network controllability has shown that full controllability and reprogramming of intercellular networks can be achieved by a minimal number of control targets [5]. However, the full control of non-linear networks is apparently more challenging predominantly due to the explosion of the potential search space with the increase in the network size. There has not been a lot of work in the study of the full control of non-linear networks. Recently, Kim et al. [4] developed a method to identify the so-called ‘control kernel’ which is a minimal set of nodes for fully controlling a biological network. However, their method requires the construction of the full state transition graph of the studied network and as such does not scale well for large networks.

In this work, we aim to develop a method for the full control of non-linear BNs with asynchronous dynamics, based both on their structural and dynamic properties. The problem is formally defined as: Given a BN \(\mathsf{B}\), find a minimal subset \(\mathsf{C}\) of indices of the variables of \(\mathsf{B}\) such that for any pair of attractors \(A_s\) and \(A_t\) of \(\mathsf{B}\), there exists a state \(\mathbf{s}\in A_s\) such that a subset of the variables with indices in \(\mathsf{C}\) needs to be toggled (controlled) in \(\mathbf{s}\), in a single step, so that the system eventually reaches \(A_t\). The problem can be shown to be PSPACE-hard and hence efficient algorithms for dealing with large BNs are highly unlikely. Our method is based on a decomposition-based approach for solving the corresponding minimal target control problem [7] which yields efficient results for many large real-life BNs having modular structures. In brief, the method analyses the structure of the BN to identify its maximal strongly connected components and uses them to decompose the vertices of the dependency graph into (possibly overlapping) subsets called blocks (see details in [6, 7]). The blocks are sorted topologically and the full control problem is solved locally for each block in the sorted order. The local results are then combined to derive the minimal full control set for the entire network. Due to space-restriction, we describe our method in details on a running example without going into formal notations and proofs.

Fig. 1.
figure 1

Running example: the dependency graph of a \(\mathsf{B}\) and its transition system.

Consider the three-node asynchronous BN \(\mathsf{B}=(\mathbf{x},\mathbf{f})\), where \(\mathbf{x}=(x_1,x_2,x_3)\) and \(\mathbf{f}=(f_1,f_2,f_3)\), such that \(f_1=\lnot x_2 \vee (x_1\wedge x_2), f_2=x_1\wedge x_2\) and \(f_3=x_3\wedge \lnot (x_1\wedge x_2)\). The dependency graph \(\mathcal {G}_\mathsf{B}\) and the state transition system \(\mathsf{TS}_\mathsf{B}\) are given in Figs. 1(a) and (b), respectively. \(\mathsf{TS}_\mathsf{B}\) has three attractors \(A_1=\{(100)\}, A_2=\{(101)\}\) and \(A_3=\{(110)\}\), shown by dark grey rectangles. Their corresponding strong basins of attractions are shown by enclosing grey regions of a lighter shade.

By definition, we know that for the BN to surely end up in an attractor A it is enough for it to be in any of the states in the strong basin of A. Thus, for example, from attractor \(A_2\) to end up in \(A_3\) one has to control the nodes with indices \(\{2,3\}\) or just \(\{2\}\) to enter the strong basin of \(A_2\). Table 1 notes the indices of the nodes to control for each pair of attractors of \(\mathsf{B}\).

To compute the minimal full control, one has to find a minimal subset \(\mathsf{C}\) of \(\{1,2,3\}\) such that \(\mathsf{C}\) is a superset of at least one subset from every cell of Table 1. In this example \(\mathsf{C}=\{2,3\}\), but the general problem is NP-hard.

Table 1. Attractor pair control indices.

We thus take advantage of our decomposition-based approach developed for the efficient computation of minimal target control for well-structured BNs [7], to compute the full control for pairs of attractors in local blocks and then merge them to obtain the global full control.

Fig. 2.
figure 2

The local transition systems of the blocks \(B_1\) and \(B_2\).

In the above example \(\mathcal {G}_\mathsf{B}\) has two maximal SCCs \(S_1=\{v_1,v_2\}\) and \(S_2=\{v_3\}\). Each such component \(S_j\) generates a block by including all the vertices from which there are incoming edges into \(S_j\). Thus \(\mathcal {G}_\mathsf{B}\) has two blocks \(B_1=\{v_1,v_2\}\) and \(B_2=\{v_1,v_2,v_3\}\) as shown in Fig. 2(a). The vertex in \(B_2\) depends on (has incoming edges from) vertices in \(B_1\) whereas, \(B_1\) has no such dependency on other blocks. Hence, they can be topologically sorted as \(\{B_1,B_2\}\). In fact, the dependency relation between the blocks will always be acyclic and hence the blocks can be topologically sorted [7]. We compute the transition system \(\mathsf{TS}_{B_1}\) of \(B_1\) (Fig. 2(b)) and find that it has 2 attractors \(A_1^1=\{(10)\}\) and \(A_1^2=\{(11)\}\). The two basins of attractions \(\mathsf{bas}(A_1^1)\) and \(\mathsf{bas}(A_1^2)\) are used to compute two transition systems of \(B_2\) (Figs. 2(c) and (d), respetively). The first has two attractors \(A_2^1=\{(100)\}\) and \(A_2^2=\{(101)\}\) and the second has one attractor \(A_2^3=\{(110)\}\).

Table 2. Control indices for the blocks.

It holds, as was shown in [7], that \(A_1=A_1^1\,\otimes \, A_2^1, A_2 = A_1^1\,\otimes \, A_2^2\) and \(A_3=A_1^2\,\otimes \, A_2^3\) are the only attractors of the global \(\mathsf{B}\) (where \(\otimes \) is a combination operation on boolean tuples defined in [7]). Thus we can work with the transition systems of \(B_1\) and \(B_2\) separately to compute the minimal full control of \(\mathsf{B}\). For that, we construct Tables 2(a) and (b) similar to Table 1 listing the sets of indices to be controlled to move between attractors of \(B_1\) and \(B_2\), respectively. Here an entry of \(\emptyset \) means that it is possible to move between the corresponding attractors without controlling any index. For \(B_2\) we need only consider the indices of the vertices in \(B_2\setminus B_1\). From Table 2(a), \(\mathsf{C}^1 = \{2\}\) and from Table 2(b), \(\mathsf{C}^2=\{3\}\). Combining, \(\mathsf{C}=\mathsf{C}^1\cup \mathsf{C}^2=\{2,3\}\).

For the general case, suppose there are k blocks that are topologically sorted as \(\{B_1,B_2,\ldots , B_k\}\). Then the matrix for every block \(B_i\) will involve indices of the vertices in \(B_i\setminus (\bigcup _{j<i}B_j)\). The rest of the procedure is similar to the 2-block case as described here. We note that for certain BNs, the minimal global control for moving to a target attractor \(A_t\) computed by combining the minimal local control for the blocks might move the BN to a state which is not in the strong basin of attraction of \(A_t\). We deal with this issue by augmenting the procedure to systematically rule out such problematic cases. Currently, we are implementing our approach in software and evaluating it on real-life biological networks modelled as BNs.