88
88
u0 = [200. ,60. ,120. ,100. ,50. ,50. ,50. ] # Hill equations force use of floats!
89
89
tf = 4000.
90
90
prob = 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