# Nov 10--13, 2006 # n exercise in BNG remodelling # Numbers for rule groups are taken from the original model # See http://www.cs.bham.ac.uk/~dxp/prism/casestudies/fgf.reactions.php # a '###' commented rule is a cue for the last observable which is hard (depth 5, 10 events) # could also erase eg PLC, Shp2, Grb2, Sos from obs: works wonderfully ! #-------------- Part List # Components (10) with their binding arity # FGF(r!):1 # FGFR(l!,Y653~u,Y654~p,Y766~u!,f!):3 # PLC(d):1 # FRS2(r!,Y196~p!,Y290~p,Y306~p!,Y382~p,Y392~p,Y436~p,Y471~p!,ubi~u):4 # Src(d!,e!):2 # Grb2(a!,b!):2 # Sos(d!):1 # Shp2(d!):1 # Spry(d!,Y55~u!,g!):3 # CBL(d!):1 #-------------- #-------------- Rule List # 1. FGF(r):FGFR(l) # FGF --supp (--bind) 'a' FGF(r) , FGFR(l) -> FGF(r!1) , FGFR(l!1) FGF(r!1) , FGFR(l!1) -> FGF(r) , FGFR(l) # 2. FGF:FGFR self-mod FGFR(Y653,Y654) # FGF:FGFR --lens (--mod) FGF(r!1) , FGFR(l!1,Y653~u) -> FGF(r!1) , FGFR(l!1,Y653~p) FGF(r!1) , FGFR(l!1,Y654~u) -> FGF(r!1) , FGFR(l!1,Y654~p) # 3. FGFR(Y653~p,Y654~p) self-mod at Y766 # FGFR and not FGF --support --mod # FGFR does not have to be bound # FGFR mods (2 and 3) are never de-mod'ed; does that explain the need for removal ? FGFR(Y653~p,Y654~p,Y766~u) -> FGFR(Y653~p,Y654~p,Y766~p) # 9. PLC(d):FGFR(Y766), PLC deg's FGFR # Y766 may not be phos'ed, which seems utterly strange --so i am changing that # PLC --supp --bind PLC(d) , FGFR(Y766~p) -> PLC(d!1) , FGFR(Y766~p!1) PLC(d!1) , FGFR(Y766~p!1) -> PLC(d) , FGFR(Y766~p) # PLC --supp --del # open erasure/local semantics, having to write ~u is a bit strange # one has to be careful with the prefix convention here to correctly define the intact parts (longest common prefix) PLC(d!1) , FGFR(Y766~p!1) -> PLC(d) , PLC_FGFR_deg(x~u) # 4. FRS2(r):FGFR(f) # FRS2 and FGFR --bind --supp FGFR(f) , FRS2(r) -> FGFR(f!1) , FRS2(r!1) FGFR(f!1) , FRS2(r!1) -> FGFR(f) , FRS2(r) # 5. FGFR mod FRS2 at Y196, Y306, Y471 # FGFR:FRS2 --mod and FRS2 --supp # rules commented out by ine # are causal dead-ends FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y196~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y196~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y290~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y290~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y306~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y306~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y382~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y382~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y392~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y392~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y436~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y436~p) FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y471~u) -> FGFR(Y653~p,Y654~p,f!1) , FRS2(r!1,Y471~p) # 7. Src(d), Grb2(a), Shp2(d) bind FRS2 at Y196, Y306, Y471 resp. # FRS2 --bind --supp Shp2(d) , FRS2(Y471~p) -> Shp2(d!1) , FRS2(Y471~p!1) Shp2(d!1) , FRS2(Y471~p!1) -> Shp2(d) , FRS2(Y471~p) Src(d) , FRS2(Y196~p) -> Src(d!1) , FRS2(Y196~p!1) Src(d!1) , FRS2(Y196~p!1) -> Src(d) , FRS2(Y196~p) Grb2(a) , FRS2(Y306~p) -> Grb2(a!1) , FRS2(Y306~p!1) Grb2(a!1) , FRS2(Y306~p!1) -> Grb2(a) , FRS2(Y306~p) # 6. Shp2:FRS2(Y471) de-mod FRS2 # Shp --mod # FRS2 --mod --supp # rules commented out by one # are causal dead-ends Shp2(d!1) , FRS2(Y471!1,Y196~p) -> Shp2(d!1) , FRS2(Y471!1,Y196~u) Shp2(d!1) , FRS2(Y471!1,Y290~p) -> Shp2(d!1) , FRS2(Y471!1,Y290~u) Shp2(d!1) , FRS2(Y471!1,Y306~p) -> Shp2(d!1) , FRS2(Y471!1,Y306~u) Shp2(d!1) , FRS2(Y471!1,Y382~p) -> Shp2(d!1) , FRS2(Y471!1,Y382~u) Shp2(d!1) , FRS2(Y471!1,Y392~p) -> Shp2(d!1) , FRS2(Y471!1,Y392~u) Shp2(d!1) , FRS2(Y471!1,Y436~p) -> Shp2(d!1) , FRS2(Y471!1,Y436~u) Shp2(d!1) , FRS2(Y471~p!1) -> Shp2(d!1) , FRS2(Y471~u!1) # 8. Src relocates (endocytosis/degradation) FRS2 # FRS2 --del --supp and not FRS2(ubi~1) # Src --del # open erasure: should integrate neighbours, eg FGFR, Spry,... if one wants to erase in a connected way Src(d!1) , FRS2(Y196~p!1) -> Src(d) , Src_FRS2_deg(x~p) # 10. Spry introduced at time t # no rule needed here # 11. Spry:Src, Src mods Spry(Y55), then Spry binds to CBL, Grb2 # Src --bind --supp # Spry:Src --bind --supp Spry(d) , Src(e) -> Spry(d!1) , Src(e!1) Spry(d!1) , Src(e!1) -> Spry(d) , Src(e) # Spry --mod --supp Spry(d!1,Y55~u) , Src(e!1) -> Spry(d!1,Y55~p) , Src(e!1) # Spry --bind --supp and not Src Spry(Y55~p) , CBL(d) -> Spry(Y55~p!1) , CBL(d!1) Spry(Y55~p!1) , CBL(d!1) -> Spry(Y55~p) , CBL(d) Spry(Y55~p,g) , Grb2(a) -> Spry(Y55~p,g!1) , Grb2(a!1) Spry(Y55~p,g!1) , Grb2(a!1) -> Spry(Y55~p,g) , Grb2(a) # 12. CBL ubiq's FRS2 via Spry:Src (redundant with 8 ??) # 12 seems reversible which seems absurd --so I change that # FRS2(ubi~u) --supp CBL(d!0) , Spry(Y55~p!0,d!1) , Src(e!1,d!2) , FRS2(Y196!2,u~u) -> CBL(d!0) , Spry(Y55~p!0,d!1) , Src(e!1,d!2) , FRS2(Y196!2,u~p) # FRS2(ubi~1) --del -supp ##FRS2(ubi~1) -> FRS2_ubi_deg(x~u) # 13. Shp2 de-mods Spry(Y55~p) via FRS2:Src # FRS2 --del --supp and Shp2 --del --lens Shp2(d!0) , FRS2(Y471!0,Y196!1) , Src(d!1,e!2) , Spry(d!2,Y55~p) -> Shp2(d!0) , FRS2(Y471!0,Y196!1) , Src(d!1,e!2) , Spry(d!2,Y55~u) # 14. Grb2 binds Sos # Grb2 --bind --supp Grb2(b) , Sos(d) -> Grb2(b!1) , Sos(d!1) Grb2(b!1) , Sos(d!1) -> Grb2(b) , Sos(d) #-------------- Inits and Obses # initial solutions # %init: FGF(r),FGFR(l) <-- bug livelock because Y___ missing ? # %init: FGF(r) , FGFR(l~u,f~u,Y653~u,Y654~u,Y766~u) , PLC(d~u) , FRS2(r,Y196~u,Y306~u,Y471~u,ubi~u) , Shp2(d~u) , Src(d~u,e~u) , Spry(d~u,Y55~u,g~u) , Grb2(a~u,b~u) , Sos(d~u) , CBL(d~u) # %init: FGFR(l,Y653~u,Y654~u,Y766~u,f) , PLC(d~u) , FGF(r) %init: FGF(r) , FGFR(l,f,Y653~u,Y654~u,Y766~u) , FRS2(r,Y196~u,Y436~u,Y392~u,Y382~u,Y306~u,Y290~u,Y471~u,u~u) , Src(d,e) , Spry(d,Y55~u,g) , CBL(d~u) , Grb2(a,b) , Sos(d) , PLC(d) , Shp2(d) # observations # %obs: FGF(r!1),FGFR(l!1,Y653~p,Y654~p,Y766~p) # %obs: FGFR(l,Y653~p,Y654~p,Y766~p,f!2) , FRS2(r!2,Y196~p,Y290~p,Y306~p,Y382~p,Y392~p,Y436~p,Y471~p) # We are defining the 3 degradation mechanisms as observables: #%obs: PLC_FGFR_deg(x~u) #%obs: Src_FRS2_deg(x~u) %obs: FRS2(ubi~p) #--------------