Identifying dynamical modules from genetic regulatory systems: applications to the segment polarity network

Background It is widely accepted that genetic regulatory systems are 'modular', in that the whole system is made up of smaller 'subsystems' corresponding to specific biological functions. Most attempts to identify modules in genetic regulatory systems have relied on the topology of the underlying network. However, it is the temporal activity (dynamics) of genes and proteins that corresponds to biological functions, and hence it is dynamics that we focus on here for identifying subsystems. Results Using Boolean network models as an exemplar, we present a new technique to identify subsystems, based on their dynamical properties. The main part of the method depends only on the stable dynamics (attractors) of the system, thus requiring no prior knowledge of the underlying network. However, knowledge of the logical relationships between the network components can be used to describe how each subsystem is regulated. To demonstrate its applicability to genetic regulatory systems, we apply the method to a model of the Drosophila segment polarity network, providing a detailed breakdown of the system. Conclusion We have designed a technique for decomposing any set of discrete-state, discrete-time attractors into subsystems. Having a suitable mathematical model also allows us to describe how each subsystem is regulated and how robust each subsystem is against perturbations. However, since the subsystems are found directly from the attractors, a mathematical model or underlying network topology is not necessarily required to identify them, potentially allowing the method to be applied directly to experimental expression data.

Definition S2.4. A partial state x N is contained in another partial state z P if N ⊆ P and each node n i ∈ N has the same Boolean state (s i ) in both x N and z P . We can also say z P contains x N . This definition is also applicable to a network / attractor state z, by letting P = V and z P = z.

S2.1 Regulation of partial states in attractors
As the Boolean network model progresses over time, the Boolean functions f = (f 1 , ..., f v ) determine how each node is updated from one time step to the next. i.e. Given a network state x = x(t) at time t, the model progresses from one time step to the next as follows -x(t + 1) = f (x(t)) = (f 1 (x(t)), ..., f v (x(t))) It may be that a partial state x N controls the Boolean functions {f i : n i ∈ M } and ensures the occurrence of y M in the following time step. i.e x N is a predecessor of y M (or x N triggers the occurrence of y M ).
Definition S2.5. A partial state x N is a predecessor of another partial state y M if the following holds -If a network state z contains x N , then f (z) contains y M This definition is also applicable to a network / attractor state z, by letting N = V and x N = z.
In the main manuscript, we also say that x N triggers the occurrence of y M . However, in this Supporting Text, we keep to the terminology predecessor .
The following results relate to predecessors and are utilised during later analyses (to improve efficiency).
Lemma S2.6. Suppose, a partial state x N is a predecessor of another partial state y M If a partial state z P contains x N , then z P is a predecessor of y M PROOF: See Section S2.4 Lemma S2.7. Consider two partial states y M 1 1 , y M 2 2 where y M 2 2 contains y M 1 1 .
Then, if x N is a predecessor of y M 2 2 , x N is also a predecessor of y M 1 1 PROOF: See Section S2.4 Given a partial state y M , its predecessors can be found by using the approach in Irons (2006). The results of this procedure are given below, whilst the precise details can be found in the original paper Procedure S2.8. Given a partial state y M , the procedure FindPredecessors(y M ) in Irons (2006) (Appendix B.2.2) identifies partial states x N 1 1 , ..., x Nr r for which the following are true 1. For i = 1, ..., r, x N i i is a predecessor of y M .
2. For i = 1, ..., r, x N i i does not contain any partial state x N j j (j ∈ {1, ..., r}, j = i) 3. If an attractor state z is a predecessor of y M , then z contains x N i i for some i ∈ {1, ..., r} Property 2 ensures that only the most informative predecessors are kept (see Lemma S2.6). The procedure can also be modified so that property 3 is more general and applies to network states (rather than attractor states). This version is not necessary here.
Given a partial state y M that occurs in an attractor state z a ∈ A, this idea of predecessors can be extended to look at the regulation of y M in the attractor A Definition S2.9. Consider an attractor A = {z 0 , ..., z p−1 } and two partial states x N and y M x N is a k-predecessor of y M , in an attractor state z a ∈ A if 1. x N and y M are both contained in the attractor state z a 2. There exists a sequence of partial states z P 0 0 , z P 1 1 , ..., z P k k for which the following are true Essentially, in this definition, if x N is contained z a ∈ A, then it ensures that y M is also contained in z a ∈ A, k = cp time steps later. Moreover, this process can be traced through the attractor A at each time step (because of 2(e)).
Once we have found a k-predecessor x N , the following result implies that all larger partial states z P (containing x N and contained in z a ) are also k-predecessors of y M .
If a partial state z P contains x N and is contained in z a , then z P is a k-predecessor of y M in z a ∈ A.
PROOF: see Section S2.4 Given a partial state y M and attractor state z a ∈ A = {z 0 , ..., z p−1 }, the following procedure identifies partial states x N that are k-predecessors of y M in z a ∈ A Procedure S2.11. (Procedure 6 from main manuscript) In this procedure, we take as an input a partial state y M that occurs in an attractor state z a ∈ A = {z 0 , ..., z p−1 }.
Initially, let sets U = ∅, W 0 = {y M } and W i = ∅ for all i ≥ 1. Moreover, set t = 0. The procedure then enters the following loop Step 1 : Execute Procedure S2.8 for every partial state z P ∈ W t . For each newly identified predecessor Step 2 : (a) Let t = t + 1 (increment t by 1) Step 3 : Remove all partial states from W t that contain a different partial state in W t Step 4 : Remove all partial states from W t that are not contained in the attractor state z t Step 5 : If t (mod p) = 0, go to Step 6. Otherwise go back to Step 1.
Step 6 : For every partial state x N ∈ W t , (a) Check whether x N contains or equals any partial state u L ∈ U. (b) Check whether x N is contained within any partial state u L ∈ U.
If (a) is true then remove x N from W t .
If (a) is false then add x N to U and discard any u L identified in (b).
Step 7 : If W t is empty, end procedure. Otherwise, return to Step 1.
At the end of this procedure, U contains suitable k-predecessors of y M in z a ∈ A. Starting from z a , Steps 1, 2 and 4 imply the procedure goes backwards around the attractor, identifying predecessors within the relevant attractor state. Once we return to z a (t (mod p) = 0), we store any newly identified k-predecessors of y M in z a ∈ A (in the set U). Steps 3, 4 and 6 ensure we only store / analyse the most informative and suitable k-predecessors, thus speeding up the analysis. Because of Lemma S2.7, there is no advantage in considering partial states in W t , that contain other partial states in W t . Because of Lemma S2.10, we need only identify k-predecessors that do not contain other k-predecessors.
The Theorem below shows that the set U contains suitable k-predecessors of y M in A, at the end of the procedure.
Theorem S2.12. At the end of Procedure S2.11 1. The set U is non-empty 2. If a partial state x N is contained in U at the end of the procedure, then b) x N contains no other partial states in U PROOF: see Section S2.4

S2.2 Regulation of subsystems
The definitions and procedures from Section S2.1 can be used to describe how subsystems are regulated in attractors. However, since partial states within subsystems could be subject to different time lags in different attractors (see Definition 3 (main text) and Section S3.1 in Supporting Text 3 ), we need to consider the precise dynamics (the instances) of subsystems in attractors. i.e.

Consider a collection of subsystems
} ∈ S involves a node set N i and occurs in the attractor A = {z 0 , ...,z p−1 } The instance of S in A is the partial state sequence z M 0 , ...,z M p−1 , where In order to describe how a subsystem S y is regulated, we want to see which collections of subsystems S x = {S x 1 , ..., S x f } can set of a chain of interactions and trigger the occurrence of S y in an attractor. Using these instances, we can come up with the following definition Definition S2.14. (Definition 10 from main manuscript) This definition can easily be adapted to consider whether a collection of subsystems S Here, the occurrence of S y in A can be explained by the occurrence of S x . If the subsystems S x 1 , ..., S x f are established in the attractor A, x N 0 , ...,x N p−1 would occur over and over again. This can then (eventually) ensure the occurrence of y M 0 , ...,y M p−1 over and over again. In the model, it is unlikely that subsystems establish themselves one at a time. However, knowing which collections of subsystems trigger S y indicate which parts of the system are primarily responsible for regulating S y Obviously, S y may occur in multiple attractors and different collections of subsystems may be responsible for triggering S y in different attractors. Therefore, in order to describe how S y is regulated we want a more complete description Definition S2.15. A set of subsystem collections S 1 , ..., S g regulates an (individual) subsystem S y if the following are true 1. For i = 1, ..., g, ∃ an attractor A for which S i triggers S y in A

If S y occurs in an attractor
The procedure in Section S2.2.2 shows one way of identifying such a regulation set, for a subsystem S y . However, there may be some regulation sets that are more descriptive than others. Therefore, we first run through some extra constraints on S 1 , ..., S g S2.2.1 Extra constraints Lemma S2.16. Consider two collections of subsystems S a and S b , and suppose

(a) S a triggers an individual subsystem S y in an attractor
For a regulation set {S 1 , ..., S g } of S y , there may be some redundancy.
then the regulatory ability of S b is just a result of the smaller set S a . Therefore, subsystem collections such as S b (where (a) and (b) hold) are not counted as triggering S y in A (in Procedure S2.19) Secondly, properties 1 and 2 of Definition S2.15 could still hold after a subsystem collection S i (i ∈ {1, ..., g}) is removed from the set {S 1 , ..., S g }. However, even in this scenario, it may be that each S i is still informative. The following constraint is one way of deciding which subsystem collections to keep and which to remove (if any). This extra (optional) constraint was used in the examples in this paper. A description of how to apply this constraint is given in Section S2.2.2.
It is possible to find a collection of subsystems T for which If S a is not key to {S 1 , ..., S g } in A, other collections of subsystems in the regulation set are necessary to ensure S a 's occurrence in A. Therefore, in this case, S a is not counted as triggering A. In the rare occurrence that no subsystem collection is key to {S 1 , ..., S g } for a particular attractor A (possibly because cyclic dependencies exist between collections of subsystems), this extra constraint would be ignored.
If S a is not key to {S 1 , ..., S g } in any attractor, it would be removed from the regulation set.
Definition S2.15 can be modified to take account of this extra constraint, as follows Definition S2.18. A set of subsystem collections S 1 , ..., S g regulates an (individual) subsystem S y if the following are true 1. For i = 1, ..., g, ∃ an attractor A for which both of the following are true We call the set {S 1 , ..., S g } the regulation set of S y S2.2.2 Procedure to identify regulation sets Given a subsystem S y (involving a node set M y ) and a set of attractors C y , where (a) S y occurs in every attractor A ∈ C y (b) S y does not occur in any attractor A / ∈ C y The following procedure (Procedure S2.19) demonstrates a method of identifying a regulation set of S y (see Definition S2.15 above) At the start of the procedure, we assume we know every subsystem S = {x N 0 , ..., x N q−1 }, along with the node set involved (N ) and a list of attractors it occurs in. Each subsystem and node set N is a by-product of the method of identifying subsystems (described in Supporting Text 1 ). A list of attractors can be found by applying Procedure S1.9 (from Supporting Text 1 ) to each node set N . This information is used in Step 2 of the procedure (below). Procedure S2.19. (Procedure 7 from main manuscript) Initially, let the set R = ∅ (empty set) For every A i = {z 0 , ...,z p−1 } ∈ C y carry out the following steps.
Step 1 : Let the set R i = ∅. Let the sets U 0 , ..., U p−1 = ∅ Step 2 : Identify every subsystem T 1 , ...., T h that occurs in A i . Moreover, let M 1 , ..., M h be the node sets involved in T 1 , ...., T h (resp) Step 3 : Identify the instance of S y in A i . i.e. y Step 4 : For j = 0, ..., p − 1, carry out Procedure S2.11 to identify k j -predecessors of y M y j in z j ∈ A i . The resulting k j -predecessors are added to the set U j Step 5 : For every possible combination of partial states carry out the following Step 6 : Remove all subsystem collections S from R i that contain other subsystem collections S ∈ R i . (i.e. S ⊃ S ) Step 7 : Add the subsystem collections in R i to the set R At the end of this procedure, every subsystem collection S ∈ R i triggers S y in the attractor A i . R is then the regulation set of S y . This is proved with the following Theorem Theorem S2.20. At the end of Procedure S2.19 To do this we let R = R and R i = R i for each set in the above procedure. Then, we take R and re-apply Procedure S2.19 to every collection of subsystems S a ∈ R. As inputs to the procedure take S a and the set of attractors C a ∩ C y as inputs, instead of S y and C y . Here, C a is the set of attractors for which every S ∈ S a occurs.

Whenever
For each S a ∈ R and A i ∈ C a ∩ C y , this will give collections of subsystems T 1 , ..., T s responsible for triggering S a in A i . This information can then be used to see if S a is key to In the rare occurrence that every subsystem collection in R i is not key to {S 1 , ..., S g } in A i , this extra constraint would be ignored.
After doing this for every S a ∈ R , R can then be re-formed from all of the R i 's (repeat Step 7).
Theorem S2.12 would still hold for the R i 's and R at the end of these extra steps. This is because none of the original R i 's are emptied and no subsystem collections are added. Part 2 of the Theorem can be proved in the same way.

S2.3 Hierarchical links between subsystems
On a simple observational level, a subsystem S x may be hierarchically linked to another subsystem S y , because S x only occurs in an attractor in conjunction with the higher order S y . Such hierarchical links can be identified without any prior knowledge of the underlying model. These links could potentially correspond to relationships between subsystem, that are worth studying more detail Definition S2.21. Consider two subsystems S x and S y . S x is hierarchically linked to S y if the following are true -S x occurs in an attractor A =⇒ S y occurs in an attractor A Furthermore, such a link can be viewed as direct if there it is impossible to find a subsystem S z for which the following is true 1. S x is hierarchically linked to S z 2. S z is hierarchically linked to S y 3. There exists attractors A 1 and A 2 for which (a) S y occurs in A 1 and A 2 This terminology can easily be extended to collections of subsystems.

S2.4 Proofs for earlier results
Here, we provide proofs for results introduced in this Supporting Text.

Lemma. S2.6
Suppose, a partial state x N is a predecessor of another partial state y M If a partial state z P contains x N , then z P is a predecessor of y M

PROOF:
We need to show z P is a predecessor of y M (i.e. Definition S2.5 is satisfied) Suppose a network state z contains z P . Then z also contains x N (since z P contains x N ). Therefore, since x N is a predecessor of y M , Definition S2.5 implies f (z) contains y M .
Therefore, z P is a predecessor of y M (as required) Lemma. S2.7 Consider two partial states Then, if x N is a predecessor of y M 2 2 , x N is also a predecessor of y M 1 1 PROOF: We need to show x N is a predecessor of y M 1 1 (i.e. Definition S2.5 is satisfied) Suppose a network state z contains x N .
Then, since x N is a predecessor of y M 2 2 , Definition S2.5 implies f (z) contains y M 2 2 . Therefore, f (z) also contains y M 1 1 (since y M 2 2 contains y M 1 1 ).
Therefore, x N is a predecessor of y M 1 1 (as required) Lemma. S2.10 Suppose, x N is a k-predecessor of y M in z a ∈ A.
If a partial state z P contains x N and is contained in z a , then z P is a k-predecessor of y M in z a ∈ A.

PROOF:
Since x N is a k-predecessor of y M in z a ∈ A = {z 0 , ..., z p−1 }, Definition S2.9 implies that 1. x N and y M are both contained in the attractor state z a 2. There exists a sequence of partial states z P 0 0 , z P 1 1 , ..., z P k k for which the following are true (a) k = cp , where c is a positive integer.
We need to show that the same properties hold when x N is replaced by z P .
Property 1 is still satisfied since z P is contained in z a .
We now show Property 2 holds for the sequence of partial states w L 0 0 , w L 1 1 , ..., w L k k where -L 0 = P and w L 0 0 = z P -L i = P i and w L i i = z P i (for i = 1, ..., k) (i.e. the same partial states as above except that z P 0 0 = x N is replaced by z P ) Obviously, properties 2(a), (b) and (c) still hold. Also 2(d) and 2(e) still hold for i ≥ 1 (since w L 1 1 , ..., w L k k are equal to z P 1 1 , ..., z P k k (resp)). Therefore, it just remains to show 2(d) and 2(e) still hold for i = 0.

Case: 2(d) and i = 0 .
We need to show z P is a predecessor of w L 1 1 = z P 1 1 (i.e. Definition S2.5 is satisfied) If a network state z contains z P , then z also contains x N (since z P contains x N ). Therefore, since x N is a predecessor of z P 1 1 (by the old property 2(d)), Definition S2.5 implies f (z) contains z P 1 1 = w L 1 1 . Therefore, z P is a predecessor of w L 1 1 (as required) Case: 2(e) and i = 0 .
Since z P is contained in z a , w L 0 0 = z P is contained in the attractor state z b ∈ A (where b = a + 0 (mod p) = a).

Theorem. S2.12
At the end of Procedure S2.11 1. The set U is non-empty 2. If a partial state x N is contained in U at the end of the procedure, then (a) x N is a k-predecessor of y M in z a ∈ A (b) x N contains no other partial states in U PROOF: Part 1 : U is non-empty We show that W m is non-empty at the end of the procedure, for all m ∈ {0, ..., p}.
Then, when t = p (t (mod p) = 0), partial states in W t will be added to U in Step 6 (since U is empty at the start of the procedure and the step t = p is the first time Step 6 is visited). Since U is never emptied when Step 6 is visited in the future, U will then be non-empty at the end of the procedure.
Below, we prove W m is non-empty at the end of the procedure, for all m ∈ {0, ..., p}. We do this by induction on m.
case m = 0 : W 0 is non-empty at the start of the procedure. Then, for the rest of the procedure, partial states are only removed from W i for i ≥ 1. Therefore, W 0 is non-empty at the end of the procedure case m > 0 : m ≤ p In each loop of the procedure t increases by 1 (in step 2).
Since U is empty at the start of the procedure and Step 6 is not visited until time t = p, partial states are not removed from W m in Step 6 when (m ≤ p). Therefore, partial states are only removed from W m (m ≤ p) in steps 3 or 4 (when t = m).
Therefore, if W m is non-empty at the end of step 4 (when t ≥ m), W m non-empty at the end of the procedure.
Suppose, W 0 , ..., W m−1 are non-empty at the end of Step 4, when t = m − 1. Then, because of Steps 2 and 4, every z P ∈ W m−1 satisfies A: z P is contained in the attractor state z t (where t = a − m + 1 (mod p)) Now, for the attractor A = {z 0 , ..., z p−1 }, f (z i ) = z j for all i = 0, ..., p − 1 and j = i + 1 (mod p) (by the definition of an attractor in these models). Therefore, B: f (z m ) = z t (where m = a − m (mod p)) C: f (z m ) contains z P (by A and B) D: z m is a predecessor of z P (by C and Definition S2.5) After returning to Step 1 in the next loop of the procedure, Procedure S2.8 is applied to every partial state z P ∈ W m−1 . This identifies partial states x N 1 1 , ..., x Ns s where 1. Each x N i i is a predecessor of some z P ∈ W m−1 2. If an attractor state z is a predecessor of z P , then z contains x N i i for some i ∈ {1, ..., s} x N 1 1 , ..., x N s s are then added to W m Therefore (because of D and 2 above), the attractor state z m (m = a − m (mod p)) contains Moving onto Step 2, t = m and t = m = a − m (mod p) Therefore, W m is not empty at the end of Step 4 and the end of the Procedure.
Therefore, W m is non-empty for all m ∈ {0, ..., p} (as required) Part 2a: Given any x N ∈ U, we need to show that x N is a k-predecessor of y M in z a ∈ A. To do this, we show that the properties of Definition S2.9 is satisfied.
Each loop in the procedure corresponds to a single time step. Following the loop backwards from the time x N is put in U, we get a sequence of partial states z P 0 0 , ..., z P i i , ..., z P k k (from W k , ..., W k−i , ..., W 0 respectively), where (a) k = cp for some positive integer c (where c is the number of times Step 6 has been visited when x N was added to U) Step 1 of the procedure) Therefore, to show Property 2 of Definition S2.9 is satisfied, it just remains to show (e) For i = 0, ...., k, z P i i is contained in the attractor state z b ∈ A (where b = a + i (mod p)) A partial state z P i i only remains in W k−i after Step 4, if it is contained in the attractor state z t (where t = a − (k − i) (mod p)). Therefore, since k (mod p) = 0, (e) is satisfied by letting b = t = a + i (mod p).
Property 1 of Definition S2.9 is satisfied, because -(a), (c) and (e) imply that y M is contained in z a (i = k and k (mod p) = 0 =⇒ b = a (mod p) = a) Part 2b: We use proof by contradiction to show 2b is satisfied. Suppose x N contains a partial state u L in U. Then, x N could never of ended up in U because

By
Step 3: x N and u L can't both occur in some W t (and so couldn't be put in U at the same time)

By
Step 6: x N could not be put in U, if u L was already in U By Step 6: x N would be removed from U, when u L was added.

Lemma. S2.16
Consider two collections of subsystems S a and S b , and suppose Additionally, since S a triggers S y in an attractor A, Definition S2.14 implies Therefore, because of E, F, G and Lemma S2.10 From (a) and (c), we know that every S y occurs in A and every S ∈ S b occurs in A.
Therefore, in order to show S b triggers S y in A we just need to show the last property of Definition S2.14 holds. This is true because of B, C and H (above)

Theorem. S2.20
At the end of Procedure S2.19 1. Whenever A i ∈ C y , (a) R i is non-empty (b) Every subsystem collection S ∈ R i triggers S y in A i 2. R = {S 1 , ..., S g } is a regulation set of S y PROOF:

Part 1a
When A i = {z 0 , ...,z p−1 } is being analysed, R i could only be empty at the end of the loop (and hence the end of the procedure) if either A: Step 2 There is no subsystem T that occurs in A i B: Step 4 U j is empty for some j ∈ {0, ..., p − 1} C: Step 5 There is no subsystem T a (involving a node set M a ) that occurs in A i and satisfies M a ∩ N = ∅ (for a set N given in Step 5) D: Step 6 All subsystem collections are removed from R i in Step 6 Now, by Theorem S1.20 in Supporting Text 1 (Section S1.3), given an attractor A and node n i , there exists a subsystem Therefore, A and C cannot be true.
B cannot be true, because Procedure S2.11 always finds k-predecessors for U j (by Theorem S2.12) D cannot be true, otherwise they would be collections of subsystems S a , S b ∈ R i such that S a ⊂ S b ⊂ S a (which is impossible).
Therefore, each R i is non-empty

Part 1b
We need to show that any collection of subsystems S .14 is satisfied) First note that subsystem collections T x 1 , ..., T x f , S y all occur in A i ; since only subsystems that occur in A i are considered in the corresponding loop of the procedure.
Then, letting M 1 , ..., M f , M y be the node sets involved in T x 1 , ..., T x f , S y (resp) we get Therefore, to show that Definition S2.14 is satisfied (i.e. S x triggers S y in A i ), we need to show that Now, from Theorem S1.20 in Supporting Text 1 (Section S1.3), given a node n i ∈ N , it is possible to find a subsystem T xa that occurs in A i and involves a node set M a satisfying n i ∈ M a . Therefore, for every node n i ∈ N , a subsystem T x a would be added to S x in Step 5, thus implying that To show R = {S 1 , ..., S g } is a regulation set of S y , we need to show that the 2 properties of Definition S2.15 hold.
For any j ∈ 1, ..., g, S j ∈ R i for some i (otherwise S j would never have been added to R in Step 7 of the procedure). Therefore, S j triggers S y in A i (by part 1b of this Theorem) Now, property 2.
Suppose S y occurs in an attractor A i . Then, since R i in non-empty (by part 1a of this Theorem), there exists a collection of subsystems S j ∈ R i that triggers S y in A i (by part 1b of this Theorem). Therefore, since R is just a combination of the R i 's (see Step 7 of procedure), there exists a collection of subsystems S j ∈ R that triggers S y in A i