In this section, we define precisely the problem of attractor bifurcation analysis. We also give an overview of the necessary technical background needed to describe the algorithmic solution and its implementation. More details can be found in
[4].
A Boolean network (BN) consists of a finite set of state variables \(\mathcal {V}\) (whose elements we denote by \(\mathtt {A}\), \(\mathtt {B}\), ...), a set of regulations \(R \subseteq \mathcal {V}\times \mathcal {V}\), and a family of Boolean update functions \(\mathcal F = \{ F_{\mathtt {A}} \mid \mathtt {A} \in \mathcal {V}\}\). If \((\mathtt {B}, \mathtt {A}) \in R\), we say that \(\mathtt {B}\) is a regulator of \(\mathtt {A}\). For each \(\mathtt {A} \in \mathcal {V}\), we call the set \(\mathcal {C}(\mathtt {A}) = \{\mathtt {B} \in \mathcal {V}\mid (\mathtt {B}, \mathtt {A}) \in R \}\) of its regulators the context of \(\mathtt {A}\). A state of the BN is an assignment of Boolean values to the variables, i.e. a function \(\mathcal {V}\rightarrow \{0, 1\}\). The type signature of each update function \(F_{\mathtt {A}}\) is given by the context of \(\mathtt {A}\) as \(F_{\mathtt {A}}: \{0, 1\}^{\mathcal {C}(\mathtt {A})} \rightarrow \{0, 1\}\).
In Boolean networks, one often describes various properties of the network regulations. Here, we focus on three most basic types of regulation: We say that \((\mathtt {A}, \mathtt {B}) \in R\) is observable if there exists a state where changing the value of \(\mathtt {A}\) also changes the value of \(F_{\mathtt {B}}\). In the tool, edges that might be non-observable are drawn using dashed lines.
We say that a regulation \((\mathtt {A}, \mathtt {B}) \in R\) is activating if by increasing \(\mathtt {A}\), one cannot decrease the value of \(F_{\mathtt {B}}\). Symmetrically, the regulation is inhibiting if by increasing \(\mathtt {A}\), one cannot increase the value of \(F_{\mathtt {B}}\). In the tool, activating edges are denoted using green colour and sharp arrow tips, inhibiting edges are denoted using red colour and flat arrow tips, and edges that might be neither activating nor inhibiting are denoted using grey colour.
Let us now consider an example of a BN with \(\mathcal {V}= \{\mathtt {A}, \mathtt {B}, \mathtt {C}\}\), the regulations R as denoted in Fig. 1 (left) and the update functions: \(F_{\mathtt {A}} = \mathtt {A} \vee \lnot \mathtt {B} \vee \lnot \mathtt {C}\), \(F_{\mathtt {B}} = \mathtt {A} \vee \mathtt {C}\), \(F_{\mathtt {C}} = \lnot \mathtt {B}\). We can see that all regulations are observable and the colour (and shape) of the arrows respects the properties of activation and inhibition, e.g. \((\mathtt {B}, \mathtt {A})\) is an inhibition, because by increasing the value of \(\mathtt {B}\), we cannot increase the value of \(F_{\mathtt {A}}\).
The semantics of a Boolean network is given as a directed state transition graph. The state space of the graph is the set of all possible assignments of Boolean values to the variables, i.e. \(\{0, 1\}^\mathcal {V}\). We consider the state of the Boolean network to evolve in an asynchronous manner, i.e. each variable is updated independently. We thus add a transition \(s \rightarrow t\) if \(s \ne t\) and if there exists a variable \(\mathtt {A}\) such that \(t(\mathtt {A}) = F_{\mathtt {A}}(s)\) and \(t(\mathtt {X}) = s(\mathtt {X})\) for all \(\mathtt {X} \in \mathcal {V}\setminus \{\mathtt {A}\}\). We also use the notation \(\rightarrow ^*\) to denote the reflexive and transitive closure of \(\rightarrow \), i.e. \(s \rightarrow ^* t\) means that the state t is reachable from the state s.
The semantics of the BN from our example is illustrated in Fig. 1 (middle). The states are represented as Boolean triples denoting the values assigned to the variables \(\mathtt {A}\), \(\mathtt {B}\), and \(\mathtt {C}\), respectively.
The long-term behaviour that we are interested in is captured by the notion of attractors. In discrete-state systems, attractors are represented by terminal strongly connected components (TSCCs) of the graph. A TSCC is a maximal set of states S such that for all s, \(t \in S\), \(s \rightarrow ^* t\), and for all \(s \in S\), \(s \rightarrow t\) implies \(t \in S\).
To classify the attractors of a given BN, we consider three primary kinds of long-term behaviour:
-
stability (\(\odot \)) We say that an attractor is stable, if it consists of a single state, in which the network stays forever.
-
oscillation (\(\circlearrowleft \)) We consider an attractor to be oscillating if it is a single cycle of states. The size of such cyclic attractor is often referred to as its period.
-
disorder (\(\rightleftarrows \)) Finally, an attractor is said to be disordered if it is neither stable nor oscillating. This means that although the network will stay in the attractor forever, it will behave somewhat unpredictably due to nondeterminism.
The long-term behaviour of a BN is then characterised by a multi-set over the universe of the three behaviours \(\{ \odot , \circlearrowleft , \rightleftarrows \}\). We call such multi-set a behaviour class and we denote the set of all possible behaviour classes \(\mathfrak {C}\). In our example, the BN has only one attractor, and this attractor is stable; it consists of the single state 110, see Fig. 1 (middle).
To deal with the fact that the update function family \(\mathcal {F}\) might not be fully known, we extend the Boolean network with a set of logical parameters which determine the exact behaviour of each update function. These parameters have the form of uninterpreted Boolean functions, which can be used as part of the update functions’ description.
Formally, we assume a finite set of parameter names \(\mathfrak {P}\), whose elements we denote by \(\mathtt {P}\), \(\mathtt {Q}\), ...; we assume that every \(\mathtt {P} \in \mathfrak {P}\) has an associated arity \(a_\mathtt {P}\) meaning that \(\mathtt {P}\) is an \(a_\mathtt {P}\)-ary uninterpreted function over Boolean values. Note that nullary uninterpreted functions are also allowed and can be seen as simply Boolean parameters. We call an interpretation that assigns to each \(\mathtt {P} \in \mathfrak {P}\) an \(a_\mathtt {P}\)-ary Boolean function a parametrisation. We usually work with a subset of parametrisations, called the valid parametrisations and denoted by P.
A parametrised Boolean network consists of a set of variables \(\mathcal {V}\), a set of regulations \(R \subseteq \mathcal {V}\times \mathcal {V}\) as in the non-parametrised case, a set of parameter names \(\mathfrak {P}\), its associated set of valid parametrisations P, and a family of parametrised update functions \(\mathfrak {F} = \{\widehat{F}_\mathtt {A}\mid \mathtt {A} \in \mathcal {V}\}\). Each \(\widehat{F}_\mathtt {A}\) is written as a Boolean expression that may contain the uninterpreted functions of \(\mathfrak {P}\).
Let us now modify the previous example so that we view the BN from Fig. 1 (left) as a parametrised one with the following update functions: \(\widehat{F}_\mathtt {A} = \mathtt {A} \vee \lnot \mathtt {B} \vee \lnot \mathtt {C}\), \(\widehat{F}_\mathtt {B} = \mathtt {P}(\mathtt {A}, \mathtt {C})\), \(\widehat{F}_\mathtt {C} = \lnot \mathtt {B}\), where \(\mathtt {P}\) is a parameter name with arity 2. The set of valid parametrisations is constrained symbolically using the description of activations and inhibitions in Fig. 1 (left). In this case, there are only two possible parametrisations \(p_1\) (denoted by
) and \(p_2\) (denoted by
). The parametrisation \(p_1\) assigns to \(\mathtt {P}\) the function \((x, y) \mapsto x \vee y\), while \(p_2\) assigns to \(\mathtt {P}\) the function \((x, y) \mapsto x \wedge y\). Note that other assignments would violate the description, namely that both \((\mathtt {A}, \mathtt {B})\) and \((\mathtt {C}, \mathtt {B})\) are observable and activating.
By fixing a concrete parametrisation \(p \in P\), we can interpret all the parameter names and thus transform the parametrised update functions into non-parametrised ones, obtaining a (non-parametrised) BN, called the p-instantiation of the parametrised BN. We then generalise the definition of attractors to parametrised BNs, saying that a set of states S is an attractor in parametrisation \(p \in P\) if S is an attractor in the p-instantiation.
The asynchronous semantics of a parametrised BN can be described using an edge-coloured state transition graph. The transitions of this graph are assigned a set of so-called colours—in our case, the colours correspond exactly to the parametrisations. The states are given as in the non-parametrised case. We then say that \(s \rightarrow t\) if there exists a parametrisation p such that \(s \rightarrow t\) in the p-instantiation. The set of colours of \(s \rightarrow t\) is the set of all such parametrisations. In our example, the graph is depicted in Fig. 1 (right; the edges are annotated with
,
, or both).
Problem Formulation. We now formulate the problem of attractor bifurcation analysis of parametrised BN as follows: Given a parametrised BN with a set of valid parametrisations P, compute the bifurcation function \(\mathcal A: P \rightarrow \mathfrak C\) that assigns to each parametrisation p the behaviour class of the p-instantiation of the given parametrised BN.
In our example, the function \(\mathcal A\) maps \(p_1\)
to \(\{\odot \}\) (one stable attractor \(\{110\}\)) and \(p_2\)
to \(\{\circlearrowleft \}\) (one oscillating attractor \(\{100, 101, 111, 110\}\)).