def bind(a, b, klist): """Alias for pysb.macros.bind with default binding sites.""" return macros.bind(a, 'bf', b, 'bf', klist)
catalyze(COX2(allo=None), 'cat', AG(), 'b', PGG(), [kf_AG_cat1, kr_AG_cat1, kcat_AG1]) bind_complex( COX2(allo=1) % AG(b=1), 'cat', AG(), 'b', [kf_AG_cat2, kr_AG_cat2]) bind_complex( COX2(allo=1) % AA(b=1), 'cat', AG(), 'b', [kf_AG_cat3, kr_AG_cat3]) Rule( 'kcat_AG_3', COX2(allo=1, cat=2) % AA(b=1) % AG(b=2) >> COX2(allo=1, cat=None) % AA(b=1) + PGG(), kcat_AG3) bind(COX2(cat=None), 'allo', AA(), 'b', [kf_AA_allo1, kr_AA_allo1]) Rule( 'bind_COX2AA_AA_allo', COX2(cat=1, allo=None) % AA(b=1) + AA(b=None) | COX2(cat=1, allo=2) % AA(b=1) % AA(b=2), kf_AA_allo2, kr_AA_allo2) Rule( 'bind_COX2AG_AA_allo', COX2(cat=1, allo=None) % AG(b=1) + AA(b=None) | COX2(cat=1, allo=2) % AG(b=1) % AA(b=2), kf_AA_allo3, kr_AA_allo3) bind(COX2(cat=None), 'allo', AG(), 'b', [kf_AG_allo1, kr_AG_allo1]) Rule( 'bind_COX2AA_AG_allo',
# input the parameter values #?? Are we going to use the same units? Parameter('kf', 1.0e-07) Parameter('kr', 1.0e-03) Parameter('kc', 1.0) # now input the rules #COULD WE SIMPLIFY THE RULES BY ADDING IN A BIND TABLE? Rule('cplx_bind', Ca(b=1) % Cdk2(b=1, bp=None) + P27(b=None) <> Ca(b=1) % Cdk2(b=1, bp=2) % P27(b=2), KF, KR) bind(Ca(b=1) % Cdk2(b=1), 'bp' P27(), 'b', [KF, KR]) A. Rule('Ca_Cdk2_bind', Ca(b=None) + Cdk2(b=None) <> Ca(b=1) % Cdk2(b=1), *[kcom3, kdecom3]) *** HOW DO WE DEFINE A STATE FOR THE COMPLEX- ACTIVE AND INACTIVE? OR DO WE MAKE ANOTHER RULE WHERE THE COMPEXT IS ACTIVATED? B. Rule('Cb_Cdk1_bind', Cb(b=None) + Cdk1(b=None) <> Cb(b=1) % Cdk1(b=1), *[kcom4, kdecom4]) C. Rule('Cd_Cdk4_6_bind', Cd(b=None) + Cdk4_6(b=None) <> Cd(b=1) % Cdk4_6(b=1), *[kcom1, kdecom1]) D. Rule('Ce_Cdk2bind', Ce(b=None) + Cdk2(b=None) <> Ce(b=1) % Cdk2(b=1), *[kcom2, kdecom2]) E. Rule('Ca_Cdk2_p27_bind', Ca(b=1) % Cdk2(b=1) + p27(b=None, S='u') <> Cd(b=2) % Cdk2(b=2) % p27(b=2, S='u'), *[kc5, kc6]) Rule('Cd_Cdk4_6_P27_bind', Cd(b=1) % Cdk4_6(b=1) + p27(b=None, S='u') <> Cd(b=2) % Cdk4_6(b=2) % p27(b=2, S='u'), *[kc1, kc2]) Rule('Ce_Cdk2_P27_bind', Ce(b=1) % Cdk2(b=1) + p27(b=None, S='u') <> Ce(b=2) % Cdk2(b=2) % p27(b=2, S='u'), *[kc3, kc4]
# 1. ptc is actively translated but hh is not. # 2. PTC but not HH currently present and neither is currently transcribed # SMO is activated whenever # 3. hh is currently translated # 4. PTC and HH are both present but neither is translated # 5. PTC is both absent and untranslated # Given this and our interpretation for PH above we conclude that SMO is inactivated # in the presence of free PTC. As above this will only be apparent when considering # targets for SMO. For now we need only consider all the binding states. Of course, # we also don't need to account for the translation of ptc and hh again. Thus we have bind(SMO_1, "PTC", PTC_1, "SMO", [SMO_PTC_kf, SMO_PTC_kr]) bind(SMO_2, "PTC", PTC_2, "SMO", [SMO_PTC_kf, SMO_PTC_kr]) bind(SMO_3, "PTC", PTC_3, "SMO", [SMO_PTC_kf, SMO_PTC_kr]) bind(SMO_4, "PTC", PTC_4, "SMO", [SMO_PTC_kf, SMO_PTC_kr]) bind(SMO_1, "PH", PH_1, "SMO", [SMO_PH_kf, SMO_PH_kr]) bind(SMO_2, "PH", PH_2, "SMO", [SMO_PH_kf, SMO_PH_kr]) bind(SMO_3, "PH", PH_3, "SMO", [SMO_PH_kf, SMO_PH_kr]) bind(SMO_4, "PH", PH_4, "SMO", [SMO_PH_kf, SMO_PH_kr]) # In order to be consistent with the Boolean model I have renamed the bound entity PTC % HH as PH throughout. Rule( "bound_dimerization_SMO_1_PTC_1_HH_4", SMO_1(PTC=1) % PTC_1(SMO=1, HH=None) + HH_4(PTC=None) <> SMO_1(PTC=1) % PH_1(SMO=1), SMO_PTC_HH_kf,
Rule('kcat_AA_3', COX2(allo=1, cat=2) % AA(b=1) % AA(b=2) >> COX2(allo=1, cat=None) % AA(b=1) + PG(), kcat_AA3) catalyze(COX2(allo=None), 'cat', AG(), 'b', PGG(), [kf_AG_cat1, kr_AG_cat1, kcat_AG1]) bind_complex(COX2(allo=1) % AG(b=1), 'cat', AG(), 'b', [kf_AG_cat2, kr_AG_cat2]) bind_complex(COX2(allo=1) % AA(b=1), 'cat', AG(), 'b', [kf_AG_cat3, kr_AG_cat3]) Rule('kcat_AG_3', COX2(allo=1, cat=2) % AA(b=1) % AG(b=2) >> COX2(allo=1, cat=None) % AA(b=1) + PGG(), kcat_AG3) bind(COX2(cat=None), 'allo', AA(), 'b', [kf_AA_allo1, kr_AA_allo1]) Rule('bind_COX2AA_AA_allo', COX2(cat=1, allo=None) % AA(b=1) + AA(b=None) <> COX2(cat=1, allo=2) % AA(b=1) % AA(b=2), kf_AA_allo2, kr_AA_allo2) Rule('bind_COX2AG_AA_allo', COX2(cat=1, allo=None) % AG(b=1) + AA(b=None) <> COX2(cat=1, allo=2) % AG(b=1) % AA(b=2), kf_AA_allo3, kr_AA_allo3) bind(COX2(cat=None), 'allo', AG(), 'b', [kf_AG_allo1, kr_AG_allo1]) Rule('bind_COX2AA_AG_allo', COX2(cat=1, allo=None) % AA(b=1) + AG(b=None) <> COX2(cat=1, allo=2) % AA(b=1) % AG(b=2), kf_AG_allo2, kr_AG_allo2)
def bind(a, b, klist): """Alias for pysb.macros.bind with default binding sites.""" return macros.bind(a, site_name, b, site_name, klist)