Computer Science Large Practical:
                       More Stochastic Simulation Examples

                                               Stephen Gilmore

                                               School of Informatics


                                          Friday 2nd November, 2012




Stephen Gilmore (School of Informatics)       Stochastic simulation examples   Friday 2nd November, 2012   1 / 26
A reaction network: the cascade



         Often one chemical species transforms into another, which transforms
         into a third, which transforms into a fourth, and so on.
         Events such as these are the basis of signalling processes which occur
         within living organisms.
         A series of reactions such as A becoming B, B becoming C , and so
         forth is called a cascade.
         The reactions in the cascade may occur at different rates. This will
         affect the dynamics of the process.




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   2 / 26
A simulation script, cascade.txt (1/3)



   # The simulation stop time (t) is 100 seconds
   t = 100

   #    The kinetic real-number rate constants of the four
   #    reactions: a, b, c, d
   a    = 0.5
   b    = 0.25
   c    = 0.125
   d    = 0.0625




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   3 / 26
A simulation script, cascade.txt (2/3)



   #    The initial integer molecule counts of the five species,
   #    A, B, C, D, and E. Only A is present initially.
   #    (A, B, C, D, E) = (1000, 0, 0, 0, 0)
   A    = 1000
   B    = 0
   C    = 0
   D    = 0
   E    = 0




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   4 / 26
A simulation script, cascade.txt (3/3)

   #    The four reactions. The reaction ‘a’ transforms
   #    A into B. The reaction ’b’ transforms B into C, and
   #    so on through the cascade. The cascade stops
   #    with E.

   # A has a special role because it is only consumed,
   # never produced. E has a special role because it
   # is only produced, never consumed.

   a    :     A   ->    B
   b    :     B   ->    C
   c    :     C   ->    D
   d    :     D   ->    E


Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   5 / 26
A simulation of the first second of the cascade example

 The columns are time, and the molecule counts of A, B, C, D, E.
                                0.0,      1000,       0,           0,       0,     0
                                0.1,      949,        51,          0,       0,     0
                                0.2,      888,        112,         0,       0,     0
                                0.3,      843,        154,         3,       0,     0
                                0.4,      791,        203,         6,       0,     0
                                0.5,      756,        232,         12,      0,     0
                                0.6,      707,        273,         20,      0,     0
                                0.7,      674,        302,         22,      2,     0
                                0.8,      644,        322,         32,      2,     0
                                0.9,      615,        339,         44,      2,     0

 From this we can see (as expected) that A decreases and B increases, then
 later C increases, and later still D increases. No molecules of E were
 produced during the first second of this simulation.
Stephen Gilmore (School of Informatics)    Stochastic simulation examples        Friday 2nd November, 2012   6 / 26
Visualising the results using GNUplot
Store as “cascade.gnu”, plot using “gnuplot cascade.gnu” if results are in “cascade.csv”


   set terminal postscript color
   set output "cascade.ps"

   set key right center
   set xlabel "time"
   set ylabel "molecule count"

   set datafile separator ","

   plot 
       "cascade.csv"                 using   1:2     with     linespoints     title     "A",     
       "cascade.csv"                 using   1:3     with     linespoints     title     "B",     
       "cascade.csv"                 using   1:4     with     linespoints     title     "C",     
       "cascade.csv"                 using   1:5     with     linespoints     title     "D",     
       "cascade.csv"                 using   1:6     with     linespoints     title     "E"


Stephen Gilmore (School of Informatics)      Stochastic simulation examples   Friday 2nd November, 2012   7 / 26
Visualising the results of a cascade simulation
                            1000




                             800




                             600
           molecule count




                                                                                        A
                                                                                        B
                                                                                        C
                                                                                        D
                                                                                        E
                             400




                             200




                               0
                                   0   20           40                 60        80              100
                                                            time


Stephen Gilmore (School of Informatics)     Stochastic simulation examples   Friday 2nd November, 2012   8 / 26
Adding a reaction: allowing E to decay




         Now we make a slight change to the model, adding a reaction which
         decays E.
         We need a new reaction constant for this new reaction. We have
         assigned reaction e the slowest rate.
         Our intuition should be that this does not make much difference to
         the profile of chemical species A, B, C and D in the output, but it
         should affect the profile of species E .




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   9 / 26
A simulation script, cascade-decay.txt (1/3)


   # The simulation stop time (t) is 100 seconds
   t = 100

   #    The kinetic real-number rate constants of the five
   #    reactions: a, b, c, d, e
   a    = 0.5
   b    = 0.25
   c    = 0.125
   d    = 0.0625
   e    = 0.03125




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   10 / 26
A simulation script, cascade-decay.txt (2/3)
This part is exactly the same as cascade.txt




   #    The initial integer molecule counts of the five species,
   #    A, B, C, D, and E. Only A is present initially.
   #    (A, B, C, D, E) = (1000, 0, 0, 0, 0)
   A    = 1000
   B    = 0
   C    = 0
   D    = 0
   E    = 0




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   11 / 26
A simulation script, cascade-decay.txt (3/3)

   #    The five reactions. The reaction ‘a’ transforms
   #    A into B. The reaction ’b’ transforms B into C, and
   #    so on through the cascade. The cascade stops
   #    with E.

   # A has a special role because it is only consumed,
   # never produced. E has a special role because it
   # decays without producing another output.

   a    :     A   ->    B
   b    :     B   ->    C
   c    :     C   ->    D
   d    :     D   ->    E
   e    :     E   ->

Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   12 / 26
Visualising the results of a cascade-decay simulation
                            1000




                             800




                             600
           molecule count




                                                                                         A
                                                                                         B
                                                                                         C
                                                                                         D
                                                                                         E
                             400




                             200




                               0
                                   0   20           40                 60         80               100
                                                            time


Stephen Gilmore (School of Informatics)     Stochastic simulation examples   Friday 2nd November, 2012   13 / 26
About the cascade-decay simulation



         Our intuition was correct. The profiles of A, B, C , and D are very
         similar to previously.
                 Because this is a stochastic simulation which involves pseudo-random
                 number generation the results will not be exactly the same but they
                 will be very similar.
         We can see that reactions are still occurring right up to the stop-time
         of this simulation (t = 100 seconds).
         That is perfectly OK in the results. We simulate up to the stop-time
         and no further.




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   14 / 26
Changing a rate in the model




         We set the new reaction, e, to be the slowest reaction in the model,
         but what if we had chosen it to be the fastest reaction instead?
         We can find out how this would affect the results by changing the
         rate of reaction e.
         Our intuition should be that this again does not make much
         difference to the profile of chemical species A, B, C and D in the
         output, but it should affect the profile of species E .




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   15 / 26
A simulation script, cascade-decay-fast.txt (1/3)


   # The simulation stop time (t) is 100 seconds
   t = 100

   #    The kinetic             real-number rate constants of the five
   #    reactions:              a, b, c, d, e
   a    = 0.5
   b    = 0.25
   c    = 0.125
   d    = 0.0625
   e    = 1.0
   #    The fastest             reaction is e, the decay reaction for E.
   #    The slowest             reaction here is d.



Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   16 / 26
A simulation script, cascade-decay-fast.txt (2/3)
This part is exactly the same as cascade-decay.txt




   #    The initial integer molecule counts of the five species,
   #    A, B, C, D, and E. Only A is present initially.
   #    (A, B, C, D, E) = (1000, 0, 0, 0, 0)
   A    = 1000
   B    = 0
   C    = 0
   D    = 0
   E    = 0




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   17 / 26
A simulation script, cascade-decay-fast.txt (3/3)
This part is exactly the same as cascade-decay.txt

   #    The five reactions. The reaction ‘a’ transforms
   #    A into B. The reaction ’b’ transforms B into C, and
   #    so on through the cascade. The cascade stops
   #    with E.

   # A has a special role because it is only consumed,
   # never produced. E has a special role because it
   # decays without producing another output.

   a    :     A   ->    B
   b    :     B   ->    C
   c    :     C   ->    D
   d    :     D   ->    E
   e    :     E   ->

Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   18 / 26
Visualising the results of a cascade-decay-fast simulation
                            1000




                             800




                             600
           molecule count




                                                                                         A
                                                                                         B
                                                                                         C
                                                                                         D
                                                                                         E
                             400




                             200




                               0
                                   0   20           40                 60         80               100
                                                            time


Stephen Gilmore (School of Informatics)     Stochastic simulation examples   Friday 2nd November, 2012   19 / 26
About the cascade-decay-fast simulation




         Our intuition was correct again. The profiles of A, B, C , and D are
         very similar to previously.
         We can see that very little E builds up in the system (because it
         decays away much faster than it is produced).
         The profile for E hovers around zero throughout the simulation run.




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   20 / 26
A dimerisation example




         We saw earlier that dimerisation is a special case for the Gillespie
         simulation algorithm.
         Let’s consider an example which uses dimerisation and also includes a
         decay reaction.




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   21 / 26
A simulation script, dimer-decay.txt (1/3)



   # The simulation stop time (t) is 20 seconds
   t = 20

   #    The kinetic real-number rate constants of the four
   #    reactions: d, x, y, z
   d    = 1.0
   x    = 0.002
   y    = 0.5
   z    = 0.04




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   22 / 26
A simulation script, dimer-decay.txt (2/3)




   #    The initial integer molecule counts of the three
   #    species, X, Y, and Z. Only X is present initially.
   #    (X, Y, Z) = (10000, 0, 0)
   X    = 10000
   Y    = 0
   Z    = 0




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   23 / 26
A simulation script, dimer-decay.txt (3/3)


   #    The four reactions:
   #    (d), X can decay to nothing;
   #    (x), two molecules of X can bind to form Y;
   #    (y), Y can unbind to give two molecules of X; and
   #    (z), a molecule of Y can produce a molecule of Z.

   d    :     X   ->
   x    :     X   + X -> Y
   y    :     Y   -> X + X
   z    :     Y   -> Z




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   24 / 26
Visualising the results of a dimer-decay simulation
                            10000




                             8000




                             6000
           molecule count




                                                                                            X
                                                                                            Y
                                                                                            Z

                             4000




                             2000




                                0
                                    0     5                      10             15                   20
                                                               time


Stephen Gilmore (School of Informatics)       Stochastic simulation examples   Friday 2nd November, 2012   25 / 26
Summary




         We have seen some examples of simulation scripts involving cascades
         and dimerisation.
         Try creating some of your own. For example:
                 A cascade which involves more species.
                 A cascade where every species can decay, not just the last one.
                 A dimerisation example without a decay reaction.




Stephen Gilmore (School of Informatics)   Stochastic simulation examples   Friday 2nd November, 2012   26 / 26

More Stochastic Simulation Examples

  • 1.
    Computer Science LargePractical: More Stochastic Simulation Examples Stephen Gilmore School of Informatics Friday 2nd November, 2012 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 1 / 26
  • 2.
    A reaction network:the cascade Often one chemical species transforms into another, which transforms into a third, which transforms into a fourth, and so on. Events such as these are the basis of signalling processes which occur within living organisms. A series of reactions such as A becoming B, B becoming C , and so forth is called a cascade. The reactions in the cascade may occur at different rates. This will affect the dynamics of the process. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 2 / 26
  • 3.
    A simulation script,cascade.txt (1/3) # The simulation stop time (t) is 100 seconds t = 100 # The kinetic real-number rate constants of the four # reactions: a, b, c, d a = 0.5 b = 0.25 c = 0.125 d = 0.0625 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 3 / 26
  • 4.
    A simulation script,cascade.txt (2/3) # The initial integer molecule counts of the five species, # A, B, C, D, and E. Only A is present initially. # (A, B, C, D, E) = (1000, 0, 0, 0, 0) A = 1000 B = 0 C = 0 D = 0 E = 0 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 4 / 26
  • 5.
    A simulation script,cascade.txt (3/3) # The four reactions. The reaction ‘a’ transforms # A into B. The reaction ’b’ transforms B into C, and # so on through the cascade. The cascade stops # with E. # A has a special role because it is only consumed, # never produced. E has a special role because it # is only produced, never consumed. a : A -> B b : B -> C c : C -> D d : D -> E Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 5 / 26
  • 6.
    A simulation ofthe first second of the cascade example The columns are time, and the molecule counts of A, B, C, D, E. 0.0, 1000, 0, 0, 0, 0 0.1, 949, 51, 0, 0, 0 0.2, 888, 112, 0, 0, 0 0.3, 843, 154, 3, 0, 0 0.4, 791, 203, 6, 0, 0 0.5, 756, 232, 12, 0, 0 0.6, 707, 273, 20, 0, 0 0.7, 674, 302, 22, 2, 0 0.8, 644, 322, 32, 2, 0 0.9, 615, 339, 44, 2, 0 From this we can see (as expected) that A decreases and B increases, then later C increases, and later still D increases. No molecules of E were produced during the first second of this simulation. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 6 / 26
  • 7.
    Visualising the resultsusing GNUplot Store as “cascade.gnu”, plot using “gnuplot cascade.gnu” if results are in “cascade.csv” set terminal postscript color set output "cascade.ps" set key right center set xlabel "time" set ylabel "molecule count" set datafile separator "," plot "cascade.csv" using 1:2 with linespoints title "A", "cascade.csv" using 1:3 with linespoints title "B", "cascade.csv" using 1:4 with linespoints title "C", "cascade.csv" using 1:5 with linespoints title "D", "cascade.csv" using 1:6 with linespoints title "E" Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 7 / 26
  • 8.
    Visualising the resultsof a cascade simulation 1000 800 600 molecule count A B C D E 400 200 0 0 20 40 60 80 100 time Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 8 / 26
  • 9.
    Adding a reaction:allowing E to decay Now we make a slight change to the model, adding a reaction which decays E. We need a new reaction constant for this new reaction. We have assigned reaction e the slowest rate. Our intuition should be that this does not make much difference to the profile of chemical species A, B, C and D in the output, but it should affect the profile of species E . Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 9 / 26
  • 10.
    A simulation script,cascade-decay.txt (1/3) # The simulation stop time (t) is 100 seconds t = 100 # The kinetic real-number rate constants of the five # reactions: a, b, c, d, e a = 0.5 b = 0.25 c = 0.125 d = 0.0625 e = 0.03125 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 10 / 26
  • 11.
    A simulation script,cascade-decay.txt (2/3) This part is exactly the same as cascade.txt # The initial integer molecule counts of the five species, # A, B, C, D, and E. Only A is present initially. # (A, B, C, D, E) = (1000, 0, 0, 0, 0) A = 1000 B = 0 C = 0 D = 0 E = 0 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 11 / 26
  • 12.
    A simulation script,cascade-decay.txt (3/3) # The five reactions. The reaction ‘a’ transforms # A into B. The reaction ’b’ transforms B into C, and # so on through the cascade. The cascade stops # with E. # A has a special role because it is only consumed, # never produced. E has a special role because it # decays without producing another output. a : A -> B b : B -> C c : C -> D d : D -> E e : E -> Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 12 / 26
  • 13.
    Visualising the resultsof a cascade-decay simulation 1000 800 600 molecule count A B C D E 400 200 0 0 20 40 60 80 100 time Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 13 / 26
  • 14.
    About the cascade-decaysimulation Our intuition was correct. The profiles of A, B, C , and D are very similar to previously. Because this is a stochastic simulation which involves pseudo-random number generation the results will not be exactly the same but they will be very similar. We can see that reactions are still occurring right up to the stop-time of this simulation (t = 100 seconds). That is perfectly OK in the results. We simulate up to the stop-time and no further. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 14 / 26
  • 15.
    Changing a ratein the model We set the new reaction, e, to be the slowest reaction in the model, but what if we had chosen it to be the fastest reaction instead? We can find out how this would affect the results by changing the rate of reaction e. Our intuition should be that this again does not make much difference to the profile of chemical species A, B, C and D in the output, but it should affect the profile of species E . Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 15 / 26
  • 16.
    A simulation script,cascade-decay-fast.txt (1/3) # The simulation stop time (t) is 100 seconds t = 100 # The kinetic real-number rate constants of the five # reactions: a, b, c, d, e a = 0.5 b = 0.25 c = 0.125 d = 0.0625 e = 1.0 # The fastest reaction is e, the decay reaction for E. # The slowest reaction here is d. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 16 / 26
  • 17.
    A simulation script,cascade-decay-fast.txt (2/3) This part is exactly the same as cascade-decay.txt # The initial integer molecule counts of the five species, # A, B, C, D, and E. Only A is present initially. # (A, B, C, D, E) = (1000, 0, 0, 0, 0) A = 1000 B = 0 C = 0 D = 0 E = 0 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 17 / 26
  • 18.
    A simulation script,cascade-decay-fast.txt (3/3) This part is exactly the same as cascade-decay.txt # The five reactions. The reaction ‘a’ transforms # A into B. The reaction ’b’ transforms B into C, and # so on through the cascade. The cascade stops # with E. # A has a special role because it is only consumed, # never produced. E has a special role because it # decays without producing another output. a : A -> B b : B -> C c : C -> D d : D -> E e : E -> Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 18 / 26
  • 19.
    Visualising the resultsof a cascade-decay-fast simulation 1000 800 600 molecule count A B C D E 400 200 0 0 20 40 60 80 100 time Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 19 / 26
  • 20.
    About the cascade-decay-fastsimulation Our intuition was correct again. The profiles of A, B, C , and D are very similar to previously. We can see that very little E builds up in the system (because it decays away much faster than it is produced). The profile for E hovers around zero throughout the simulation run. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 20 / 26
  • 21.
    A dimerisation example We saw earlier that dimerisation is a special case for the Gillespie simulation algorithm. Let’s consider an example which uses dimerisation and also includes a decay reaction. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 21 / 26
  • 22.
    A simulation script,dimer-decay.txt (1/3) # The simulation stop time (t) is 20 seconds t = 20 # The kinetic real-number rate constants of the four # reactions: d, x, y, z d = 1.0 x = 0.002 y = 0.5 z = 0.04 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 22 / 26
  • 23.
    A simulation script,dimer-decay.txt (2/3) # The initial integer molecule counts of the three # species, X, Y, and Z. Only X is present initially. # (X, Y, Z) = (10000, 0, 0) X = 10000 Y = 0 Z = 0 Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 23 / 26
  • 24.
    A simulation script,dimer-decay.txt (3/3) # The four reactions: # (d), X can decay to nothing; # (x), two molecules of X can bind to form Y; # (y), Y can unbind to give two molecules of X; and # (z), a molecule of Y can produce a molecule of Z. d : X -> x : X + X -> Y y : Y -> X + X z : Y -> Z Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 24 / 26
  • 25.
    Visualising the resultsof a dimer-decay simulation 10000 8000 6000 molecule count X Y Z 4000 2000 0 0 5 10 15 20 time Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 25 / 26
  • 26.
    Summary We have seen some examples of simulation scripts involving cascades and dimerisation. Try creating some of your own. For example: A cascade which involves more species. A cascade where every species can decay, not just the last one. A dimerisation example without a decay reaction. Stephen Gilmore (School of Informatics) Stochastic simulation examples Friday 2nd November, 2012 26 / 26