Computing reachable states with boolSim

import boolsim
from colomoto_jupyter import tabulate # for display

Computing reachable states with boolSim#

Input from a GINsim model#

import ginsim
lrg = ginsim.load("http://ginsim.org/sites/default/files/drosophilaCellCycleVariants.zginml")

Downloading http://ginsim.org/sites/default/files/drosophilaCellCycleVariants.zginml

Initial state#

init = {str(n): 0 for n in lrg.getNodes()}
init
{'CycD': 0,
 'Rb': 0,
 'E2F': 0,
 'CycE': 0,
 'CycA': 0,
 'Rux': 0,
 'Fzy': 0,
 'Fzr': 0,
 'CycB': 0,
 'Wee1': 0,
 'Stg': 0,
 'Notch': 0,
 'Dap': 0,
 'Ago': 0}

Computation of reachable states#

The asynchronous mode is used by default.

r = boolsim.reachable(lrg, init)
tabulate(r)
Ago CycA CycB CycD CycE Dap E2F Fzr Fzy Notch Rb Rux Stg Wee1
1 0 0 0 0 0 * * * * 0 0 1 * *
12 0 0 0 0 0 * * * * 0 1 1 * *
6 0 0 0 0 1 * * * * 0 0 1 * *
2 0 0 1 0 0 * * * 0 0 0 1 * *
13 0 0 1 0 0 * * * 0 0 1 1 * *
7 0 0 1 0 1 * 0 0 0 0 0 1 * *
8 0 0 1 0 1 * 1 * 0 0 0 1 * *
0 0 0 * 0 0 * * * * 0 0 0 * *
11 0 0 * 0 0 * * * * 0 1 0 * *
5 0 0 * 0 1 * * * * 0 0 0 * *
4 0 1 * 0 0 * 1 * 0 0 0 1 * *
15 0 1 * 0 0 * * * 0 0 1 1 * *
3 0 1 * 0 0 * * * * 0 0 0 * *
14 0 1 * 0 0 * * * * 0 1 0 * *
10 0 1 * 0 1 * 1 * 0 0 0 1 * *
9 0 1 * 0 1 * * * * 0 0 0 * *
r.count()
1176
r = boolsim.reachable(lrg, init, "synchronous")
r.count()
3