Tcr tomek
From BioNetWiki
TCR signaling model of Lipniacki et al. PMID 18556025
For further description of the syntax and semantics of BioNetGen, see the Tutorial or the more up-to-date BioNetGen chapter (requires login).
begin parameters
# Agrees with Table 1 of Lipniacki, et al. TCR model
N1 30
N2 0
TCR 30000
LCK 100000
ZAP 100000
MEK 100000
ERK 300000
SHP 300000
b1 0.3/TCR
b2 0.3/TCR
d1 0.05
d2 1
lb 0.3/LCK
ly1 5/SHP
ly2 0.3
ls1 0.1
ls2 0.5/ERK
tp 0.05
s0 1e-5
s1 30/SHP
s2 0.0006
s3 0.05
z0 2e-6
z1 5/ZAP
z2 0.02
m1 5/MEK
m2 0.02
e1 5/ERK
e2 0.02
end parameters
begin molecule types
pMHC(p~ag~en)
TCR(ab,ITAM~U~P~PP,lck,shp)
Lck(tcr,Y~U~P,S~U~P)
SHP(tcr,Y~U~P)
ZAP(Y~U~P)
MEK(S~U~P~PP)
ERK(S~U~P~PP)
end molecule types
begin species
pMHC(p~ag) 0
pMHC(p~en) 0
TCR(ab,ITAM~U,lck,shp) TCR
Lck(tcr,Y~U,S~U) LCK
SHP(tcr,Y~U) SHP
ZAP(Y~U) ZAP
MEK(S~U) MEK
ERK(S~U) ERK
end species
begin reaction rules
# pMHC binding to TCR:
TCR(ab,shp)+pMHC(p~ag) -> TCR(ab!1,shp).pMHC(p~ag!1) b1
TCR(ab,shp)+pMHC(p~en) -> TCR(ab!1,shp).pMHC(p~en!1) b2
#recruitment of Lck to TCR bound to pMHC:
#All unbound Lck is unphosphorylated
TCR(ab!+,lck,shp) + Lck(tcr) -> TCR(ab!+,lck!1,shp).Lck(tcr!1) lb
#Lck phosphorylation on Y:
# What is phosphorylating Lck?
TCR(lck!1,shp).Lck(tcr!1,Y~U) -> TCR(lck!1,shp).Lck(tcr!1,Y~P) ly2
#Lck phosphorylation on S:
ERK(S~PP) + TCR(lck!1,shp).Lck(tcr!1,S~U) -> ERK(S~PP) + TCR(lck!1,shp).Lck(tcr!1,S~P) ls2
#Lck dephosphorylation on S:
Lck(tcr!+,S~P) -> Lck(tcr!+,S~U) ls1
#TCR phosphorylation by Lck:
TCR(ITAM~U,lck!1,shp).Lck(tcr!1,Y~P) -> TCR(ITAM~P,lck!1,shp).Lck(tcr!1,Y~P) tp
TCR(ITAM~P,lck!1,shp).Lck(tcr!1,Y~P) -> TCR(ITAM~PP,lck!1,shp).Lck(tcr!1,Y~P) tp
#Spontaneous ZAP phosphorylation:
ZAP(Y~U) -> ZAP(Y~P) z0
#ZAP phosphorylation:
TCR(ITAM~PP) + ZAP(Y~U) -> TCR(ITAM~PP) + ZAP(Y~P) z1
#ZAP dephosphorylation:
ZAP(Y~P) -> ZAP(Y~U) z2
#MEK phosphorylation by ZAP
ZAP(Y~P) + MEK(S~U) -> ZAP(Y~P) + MEK(S~P) m1
ZAP(Y~P) + MEK(S~P) -> ZAP(Y~P) + MEK(S~PP) m1
#MEK dephosphorylation:
MEK(S~P) -> MEK(S~U) m2
MEK(S~PP) -> MEK(S~U) m2
#ERK phosphorylation by MEK:
MEK(S~PP) + ERK(S~U) -> MEK(S~PP) + ERK(S~P) e1
MEK(S~PP) + ERK(S~P) -> MEK(S~PP) + ERK(S~PP) e1
#ERK dephosphorylation:
ERK(S~P) -> ERK(S~U) e2
ERK(S~PP) -> ERK(S~U) e2
#Spontaneous phosphorylation of SHP
SHP(Y~U) -> SHP(Y~P) s0
#SHP phosphorylation by Lck:
# All SHP(Y~U) is unbound, all LckYP is bound to TCR
Lck(Y~P,S~U) + SHP(Y~U) -> Lck(Y~P,S~U) + SHP(Y~P) s1
#pMH dissociation from TCR not associated with Lck and simultaneous dephosphorylation
pMHC(p~ag!1).TCR(ab!1,ITAM~*,lck)-> pMHC(p~ag) + TCR(ab,ITAM~U,lck) d1
pMHC(p~en!1).TCR(ab!1,ITAM~*,lck)-> pMHC(p~en) + TCR(ab,ITAM~U,lck) d2
#pMHC dissociation causes Lck dissociation and simultaneous dephosphorylation:
pMHC(p~ag!1).TCR(ab!1,ITAM~*,lck!2).Lck(tcr!2,Y~*,S~*) -> pMHC(p~ag) + TCR(ab,ITAM~U,lck) + Lck(tcr,Y~U,S~U) d1
pMHC(p~en!1).TCR(ab!1,ITAM~*,lck!2).Lck(tcr!2,Y~*,S~*) -> pMHC(p~en) + TCR(ab,ITAM~U,lck) + Lck(tcr,Y~U,S~U) d2
#Recruitment of phosphorylated SHP to receptor complex without Lck:
TCR(ITAM~*,lck,shp) + SHP(tcr,Y~P) -> TCR(ITAM~U,lck,shp!1).SHP(tcr!1,Y~P) ly1
#Recruitment of phosphorylated SHP to receptor complex with Lck:
#Phosphorylation of Lck on S inhibits this reaction
TCR(ITAM~*,lck!1,shp).Lck(tcr!1,Y~*,S~U) + SHP(tcr,Y~P) -> TCR(ITAM~U,lck!1,shp!2).Lck(tcr!1,Y~U,S~U).SHP(tcr!2,Y~P) ly1
#SHP dissociation from TCR with dephosphorylation:
TCR(shp!1).SHP(tcr!1,Y~P) -> TCR(shp) + SHP(tcr,Y~U) s2
#SHP dissociation from TCR without dephosphorylation:
TCR(shp!1).SHP(tcr!1,Y~P) -> TCR(shp) + SHP(tcr,Y~P) s3
#free SHP dephosphorylation:
SHP(tcr,Y~P) -> SHP(tcr,Y~U) s2
end reaction rules
begin observables
Molecules ppERK ERK(S~PP)
Molecules ppTCR TCR(ITAM~PP)
Molecules pTCR TCR(ITAM~P)
Molecules pSHP SHP(Y~P)
Molecules pZAP ZAP(Y~P)
Molecules pMEK MEK(S~P)
Molecules ppMEK MEK(S~PP)
end observables
generate_network({overwrite=>1});
writeMfile({});
simulate_ode({suffix=>equil_ode,t_end=>10000,n_steps=>200});
saveConcentrations();
setConcentration("pMHC(p~ag)",N1);
simulate_ode({suffix=>ode,t_end=>4000,n_steps=>200});
resetConcentrations();
simulate_ssa({suffix=>ssa,t_end=>20000,n_steps=>1000});
