Identification of bifurcation transitions in biological regulatory networks using Answer-Set Programming

Background Numerous cellular differentiation processes can be captured using discrete qualitative models of biological regulatory networks. These models describe the temporal evolution of the state of the network subject to different competing transitions, potentially leading the system to different attractors. This paper focusses on the formal identification of states and transitions that are crucial for preserving or pre-empting the reachability of a given behaviour. Methods In the context of non-deterministic automata networks, we propose a static identification of so-called bifurcations, i.e., transitions after which a given goal is no longer reachable. Such transitions are naturally good candidates for controlling the occurrence of the goal, notably by modulating their propensity. Our method combines Answer-Set Programming with static analysis of reachability properties to provide an under-approximation of all the existing bifurcations. Results We illustrate our discrete bifurcation analysis on several models of biological systems, for which we identify transitions which impact the reachability of given long-term behaviour. In particular, we apply our implementation on a regulatory network among hundreds of biological species, supporting the scalability of our approach. Conclusions Our method allows a formal and scalable identification of transitions which are responsible for the lost of capability to reach a given state. It can be applied to any asynchronous automata networks, which encompass Boolean and multi-valued models. An implementation is provided as part of the Pint software, available at http://loicpauleve.name/pint. Electronic supplementary material The online version of this article (doi:10.1186/s13015-017-0110-3) contains supplementary material, which is available to authorized users.

In the case when the local path requires no condition ( η m = ∅, this can happen when the objective is trivial, i.e., a i a i , or when the local transitions do not dependent on the other automata), we link the lpath to a node top: A.2 UA(s → * s ): sufficient condition for reachability We give here a declarative implementation of the sufficient condition for reachability in ANs outlined in the paper and introduced in [2]. The under-approximation consists in building a graph relating objectives, local paths, and local states which satisfies several constraints. If such a graph exists, then the related reachability property is true. Similarly to (I1 # ), we give template declarations for the edges with the predicate ua_lcg(G,Parent,Child). We assume that the reachability property is specified by adding an edge from root to ls(a,i) for each local state to reach.
The graph ua_lcg is parameterized with a context which is a set of local states, declared with the predicate ctx(G,A,J). Every local states a i of the graph that are not part of the reachability specification belong to that context (line 12); and are linked to the objective a j a i for each a j in the context (line 13). A first constraint is that each objective in the graph is linked to one and only one of its local path. Therefore, objectives without local paths (local-paths(a i a j ) = ∅) cannot be included (line 14), for the others, a choice has to be made among local-paths(a i a j ) = {η 1 , . . . , η n } (line 15).
As for oa_lcg, each local path is linked to all the local states composing its transition conditions: for The graph has to be acyclic. This is declared using a predicate conn(G,X,Y) which is true if the node X is connected (there is a directed path) to Y (line 17). A graph is cyclic when conn(G,X,X) (line 18).
Then, if the node for an objective a i a j is connected to a local state a k , the under-approximation requires a i a j to be connected with a k a j (assuming that a has at least 3 local states, definition not shown): When a local transition is conditioned by at least two other automata (for instance c • ai,bj − −− → c • ), the under-approximation requests that reaching b j does not involve other local states from a others that a i . This is stated by the indep(G,Y,a,i,ls(b,j)) which cannot be true if b j is connected to a local state a k with k = i line 20. Then, the under-approximation requires that at most one indep predicate is false, for a given LCG G and a given local path Y (line 21). Such an independence should also hold between the local states of the reachability specification (line 22). For η m ∈ local-paths(a i a j ), for each local transition a • − → a • ∈ η m , for each couple of different local states in its condition b k , c l ∈ , b k = c l : lpath(obj(a,i,j),m),b,k,ls(c,l)) ← ua_lcg(G,_,lpath(obj(a,i,j),m)).

B Reachability in unfoldings
A (prefix of an) unfolding is an acyclic bipartite digraph where nodes are either events (application of a transition) or conditions (change of local state) [3]. We use the predicate post(X,Y) to denote an edge from X to Y ; and h(C,ls(A,I)) to denote that the condition C corresponds to the local state a i . Figure 1 shows an example of unfolding.
A state s belongs to the prefix if it is possible to build a configuration such that all the local states in s have a unique corresponding condition on the cut of the configuration (line 1).
A configuration is a set of events, and we use e(E) to denote that the event E belongs to the configuration. By definition, if E is in a configuration, all its parent events are in the configuration (line 2). There should be no conflicts between two events of a configuration: two events are in conflict if they share a common parent condition (line 3).
A condition is on the cut if its parent event is in the configuration (line 4), and none of its children event is in the configuration (line 5).    Figure 1: Unfolding of the AN of Figure 1 from the main article. Events are boxed nodes, conditions have no borders and indicate both the automata local state and the condition identifier.