Attractors in synchronous and asynchronous genetic regulatory - - PowerPoint PPT Presentation
Attractors in synchronous and asynchronous genetic regulatory - - PowerPoint PPT Presentation
Attractors in synchronous and asynchronous genetic regulatory networks Marco Pedicini (Roma Tre University) in collaboration with Maria Concetta Palumbo (IAC-CNR), Filippo Castiglione (IAC-CNR) ITALIAN WORKSHOP ON ARTIFICIAL LIFE AND
Networks and Graphs
- For Genetic Regulatory Networks various presentations
are possible:
- boolean networks,
- polynomial dynamical systems,
- activation/inhibition graphs.
For a fixed network R, we have to associate its dynamics TR : S → S;
- For any R, the TR determines the state transition graph
G(TR) = {(s, s′)|s′ = TR(s)}.
Networks Properties
Since Stuart Kauffman studies one relevant task in systems biology consists in inferring properties of the STG starting from the network and its dynamics. The typical question is to characterise/find stability in the space
- f the states:
- point attractors: s ∈ S such that TR(s) = s,
- limit cycles: s1, s2, . . . sk ∈ S such that si+1 = TR(si), and
s1 = sk.
Boolean Expressions
Let us consider a boolean regulatory network of 3 genes, components are given as boolean expressions: f1(x1, x2, x3) = ¬x3 ∧ (x1 ∨ x2) f2(x1, x2, x3) = x1 ∧ x3 f3(x1, x2, x3) = ¬x3 ∨ (x1 ∧ x2) So that, if (x1, x2, x3) represents an element of S, then we have: TR(x1, x2, x3) = (¬x3 ∧ (x1 ∨ x2), x1 ∧ x3, ¬x3 ∨ (x1 ∧ x2)) This is called synchronous dynamics since expressions for all the genes are updated at the same time: TR(s) = (f1(s), f2(s), f3(s))
Synchronous Dynamics
STG of the 3-genes boolean network: Evolution is deterministic: for any given state there is one possible way to proceed, in the graph out-degree for any node is exactly 1.
Synchronous Dynamics
Another example with 8 genes:
Attractors with synchronous dynamics
In the previous example the entire STG of the network was explored in order to find the two cycles. In general, since the STG of a boolean network of n genes contains 2n nodes, we go easily beyond the current computational capacity even when n > 50. But, under certain hypothesis on the cycles structure (small number, short transients to reach them, short length) it is possible to find them even in networks with thousands of genes:
n |G(T )| # limit cy- cles visited no- des paths (# SAT calls) max length
- f paths
reference time 10 210 1×6, 1×1 25 6 16 [?] 0.260959 10 210 1×7, 1×1 29 6 16 [?] 0.206969 23 223 3 × 1 42 7 16 [?] 0.275958 40 240 1×6, 8×1 136 14 32 [?] 3.59245 51 251 2×1, 1×3 97 10 64 [?] 5.96909 52 252 7 × 1 172 13 32 [?] 7.71783 1000 21000 2 × 2 92 7 32 random net 444.09
A SAT based approach
Elena Dubrova designed an algorithm to find these limit cycles in networks with synchronous dynamics:
1: function Cycles(T ) 2:
Initialise
3:
path_length := 1
4:
F := PathExpression[−path_length, 0]
5:
while Satisfiability[F ] do
6:
(c−path_length, . . . , c0) := SAT[F ]
7:
if TestLoops[(c−path_length, . . . , c0)] then
8:
cj minimal state forming the loop
9:
Attractors(s0) := Attractors(s0) ∧ (s0 ↔ cj)
10:
F := F ∧ ¬Attractors(s0)
11:
end if
12:
if attractor_is_found then
13:
attractor_is_found := false
14:
else
15:
F := PathExpression[−2path_length, 0]
16:
path_length := 2 path_length
17:
end if
18:
end while
19: end function
Th1/Th2 switch network
Presented in Pedicini et al. Combining network modelling and gene expression microarray analysis to explore the dynamics of th1 and th2 cell regulation, PLoS computational biology, 6(12):e1001032, 2010 We have a n = 51 genes network for which we want to compute the lattice of loose attractors
Asynchronous Dynamics
For a given network specification, we can derive a non-deterministic dynamics, by taking in account the update of a single gene expression at each step: TR(x1, x2, x3) = (f1(s), x2, x3) if we decide to update gene 1 (x1, f2(s), x3) if we decide to update gene 2 (x1, x2, f3(s)) if we decide to update gene 3 In our first example we get the following STG:
Asynchronous Dynamics
With the non deterministic evolution the STG is more complex:
Loose Attractors Lattice
In analogy, with previous results on the synchronous case we extended Dubrova-Teslenko’s approach to the asynchronous case in order to find loose attractors and relations between them. The problem is well known on graphs, and it has an optimal solution by Tarjan’s Algorithm (a variant of depth first graph visit). The problem is that in order to visit the graph, we have to know the graph, but here, we cannot have direct access to the STG graph.
Full STG of a small network
3 11 6 14 134 7 15 19 22 150 23 24 26 27 30 31 35 38 166 39 42 43 46 47 51 54 182 55 58 59 62 63 66 74 67 75 70 78 71 79 82 83 86 87 90 91 94 95 96 100 112 97 113 98 99 116 101 117 102 103 104 108 105 106 107 109 110 111 114 115 118 119 120 124 121 122 123 125 126 127 129 145 131 139 133 149 142 135 143 147 151 152 216 153 154 155 156 157 158 159 163 167 170 171 174 175 179 183 186 187 190 191 193 201 209 194 202 195 203 196 204 212 197 205 213 198 206 199 207 210 211 214 215 217 218 219 220 221 222 223 224 240 225 241 226 227 228 244 229 245 230 231 232 233 234 235 236 237 238 239 242 243 246 247 248 249 250 251 252 253 254 255
Visited Lattice of the STG
ROOT 1023 1008 1015 497 503 985 112 441 1010 248 465 761 944 245 920 857 436 499 949 49 125 728 697 561 915 177 1019 456 968 725 713 573 917 995 453 1011 964 979 397 1007 1022 1014 998 996 934 748 709 751 581 591 517 847 525 527 526 590 846 719 814 782 558 1013 983 982 991 978 722 658 642 514 805 813 812 780 975 990 911 910 654 646 509 511 510 502 438 486 422 36 334 210 414 15 164 395 9 466 341 146 406 150 14 78 30 206 94 142 198 158 134 130 214 222 350 478 141 140 143 156 139 11 10 74 26 330 202 218 194 154 90 346 474 325 261 269 989 376 378 506 490 234 313 316 382 374 994 946 970 744 962 898 616 682 872 619 876 808 776 587 843 779 523 522 640 685 512 645 655 930 690 209 201 203 75 331 267 266 765 767 766 758 726 710 825 828 830 822 806 255 254 246 664 536 668 600 530 539 604 632 636 892 620 844 895 869 863 879 877 799 543 542 606 598 594 850 626 882 888 890 865 858 873 538 602 532 671 534 467 483 507 403 339 211 401 25 411 155 27 275 371 273 307 315 59 314 58 122 83 115 123 379 227 195 491 701 703 702 670 662 787 899 785 897 908 181 53 191 63 62 126 1018 954 384 256 320 1 352 353 289 33 297 41 585 574 638 630 789 790 739 931 463 207 723 595 627 611 399
Adversarial order
We implemented an algorithm which combines Dubrova-Teslenko’s algorithm with the Tarjan one: in the code, when we get a new path from the SAT solver we replace the test for the presence of a loop in the path with the execution of the DFS of Tarjan. We developed a multithread version of Tarjan’s algorithm, in
- rder to manage multiple instances of the visit at the same time.
The idea we take from Dubrova is the interleaving the SAT solver with the DFS visit algorithm and we develop the Tarjan variant in order to manage DFS visit in adversarial order.
n = 10 STG
Results on Random Networks
n visited nodes paths (# SAT calls) max length of paths density (K /N) inh/(act+inh) time 5 32 18 4 0.28 0.142857 4.64729 7 57 12 16 0.285714 0. 4.38933 7 128 62 16 0.142857 0.142857 189.885 8 144 12 32 0.265625 0.176471 25.0422 8 162 17 32 0.15625 0.1 61.0997 8 230 41 32 0.265625 0.176471 106.767 8 244 36 32 0.265625 0.176471 138.548 8 249 61 32 0.234375 0.0666667 282.521 8 256 130 8 0.09375 0.5 408.086 8 255 124 8 0.203125 0.384615 474.364 8 256 109 16 0.203125 0.615385 481.884 8 256 125 8 0.140625 0.222222 486.152 10 210 10 64 0.2 0.1 34.9877 10 253 13 64 0.15 0.0666667 57.6532 10 693 52 64 0.29 0.0344828 738.52 10 732 117 32 0.2 0.2 1570.55 10 834 135 32 0.18 0.444444 2101.32 10 830 125 32 0.14 0.571429 2382.64 10 1002 169 32 0.24 0.25 3529.33 10 1018 182 32 0.13 0.230769 4561.46 10 1024 224 32 0.17 0.117647 6125.17 10 1024 485 16 0.23 0.478261 7703.87 11 286 17 64 0.190083 0. 100.223 11 2048 572 16 0.14876 0.111111 27188.9
Tractable Region
# of visited nodes/ total nodes vs time
5000 10000 15000 20000 25000 0.0 0.2 0.4 0.6 0.8 1.0 time %
percent of visited nodes vs time
Tractable Region
# of generated edges vs time
5000 10000 15000 20000 25000 2000 4000 6000 8000 time edges
time vs edges
Thanks !
R Iris Bahar, Erica A Frohm, Charles M Gaona, Gary D Hachtel, Enrico Macii, Abelardo Pardo, and Fabio Somenzi. Algebraic decision diagrams and their applications. In Computer-Aided Design, 1993. ICCAD-93. Digest of Technical Papers., 1993 IEEE/ACM International Conference on, pages 188–191. IEEE, 1993. Roderick Bloem, Harold N Gabow, and Fabio Somenzi. An algorithm for strongly connected component analysis in n log n symbolic steps. Formal Methods in System Design, 28(1):37–56, 2006. Hidde De Jong. Modeling and simulation of genetic regulatory systems: a literature review. Journal of computational biology, 9(1):67–103, 2002.
- E. Dubrova and M. Teslenko.
A SAT-based algorithm for finding attractors in synchronous boolean networks. Computational Biology and Bioinformatics, IEEE/ACM Transactions on, 8(5):1393–1399, Sept 2011.
Harold N Gabow. Path-based depth-first search for strong and biconnected components. Information Processing Letters, 74(3-4):107–114, 2000. Abhishek Garg, Kartik Mohanram, Alessandro Di Cara, Giovanni De Micheli, and Ioannis Xenarios. Modeling stochasticity and robustness in gene regulatory networks. Bioinformatics, 25(12):i101–i109, 2009. Martin Hopfensitz, Christoph Müssel, Markus Maucher, and Hans A Kestler. Attractors in boolean networks: a tutorial. Computational Statistics, 28(1):19–36, 2013.
Stuart A Kauffman. The origins of order: Self-organization and selection in evolution. Oxford University Press, USA, 1993. Ian Munro. Efficient determination of the transitive closure of a directed graph. Information Processing Letters, 1(2):56–58, 1971. Marco Pedicini, Fredrik Barrenäs, Trevor Clancy, Filippo Castiglione, Eivind Hovig, Kartiek Kanduri, Daniele Santoni, and Mikael Benson. Combining network modeling and gene expression microarray analysis to explore the dynamics of th1 and th2 cell regulation. PLoS computational biology, 6(12):e1001032, 2010. Paul Purdom. A transitive closure algorithm. BIT Numerical Mathematics, 10(1):76–94, 1970.
Robert Tarjan. Depth-first search and linear graph algorithms. SIAM J. Comput., 1(2):146–160, 1972. Alan Veliz-Cuba and Reinhard Laubenbacher. On the computation of fixed points in Boolean networks.
- J. Appl. Math. Comput., 39(1-2):145–153, 2012.