From BioNetWiki
- BNGL code for the In Vitro Model
begin parameters
kon_dimer 1.0 # units = 1/(uM.s)
koff_dimer 0.1 # units = 1/s
kon_SH2 1.0 # units = 1/(uM.s)
koff_SH2 0.1 # units = 1/s
kphos_slow 0.1 # units = 1/s
kphos_fast 1.0 # units = 1/s
Jtot 0.000014 # units = uM
Stot 0.1 # units = uM
end parameters
begin molecule types
S(SH2,DD)
J(Y1~P,Y~U~P)
end molecule types
begin species
S(SH2,DD) Stot
J(Y1~P,Y~U) Jtot
end species
begin reaction rules
# JAK2-SH2B interaction
J(Y1~P) + S(SH2) <-> J(Y1~P!1).S(SH2!1) kon_SH2, koff_SH2
# SH2B dimerization
S(DD) + S(DD) <-> S(DD!1).S(DD!1) kon_dimer, koff_dimer
# JAK2 phosphorylation
J(Y~U).J(Y~U) -> J(Y~P).J(Y~U) kphos_slow
J(Y~U).J(Y~P) -> J(Y~P).J(Y~P) kphos_fast
end reaction rules
begin observables
J_mono J(Y1~P)
JS J(Y1~P!1).S(SH2!1,DD)
JSS J(Y1~P!1).S(SH2!1,DD!2).S(SH2,DD!2)
JSSJ J.J
J_active J(Y~P)
J_inactive J(Y~U)
end observables
generate_network({overwrite=>1, max_stoich=>{J=>2}});
simulate_ode({t_end=>10000, n_steps=>10000,atoll=>1e-08,rtol=>1e-08,sparse=>1});
- BNGL code for the Simplified Cellular Model
begin parameters
kf1 0.1 # units: 1/(nM.min)
kr1 0.15 # units: 1/min
kx2 0.002415 # units: cell/(#.min)
kx2intra 0.00001455 # kx2intra = kx2/chi_m
kminusx2 0.016 # units: 1/min
kminusx1 0.0015 # units: 1/min
kfast 100000 # units: 1/min
ksynth_R 10 # units: #/(cell.min)
kt 0.005 # units: 1/min
ke 0.1 # units: 1/min
kon_dimer 0.00019023 # units: cell/(#.min)
koff_dimer 6.0 # units: 1/min
kon_j 0.00019023 # units: cell/(#.min)
koff_j 6.0 # units: 1/min
kon_SH2 0.00019023 # units: cell/(#.min)
koff_SH2 6.0 # units: 1/min
kphos_slow 6.0 # units: 1/min
kphos_fast 60 # units: 1/min
kcat_ptp 6.0 # units: 1/min
chi_m 166.66 # dimensionless
chi_r 31540000 # units: #/cell
Ltot 10 # units: nM
Rtot 2000 # units: #/cell
Jtot 31540 # units: #/cell
Stot 31540 # units: #/cell
Itot 1 # dimensionless
end parameters
begin molecule types
L(r1,r2)
R(l,X,i~off~on)
S(SH2,PH,DD)
J(K,Y1~U~P,Y2~U~P)
I()
end molecule types
begin species
L(r1,r2) Ltot
R(l,X,i~off) Rtot
S(SH2,PH,DD) Stot
J(K,Y1~U,Y2~U) Jtot
I Itot
end species
begin reaction rules
# Receptor dynamics model (see below for receptor downregulation rules)
# ---------------------------------------------------------------------
# GH binding
R(l,i~off) + L(r1,r2) <-> R(l!1,i~off).L(r1!1,r2) kf1, kr1
# Receptor dimerization, uncoupling reactions
R(l,i~off) + L(r1!2,r2).R(l!2,i~off) <-> R(l!1,i~off).L(r1!2,r2!1).R(l!2,i~off) kx2, kminusx2
R(l,i~off).L(r1!2,r2).R(l!2,i~off) <-> R(l!1,i~off).L(r1!2,r2!1).R(l!2,i~off) chi_r*kx2intra, kminusx2
R(l!1,i~off).L(r1!1,r2!2).R(l!2,i~off) -> R(l,i~off) + L(r1,r2!2).R(l!2,i~off) kminusx1
R(l!1,i~off).L(r1!1,r2!2).R(l!2,i~off) -> R(l,i~off).L(r1,r2!2).R(l!2,i~off) kminusx1
R(l!1,i~off).L(r1,r2!1) -> R(l,i~off) + L(r1,r2) kfast
# Receptor synthesis
I -> I + R(l,X,i~off) ksynth_R
# Ensuring fixed GH concentration
I -> I + L(r1,r2) kfast*Ltot
I + L(r1,r2) -> I kfast
# JAK2-SH2B interaction
# ---------------------
# Cytosolic - cytosolic
J(Y1~P,K) + S(SH2) -> J(Y1~P!1,K).S(SH2!1) kon_SH2 \
exclude_reactants(2,R) exclude_products(1,R)
# Cytosolic - membrane bound
J(Y1~P,K) + S(SH2,DD!+).S(SH2!1,DD!+).J(Y1~P!1,K!2).R(X!2,i~off) -> J(Y1~P!3,K).S(SH2!3,DD!+).S(SH2!1,DD!+).J(Y1~P!1,K!2).R(X!2,i~off) kon_SH2
# Membrane-bound - cytosolic
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH,DD) kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2,PH,DD!+) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH,DD!+).S(SH2,PH,DD!+) kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> J(Y1~P!3,K!1).R(X!1,i~off).S(SH2!3,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) kon_SH2
# Membrane bound - membrane bound
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,DD!+).S(SH2!2,DD!+).J(Y1~P!2,K!3).R(X!3,i~off) -> J(Y1~P!4,K!1).R(X!1,i~off).S(SH2!4,DD!+).S(SH2!2,DD!+).J(Y1~P!2,K!3).R(X!3,i~off) chi_m*kon_SH2
# Intra-complex
R(X!1,i~off).J(Y1~P,K!1).S(SH2,DD!+).J(Y1~P!+,K!2).R(X!2,i~off) -> R(X!1,i~off).J(Y1~P!3,K!1).S(SH2!3,DD!+).J(Y1~P!+,K!2).R(X!2,i~off) chi_r*kon_SH2
# Dissociation
J(Y1~P!1).S(SH2!1) -> J(Y1~P) + S(SH2) koff_SH2
J(Y1~P!1).S(SH2!1) -> J(Y1~P).S(SH2) koff_SH2
# SH2B dimerization
# -----------------
# Cytosolic - cytosolic
S(DD) + S(DD) -> S(DD!1).S(DD!1) kon_dimer \
exclude_reactants(1,R) exclude_reactants(2,R) \
exclude_products(1,R)
# Cytosolic - membrane bound
S(SH2,PH,DD) + S(SH2!1,DD).J(Y1~P!1,K!2).R(X!2,i~off) -> S(SH2,PH,DD!3).S(SH2!1,DD!3).J(Y1~P!1,K!2).R(X!2,i~off) kon_dimer
J(Y1~P!1,K).S(SH2!1,PH,DD) + S(SH2!2,DD).J(Y1~P!2,K!3).R(X!3,i~off) -> J(Y1~P!1,K).S(SH2!1,PH,DD!4).S(SH2!2,DD!4).J(Y1~P!2,K!3).R(X!3,i~off) kon_dimer
# Membrane bound - membrane bound
R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD) + R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD) -> R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD!5).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD!5) chi_m*kon_dimer
# Intra-complex
R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD) -> R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD!5).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD!5) chi_r*kon_dimer
# Dissociation
S(DD!1).S(DD!1) -> S(DD) + S(DD) koff_dimer
S(DD!1).S(DD!1) -> S(DD).S(DD) koff_dimer
# Receptor - JAK2 interaction
# ---------------------------
# Cytosolic JAK2
R(X,i~off) + J(Y1~U,K) -> R(X!1,i~off).J(Y1~U,K!1) kon_j
R(X,i~off) + J(Y1~P,K) -> R(X!1,i~off).J(Y1~P,K!1) kon_j
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH,DD) kon_j
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2,PH,DD!+) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH,DD!+).S(SH2,PH,DD!+) kon_j
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> R(X!3,i~off).J(Y1~P!1,K!3).S(SH2!1,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) kon_j
# Membrane-bound JAK2
R(X,i~off) + J(K).R(X!+,i~off) -> R(X!1,i~off).J(K!1).R(X!+,i~off) chi_m*kon_j
# Intra-complex
R(X,i~off).J(K).R(X!+,i~off) -> R(X!1,i~off).J(K!1).R(X!+,i~off) chi_r*kon_j
# Dissociation
R(X!1).J(K!1) -> R(X) + J(K) koff_j
R(X!1).J(K!1) -> R(X).J(K) koff_j
# Phosphorylation / Dephosphorylation
# -----------------------------------
# JAK2 phosphorylation
J(Y1~U,K!1).R(X!1,i~off).J(K!2,Y2~U).R(X!2,i~off) -> J(Y1~P,K!1).R(X!1,i~off).J(K!2,Y2~U).R(X!2,i~off) kphos_slow
J(Y1~U,K!1).R(X!1,i~off).J(K!2,Y2~P).R(X!2,i~off) -> J(Y1~P,K!1).R(X!1,i~off).J(K!2,Y2~P).R(X!2,i~off) kphos_fast
J(Y2~U).J(Y2~U) -> J(Y2~P).J(Y2~U) kphos_slow
J(Y2~U).J(Y2~P) -> J(Y2~P).J(Y2~P) kphos_fast
# JAK2 dephosphorylation by PTP
J(Y1~P) -> J(Y1~U) kcat_ptp
J(Y2~P) -> J(Y2~U) kcat_ptp
# Receptor downregulation
# -----------------------
# Constitutive turnover
R(X,i~off,l) -> R(X,i~on,l) kt
R(X,i~off,l!1).L(r1!1,r2) -> R(X,i~on,l!1).L(r1!1,r2) kt
R(X,i~off,l!1).L(r1,r2!1) -> R(X,i~on,l!1).L(r1,r2!1) kt
R(X!1,i~off,l).J(Y1~U,K!1) -> R(X!1,i~on,l).J(Y1~U,K!1) kt
R(X!1,i~off,l).J(Y1~P,K!1) -> R(X!1,i~on,l).J(Y1~P,K!1) kt
R(X!1,i~off,l!2).L(r1!2,r2).J(Y1~U,K!1) -> R(X!1,i~on,l!2).L(r1!2,r2).J(Y1~U,K!1) kt
R(X!1,i~off,l!2).L(r1,r2!2).J(Y1~U,K!1) -> R(X!1,i~on,l!2).L(r1,r2!2).J(Y1~U,K!1) kt
R(X!1,i~off,l!2).L(r1!2,r2).J(Y1~P,K!1) -> R(X!1,i~on,l!2).L(r1!2,r2).J(Y1~P,K!1) kt
R(X!1,i~off,l!2).L(r1,r2!2).J(Y1~P,K!1) -> R(X!1,i~on,l!2).L(r1,r2!2).J(Y1~P,K!1) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
R(X!1,i~off,l!4).L(r1!4,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l!4).L(r1!4,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
R(X!1,i~off,l!4).L(r1,r2!4).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l!4).L(r1,r2!4).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
# Induced endocytosis
R(l!1,i~off).R(l!2,i~off).L(r1!1,r2!2) -> R(l!1,i~on).R(l!2,i~on).L(r1!1,r2!2) ke
R(l,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3) -> R(l,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3) ke
R(l!1,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1!1,r2) -> R(l!1,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1!1,r2) ke
R(l!1,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1,r2!1) -> R(l!1,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1,r2!1) ke
end reaction rules
begin observables
Macrocomplex L(r1!1,r2!2).R(l!1,X!4,i~off).J(K!4,Y1~P!5).S(SH2!5,DD!3).S(SH2!6,DD!3).J(K!7,Y1~P!6).R(l!2,X!7,i~off)
end observables
generate_network({overwrite=>1,max_stoich=>{R=>2}});
simulate_ode({t_end=>1000, n_steps=>1000,atoll=>1e-08,rtol=>1e-08,sparse=>1});
- BNGL code for the Extended Cellular Mode
begin parameters
kf1 0.1 # units: 1/(nM.min)
kr1 0.15 # units: 1/min
kx2 0.002415 # units: cell/(#.min)
kx2intra 0.00001455 # kx2intra = kx2/chi_m
kminusx2 0.016 # units: 1/min
kminusx1 0.0015 # units: 1/min
kfast 100000 # units: 1/min
ksynth_R 10 # units: #/(cell.min)
kt 0.005 # units: 1/min
ke 0.1 # units: 1/min
kon_dimer 0.00019023 # units: cell/(#.min)
koff_dimer 6.0 # units: 1/min
kon_PH 0.00019023 # units: cell/(#.min)
koff_PH 6.0 # units: 1/min
kon_J 0.00019023 # units: cell/(#.min)
koff_J 6.0 # units: 1/min
kon_SH2 0.00019023 # units: cell/(#.min)
koff_SH2 6.0 # units: 1/min
kphos_slow 6.0 # units: 1/min
kphos_fast 60 # units: 1/min
kcat_ptp 6.0 # units: 1/min
chi_m 166.66 # dimensionless
chi_r 31540000 # units: #/cell
Ltot 10 # units: nM
Rtot 2000 # units: #/cell
Jtot 31540 # units: #/cell
Ptot 315400 # units: #/cell
Stot 31540 # units: #/cell
Itot 1 # dimensionless
end parameters
begin molecule types
L(r1,r2)
R(l,X,i~off~on)
S(SH2,PH,DD)
J(K,Y1~U~P,Y2~U~P)
P(M)
I()
end molecule types
begin species
L(r1,r2) Ltot
R(l,X,i~off) Rtot
S(SH2,PH,DD) Stot
J(K,Y1~U,Y2~U) Jtot
P(M) Ptot
I Itot
end species
begin reaction rules
# Receptor dynamics model (see below for receptor downregulation rules)
# ---------------------------------------------------------------------
# GH binding
R(l,i~off) + L(r1,r2) <-> R(l!1,i~off).L(r1!1,r2) kf1, kr1
# Receptor dimerization, uncoupling reactions
R(l,i~off) + L(r1!2,r2).R(l!2,i~off) <-> R(l!1,i~off).L(r1!2,r2!1).R(l!2,i~off) kx2, kminusx2
R(l,i~off).L(r1!2,r2).R(l!2,i~off) <-> R(l!1,i~off).L(r1!2,r2!1).R(l!2,i~off) chi_r*kx2intra, kminusx2
R(l!1,i~off).L(r1!1,r2!2).R(l!2,i~off) -> R(l,i~off) + L(r1,r2!2).R(l!2,i~off) kminusx1
R(l!1,i~off).L(r1!1,r2!2).R(l!2,i~off) -> R(l,i~off).L(r1,r2!2).R(l!2,i~off) kminusx1
R(l!1,i~off).L(r1,r2!1) -> R(l,i~off) + L(r1,r2) kfast
# Receptor synthesis
I -> I + R(l,X,i~off) ksynth_R
# Ensuring fixed GH concentration
I -> I + L(r1,r2) kfast*Ltot
I + L(r1,r2) -> I kfast
# PIP2-SH2B interaction
# ---------------------
# Cytosolic SH2B
P(M) + S(PH,DD) -> P(M!1).S(PH!1,DD) kon_PH \
exclude_reactants(2,R) exclude_products(1,R)
P(M) + S(PH,DD!+).S(PH,DD!+) -> P(M!1).S(PH!1,DD!+).S(PH,DD!+) kon_PH \
exclude_reactants(2,R) exclude_products(1,R)
# Membrane-bound SH2B
P(M) + S(PH,DD!+).S(PH!+,DD!+) -> P(M!1).S(PH!1,DD!+).S(PH!+,DD!+) chi_m*kon_PH \
exclude_reactants(2,R) exclude_products(1,R)
P(M) + S(PH).R(i~off) -> P(M!1).S(PH!1).R(i~off) chi_m*kon_PH
# Dissociation
P(M!1).S(PH!1) -> P(M) + S(PH) koff_PH
# JAK2-SH2B interaction
#----------------------
# Cytosolic - cytosolic
J(Y1~P,K) + S(SH2) -> J(Y1~P!1,K).S(SH2!1) kon_SH2 \
exclude_reactants(2,P,R) exclude_products(1,P,R)
# Cytosolic - membrane-bound
J(Y1~P,K) + S(SH2,PH!+,DD) -> J(Y1~P!1,K).S(SH2!1,PH!+,DD) kon_SH2
J(Y1~P,K) + S(SH2,DD!+).S(DD!+).P(M!+) -> J(Y1~P!1,K).S(SH2!1,DD!+).S(DD!+).P(M!+) kon_SH2 \
exclude_reactants(2,R) exclude_products(1,R)
J(Y1~P,K) + S(SH2,DD!+).S(SH2!1,DD!+).J(Y1~P!1,K!2).R(X!2,i~off) -> J(Y1~P!3,K).S(SH2!3,DD!+).S(SH2!1,DD!+).J(Y1~P!1,K!2).R(X!2,i~off) kon_SH2
# Membrane-bound - cytosolic
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH,DD) kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2,PH,DD!+) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH,DD!+).S(SH2,PH,DD!+) kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> J(Y1~P!3,K!1).R(X!1,i~off).S(SH2!3,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) kon_SH2
# Membrane-bound - membrane-bound
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH!+,DD) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH!+,DD) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH!+,DD!+).S(SH2,PH,DD!+) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH!+,DD!+).S(SH2,PH,DD!+) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2,PH!+,DD!+) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH,DD!+).S(SH2,PH!+,DD!+) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH!+,DD!+).S(SH2,PH!+,DD!+) -> J(Y1~P!2,K!1).R(X!1,i~off).S(SH2!2,PH!+,DD!+).S(SH2,PH!+,DD!+) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH!+,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> J(Y1~P!3,K!1).R(X!1,i~off).S(SH2!3,PH!+,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) -> J(Y1~P!3,K!1).R(X!1,i~off).S(SH2!3,PH,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,PH!+,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) -> J(Y1~P!3,K!1).R(X!1,i~off).S(SH2!3,PH!+,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) chi_m*kon_SH2
J(Y1~P,K!1).R(X!1,i~off) + S(SH2,DD!+).S(SH2!2,DD!+).J(Y1~P!2,K!3).R(X!3,i~off) -> J(Y1~P!4,K!1).R(X!1,i~off).S(SH2!4,DD!+).S(SH2!2,DD!+).J(Y1~P!2,K!3).R(X!3,i~off) chi_m*kon_SH2
# Intra-complex
R(X!1,i~off).J(Y1~P,K!1).S(SH2,DD!+).J(Y1~P!+,K!2).R(X!2,i~off) -> R(X!1,i~off).J(Y1~P!3,K!1).S(SH2!3,DD!+).J(Y1~P!+,K!2).R(X!2,i~off) chi_r*kon_SH2
# Dissociation
J(Y1~P!1).S(SH2!1) -> J(Y1~P) + S(SH2) koff_SH2
J(Y1~P!1).S(SH2!1) -> J(Y1~P).S(SH2) koff_SH2
# SH2B dimerization
# -----------------
# Cytosolic - cytosolic
S(DD) + S(DD) -> S(DD!1).S(DD!1) kon_dimer \
exclude_reactants(1,P,R) exclude_reactants(2,P,R) \
exclude_products(1,P,R)
# Cytosolic - membrane-bound
S(PH,DD) + S(PH!+,DD) -> S(PH,DD!1).S(PH!+,DD!1) kon_dimer \
exclude_reactants(1,R) exclude_reactants(2,R) \
exclude_products(1,R)
S(SH2,PH,DD) + S(SH2!1,DD).J(Y1~P!1,K!2).R(X!2,i~off) -> S(SH2,PH,DD!3).S(SH2!1,DD!3).J(Y1~P!1,K!2).R(X!2,i~off) kon_dimer
J(Y1~P!1,K).S(SH2!1,PH,DD) + S(SH2!2,DD).J(Y1~P!2,K!3).R(X!3,i~off) -> J(Y1~P!1,K).S(SH2!1,PH,DD!4).S(SH2!2,DD!4).J(Y1~P!2,K!3).R(X!3,i~off) kon_dimer
# Membrane bound - membrane bound
S(PH!+,DD) + S(PH!+,DD) -> S(PH!+,DD!1).S(PH!+,DD!1) chi_m*kon_dimer \
exclude_reactants(1,R) exclude_reactants(2,R) \
exclude_products(1,R)
S(SH2,PH!+,DD) + S(SH2!1,DD).J(Y1~P!1,K!2).R(X!2,i~off) -> S(SH2,PH!+,DD!3).S(SH2!1,DD!3).J(Y1~P!1,K!2).R(X!2,i~off) chi_m*kon_dimer
J(Y1~P!3,K).S(SH2!3,PH!+,DD) + S(SH2!1,DD).J(Y1~P!1,K!2).R(X!2,i~off) -> J(Y1~P!3,K).S(SH2!3,PH!+,DD!4).S(SH2!1,DD!4).J(Y1~P!1,K!2).R(X!2,i~off) chi_m*kon_dimer
R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD) + R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD) -> R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD!5).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD!5) chi_m*kon_dimer
# Intra-complex
R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD) -> R(X!1,i~off).J(Y1~P!2,K!1).S(SH2!2,DD!5).R(X!3,i~off).J(Y1~P!4,K!3).S(SH2!4,DD!5) chi_r*kon_dimer
# Dissociation
S(DD!1).S(DD!1) -> S(DD) + S(DD) koff_dimer
S(DD!1).S(DD!1) -> S(DD).S(DD) koff_dimer
# Receptor - JAK2 interaction
# ---------------------------
# Cytosolic JAK2
R(X,i~off) + J(Y1~U,K) -> R(X!1,i~off).J(Y1~U,K!1) kon_J
R(X,i~off) + J(Y1~P,K) -> R(X!1,i~off).J(Y1~P,K!1) kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH,DD) kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2,PH,DD!+) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH,DD!+).S(SH2,PH,DD!+) kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> R(X!3,i~off).J(Y1~P!1,K!3).S(SH2!1,PH,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) kon_J
# Membrane-bound JAK2
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH!+,DD) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH!+,DD) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH!+,DD!+).S(SH2,PH,DD!+) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH!+,DD!+).S(SH2,PH,DD!+) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2,PH!+,DD!+) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH,DD!+).S(SH2,PH!+,DD!+) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH!+,DD!+).S(SH2,PH!+,DD!+) -> R(X!2,i~off).J(Y1~P!1,K!2).S(SH2!1,PH!+,DD!+).S(SH2,PH!+,DD!+) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH!+,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) -> R(X!3,i~off).J(Y1~P!1,K!3).S(SH2!1,PH!+,DD!+).S(SH2!2,PH,DD!+).J(Y1~P!2,K) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) -> R(X!3,i~off).J(Y1~P!1,K!3).S(SH2!1,PH,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) chi_m*kon_J
R(X,i~off) + J(Y1~P!1,K).S(SH2!1,PH!+,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) -> R(X!3,i~off).J(Y1~P!1,K!3).S(SH2!1,PH!+,DD!+).S(SH2!2,PH!+,DD!+).J(Y1~P!2,K) chi_m*kon_J
R(X,i~off) + J(K).R(X!+,i~off) -> R(X!1,i~off).J(K!1).R(X!+,i~off) chi_m*kon_J
# Intra-complex
R(X,i~off).J(K).R(X!+,i~off) -> R(X!1,i~off).J(K!1).R(X!+,i~off) chi_r*kon_J
# Dissociation
R(X!1).J(K!1) -> R(X) + J(K) koff_J
R(X!1).J(K!1) -> R(X).J(K) koff_J
# Phosphorylation / Dephosphorylation
# -----------------------------------
# JAK2 phosphorylation
J(Y1~U,K!1).R(X!1,i~off).J(K!2,Y2~U).R(X!2,i~off) -> J(Y1~P,K!1).R(X!1,i~off).J(K!2,Y2~U).R(X!2,i~off) kphos_slow
J(Y1~U,K!1).R(X!1,i~off).J(K!2,Y2~P).R(X!2,i~off) -> J(Y1~P,K!1).R(X!1,i~off).J(K!2,Y2~P).R(X!2,i~off) kphos_fast
J(Y2~U).J(Y2~U) -> J(Y2~P).J(Y2~U) kphos_slow
J(Y2~U).J(Y2~P) -> J(Y2~P).J(Y2~P) kphos_fast
# JAK2 dephosphorylation by PTP
J(Y1~P) -> J(Y1~U) kcat_ptp
J(Y2~P) -> J(Y2~U) kcat_ptp
# Receptor downregulation
# -----------------------
# Constitutive turnover
R(X,i~off,l) -> R(X,i~on,l) kt
R(X,i~off,l!1).L(r1!1,r2) -> R(X,i~on,l!1).L(r1!1,r2) kt
R(X,i~off,l!1).L(r1,r2!1) -> R(X,i~on,l!1).L(r1,r2!1) kt
R(X!1,i~off,l).J(Y1~U,K!1) -> R(X!1,i~on,l).J(Y1~U,K!1) kt
R(X!1,i~off,l).J(Y1~P,K!1) -> R(X!1,i~on,l).J(Y1~P,K!1) kt
R(X!1,i~off,l!2).L(r1!2,r2).J(Y1~U,K!1) -> R(X!1,i~on,l!2).L(r1!2,r2).J(Y1~U,K!1) kt
R(X!1,i~off,l!2).L(r1,r2!2).J(Y1~U,K!1) -> R(X!1,i~on,l!2).L(r1,r2!2).J(Y1~U,K!1) kt
R(X!1,i~off,l!2).L(r1!2,r2).J(Y1~P,K!1) -> R(X!1,i~on,l!2).L(r1!2,r2).J(Y1~P,K!1) kt
R(X!1,i~off,l!2).L(r1,r2!2).J(Y1~P,K!1) -> R(X!1,i~on,l!2).L(r1,r2!2).J(Y1~P,K!1) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD) -> R(X!1,i~on,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l!3).L(r1!3,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) -> R(X!1,i~on,l!3).L(r1,r2!3).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2,DD!+) kt
R(X!1,i~off,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
R(X!1,i~off,l!4).L(r1!4,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l!4).L(r1!4,r2).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
R(X!1,i~off,l!4).L(r1,r2!4).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) -> R(X!1,i~on,l!4).L(r1,r2!4).J(Y1~P!2,K!1).S(SH2!2,DD!+).S(SH2!3,DD!+).J(Y1~P!3,K) kt
# Induced endocytosis
R(l!1,i~off).R(l!2,i~off).L(r1!1,r2!2) -> R(l!1,i~on).R(l!2,i~on).L(r1!1,r2!2) ke
R(l,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3) -> R(l,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3) ke
R(l!1,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1!1,r2) -> R(l!1,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1!1,r2) ke
R(l!1,X!2,i~off).R(l,X!3,i~off).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1,r2!1) -> R(l!1,X!2,i~on).R(l,X!3,i~on).J(K!2,Y1~P!4).S(SH2!4,DD!5).S(DD!5,SH2!6).J(Y1~P!6,K!3).L(r1,r2!1) ke
end reaction rules
begin observables
Macrocomplex L(r1!1,r2!2).R(l!1,X!4,i~off).J(K!4,Y1~P!5).S(SH2!5,DD!3).S(SH2!6,DD!3).J(K!7,Y1~P!6).R(l!2,X!7,i~off)
end observables
generate_network({overwrite=>1,max_stoich=>{R=>2}});
simulate_ode({t_end=>1000, n_steps=>1000,atoll=>1e-08,rtol=>1e-08,sparse=>1});