Cycle and Event Leaping State Space AnalysisThe Goddess Durga Marc Riedel, EE5393, Univ. of Minnesota
Track precise (integer) quantities of molecular species. “States” ABC S1S1 S2S2 S3S3 A reaction transforms one state into another: e.g., Gillespie’s Framework Reactions R1R1 R2R2 R3R3
S 1 = [5, 5, 5] 0 Choose the next reaction according to: Stochastic Simulation RiRi where R1R1 R2R2 R3R3
Stochastic Simulation RiRi R1R1 R2R2 R3R3 Choose the time of the next reaction according to: S 1 = [5, 5, 5] 0
Stochastic Simulation R1R1 R2R2 R3R3 See D. Gillespie, “Exact Stochastic Simulation of Coupled Chemical Reactions”, J. Phys. Chem S 1 = [5, 5, 5] 0
Stochastic Simulation S 1 = [5, 5, 5] 0 S 2 = [4, 7, 4] Choose R 3 and t = 3 seconds. R1R1 R2R2 R3R3 S 3 = [2, 6, 7] 4 Choose R 1 and t = 1 seconds. S 4 = [1, 8, 6] 6 Choose R 3 and t = 2 seconds. 3 Choose R 2 and t = 1 seconds.
Stochastic Simulation S 1 = [5, 5, 5] 0 S 2 = [4, 7, 4] Choose R 3 and t = 3 seconds. S 3 = [2, 6, 7] 4 Choose R 1 and t = 1 seconds. S 4 = [1, 8, 6] 6 Choose R 3 and t = 2 seconds. Choose R 2 and t = 1 seconds. 37
7 Stochastic Simulation S 1 = [5, 5, 5] 0 S 2 = [4, 7, 4] S 3 = [2, 6, 7] 4 S 4 = [1, 8, 6] 6 Stochastic simulation spends most of its time (e.g. 99%) looping
Is Looping Necessary? A + N B + N CA + 2N B C B C X Y Reactions If we begin with 1 molecule of A and 2 molecules of N : what is the probability that we get a molecule of X ? what is the probability that we get a molecule of Y ? (assuming that we wait as long as it takes)
Is Looping Necessary? A + N B + N CA + 2N B C B C X Y Reactions SASA SBSB SCSC SXSX SYSY Trial 1 Now repeat 500 times... Cycle 1000 times... Trial 2
Is Looping Necessary? A + N B + N CA + 2N B C B C X Y SASA SBSB SCSC SXSX SYSY Reactions Try computing probabilities!
Is Looping Necessary? SASA SBSB SCSC SXSX SYSY Conclude: Try computing probabilities!
Is Looping Necessary? SASA SBSB SCSC SXSX SYSY Conclude: Break the cycle
Breaking Cycles Compute the probability from the entry point to each exit point. Create new transitions to the exit points with these probabilities. Break the cycle at the entry point. Whenever a cycle is encountered during stochastic simulation:
Breaking Cycles Compute the probability from the entry point to each exit point. Create new transitions to the exit points with these probabilities. Break the cycle at the entry point. Whenever a cycle is encountered during stochastic simulation:
We must keep a history of states visited. Caveats: (However, we should be caching state information anyway...) We’ve lost the concept of time. (This can be rectified with a bit of math....) Breaking Cycles
Randomness Pseudo-random numbers needed: R1R1 R2R2 R3R3 R4R4 probabilities generate a random number: choose R 2
choose R 2 Randomness Pseudo-random numbers needed: R1R1 R2R2 R3R3 R4R4 probabilities 01 generate a random number: choose R 4
Randomness Pseudo-random numbers needed: Generating random numbers is time consuming. If variance in probabilities is large, accuracy is wasted. R1R1 R2R2 R3R3 R4R4 probabilities 01 generate a random number: choose R 4
Event Leaping Explore high probability events further Along each path, probabilities are multiplicative.
Event Leaping Explore high probability events further When paths merge, probabilities are additive Along each path, probabilities are multiplicative.
Event Leaping Based on a single random number, leap directly to the boundary of explored region Explore high probability events further. When paths merge, probabilities are additive.
We need far fewer random numbers (e.g., factor of 10 reduction). We cache probability calculations. If we return to any portion of the region already visited, we immediately jump to the boundary of it. Event Leaping
State Space Analysis Characterize Evolution [0, 0, 12] [1, 1, 9][1, 5, 4][4, 4, 0][4, 0, 5] [2, 2, 6][2, 6, 1][5, 1, 2] p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 p 9 p 10 p 11 p 12 p ppp )()(ppppppppppppp [3, 3, 3] start [3, 3, 3] e.g., identify articulation points
State Space Analysis Characterize Evolution [2, 2, 6][2, 6, 1][5, 1, 2] [3, 3, 3] start e.g., identify “articulation” points Pr(C 1 ) > 0.99Pr(C 2 ) > 0.99