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