Fixed point reprogramming with ActoNet

Fixed point reprogramming with ActoNet#

This notebook demonstrate usage of ActoNet to identify permanent control of Boolean network enforcing a given property We end with a validation using CABEAN

import actonet
import biolqm
lqm = biolqm.load("http://ginsim.org/sites/default/files/Bladder_Model.zginml")

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

inputs = {
    "GrowthInhibitors":1,
    "EGFR_stimulus":1,
    "FGFR3_stimulus":1
}
target = {"Apoptosis_b1": 1, "RB1": 1}
an = actonet.ActoNet(lqm, inputs)
s = an.reprogramming_fixpoints(target, maxsize=2)
s
[FromCondition('input', PermanentPerturbation(ATM_b1=1, p16INK4a=0)),
 FromCondition('input', PermanentPerturbation(DNAdamage=1, p16INK4a=0)),
 FromCondition('input', PermanentPerturbation(RB1=1, TP53=1)),
 FromCondition('input', PermanentPerturbation(Apoptosis_b1=1, RB1=1)),
 FromCondition('input', PermanentPerturbation(ATM_b1=1, RB1=1)),
 FromCondition('input', PermanentPerturbation(DNAdamage=1, RB1=1))]
s.as_graph()
../../_images/601044aeed08016168997c980413e4d5b28c27f5aab881bf6431fd92ce9961ad.svg
s.aliases
EGFR_stimulus FGFR3_stimulus GrowthInhibitors
input 1 1 1
s.as_table()
ATM_b1 Apoptosis_b1 DNAdamage RB1 TP53 p16INK4a
0 1 1
1 1 0
2 1 1
3 1 1
4 1 0
5 1 1
from colomoto.minibn import BooleanNetwork
from colomoto_jupyter import tabulate
import cabean # for attractor computation
test = biolqm.to_minibn(lqm, ensure_boolean=True)
for n, v in inputs.items():
    test[n] = v
test["RB1"] = 1
test["TP53"] = 1
import cabean
tabulate(cabean.attractors(test))
AKT ATM_b1 ATM_b2 Apoptosis_b1 Apoptosis_b2 CDC25A CHEK1_2_b1 CHEK1_2_b2 CyclinA CyclinD1 CyclinE1 DNAdamage E2F1_b1 E2F1_b2 E2F3_b1 E2F3_b2 EGFR EGFR_stimulus FGFR3 FGFR3_stimulus GRB2 GrowthInhibitors Growth_Arrest MDM2 PI3K PTEN Proliferation RAS RB1 RBL2 SPRY TP53 p14ARF p16INK4a p21CIP
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1
1 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1