8888u0 = [200. ,60. ,120. ,100. ,50. ,50. ,50. ] # Hill equations force use of floats!
8989tf = 4000.
9090prob = DiscreteProblem (u0, (0. ,tf))
91- prob_jump_osc_mixed_jumptypes = JumpProblemNetwork (rs, nothing , tf, u0, prob, nothing )
91+ prob_jump_osc_mixed_jumptypes = JumpProblemNetwork (rs, nothing , tf, u0, prob, nothing )
92+
93+
94+ """
95+ Multistate model from Gupta and Mendes,
96+ "An Overview of Network-Based and -Free Approaches for Stochastic Simulation of Biochemical Systems",
97+ Computation 2018, 6, 9; doi:10.3390/computation6010009
98+ Translated from supplementary data file: Models/Multi-state/fixed_multistate.xml
99+ """
100+ specs_sym_to_name = Dict (
101+ :S1 => " R(a,l)" ,
102+ :S2 => " L(r)" ,
103+ :S3 => " A(Y~U,r)" ,
104+ :S4 => " L(r!1).R(a,l!1)" ,
105+ :S5 => " A(Y~U,r!1).R(a!1,l)" ,
106+ :S6 => " A(Y~U,r!1).L(r!2).R(a!1,l!2)" ,
107+ :S7 => " A(Y~P,r!1).L(r!2).R(a!1,l!2)" ,
108+ :S8 => " A(Y~P,r!1).R(a!1,l)" ,
109+ :S9 => " A(Y~P,r)" )
110+ rates_sym_to_idx = Dict (
111+ :R0 => 1 , :L0 => 2 , :A0 => 3 , :kon => 4 , :koff => 5 ,
112+ :kAon => 6 , :kAoff => 7 , :kAp => 8 , :kAdp => 9 )
113+ params = [5360 , 1160 , 5360 , 0.01 , 0.1 , 0.01 , 0.1 , 0.01 , 0.1 ]
114+ rs = @reaction_network msType begin
115+ kon, S1 + S2 --> S4
116+ kAon, S1 + S3 --> S5
117+ kon, S2 + S5 --> S6
118+ koff, S4 --> S1 + S2
119+ kAon, S3 + S4 --> S6
120+ kAoff, S5 --> S1 + S3
121+ koff, S6 --> S2 + S5
122+ kAoff, S6 --> S3 + S4
123+ kAp, S6 --> S7
124+ koff, S7 --> S2 + S8
125+ kAoff, S7 --> S4 + S9
126+ kAdp, S7 --> S6
127+ kon, S2 + S8 --> S7
128+ kAon, S1 + S9 --> S8
129+ kAon, S4 + S9 --> S7
130+ kAoff, S8 --> S1 + S9
131+ kAdp, S8 --> S5
132+ kAdp, S9 --> S3
133+ end kon kAon koff kAoff kAp kAdp
134+ rsi = rates_sym_to_idx
135+ rates = params[[rsi[:kon ], rsi[:kAon ], rsi[:koff ], rsi[:kAoff ], rsi[:kAp ], rsi[:kAdp ]]]
136+ u0 = zeros (Int,9 )
137+ u0[ findfirst (rs. syms, :S1 ) ] = params[1 ]
138+ u0[ findfirst (rs. syms, :S2 ) ] = params[2 ]
139+ u0[ findfirst (rs. syms, :S3 ) ] = params[3 ]
140+ tf = 100.
141+ prob = DiscreteProblem (u0, (0. , tf), rates)
142+ prob_jump_multistate = JumpProblemNetwork (rs, rates, tf, u0, prob,
143+ Dict (" specs_to_sym_name" => specs_sym_to_name, " rates_sym_to_idx" => rates_sym_to_idx, " params" => params))
0 commit comments