# The model consists of a monovalent extracellular ligand, # a monovalent cell-surface receptor, a bivalent cytosolic adapter protein, # and a cytosolic kinase. The receptor dimerizes through a # receptor-receptor interaction that depends on ligand binding. # The adapter binds the receptor and the kinase. # When two kinases are juxtaposed through binding to # receptor-associated adapter proteins, one of the kinases can # transphosphorylate the second kinase. begin model begin parameters NA 6.02214129e23 # Avogadro's number, per mole V 1e-12 # simulation volume, liters L0 100 R0 1000 A0 1000 K0 1000 kpL 0.1 kmL 0.1 # kpD and kmD were divided by two from their values in toy.in # give the right symmetry factor. kpD 1.0 kmD 0.1 kpA 0.1 kmA 0.1 kpK 0.1 kmK 0.1 pK 1 pKs 10 dM 1 dC 10 end parameters begin seed species # Set to zero for equilibration L(r) L0 # r binds to l of R R(l,r,a) R0 # l binds to r of L # r binds to r of R A(r,k) A0 # r binds to a of R # k binds to a of K K(a,Y~U) K0 # a binds to k of A # Y is phosphorylation site that is either unphosphorylated (U) or # phosphorylated (P) Null 0 end seed species begin reaction rules # Ligand binding (L+R) # Note: specifying r in R here means that the r component must not # be bound. This prevents dissociation of ligand from R # when R is in a dimer. L(r) + R(l,r) <-> L(r!1).R(l!1,r) kpL, kmL # Aggregation (R+R) # Note: R must be bound to ligand to dimerize. L(r!1).R(l!1,r) + L(r!1).R(l!1,r) <-> L(r!1).R(l!1,r!3).L(r!2).R(l!2,r!3) kpD,kmD # Receptor binding to adaptor (R+A) # Note: A and R can bind independent of whether A is bound to K or # whether R is in a dimer. A(r) + R(a) <-> A(r!1).R(a!1) kpA,kmA # Adaptor binding kinase # Note: Doesn't depend on phosphorylation state of K or whether A is bound to # receptor, i.e. binding rate is same whether A is on membrane (bound to # R) or in cytosol. A(k) + K(a) <-> A(k!1).K(a!1) kpK,kmK # Kinase transphosphorylation by inactive kinase # Note: Rule doesn't specify how two K's are associated K(Y~U).K(Y~U) -> K(Y~U).K(Y~P) pK # Kinase transphosphorylation by active kinase # Note: Rule doesn't specify how two K's are associated K(Y~P).K(Y~U) -> K(Y~P).K(Y~P) pKs # Dephosphorylation of kinase in membrane complex R(a!1).A(r!1,k!2).K(a!2,Y~P) -> R(a!1).A(r!1,k!2).K(a!2,Y~U) dM # Dephosphorylation of kinase in cytosol K(a,Y~P) -> K(a,Y~U) dC end reaction rules begin observables Molecules RecDim R(r!+) Molecules Rec_A R(a!1).A(r!1) Molecules Rec_K R(a!1).A(r!1,k!2).K(a!2) Molecules Rec_Kp R(a!1).A(r!1,k!2).K(a!2,Y~P) Molecules RecDim_Kp R.R(a!1).A(r!1,k!2).K(a!2,Y~P) Species RecDim_sp R.R(a!1).A(r!1,k!2).K(a!2,Y~P) Molecules Active K(Y~P) end observables end model generate_network({overwrite=>1}); # Equilibration simulate_ode({suffix=>"equil",t_end=>1000,n_steps=>100,atol=>1e-10,rtol=>1e-8,sparse=>1,steady_state=>1}); # Kinetics setConcentration("L(r)","L0"); writeSBML({}); writeMfile({}); simulate_ode({suffix=>"kinetics",t_end=>120,n_steps=>1,atol=>1e-10,rtol=>1e-8}); # Modified Kinetics, starts from end point of previous simulate_ode command setParameter("pKs",0); simulate_ode({suffix=>"kinetics2",t_end=>100,n_steps=>10,atol=>1e-10,rtol=>1e-8});