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