Barua2009

From BioNetWiki

Jump to: navigation, search
  • 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});
Personal tools