Skip to content

Commit 7cb73fc

Browse files
committed
adding larger network examples
1 parent 3b01a97 commit 7cb73fc

File tree

1 file changed

+53
-1
lines changed

1 file changed

+53
-1
lines changed

src/jump_premade_problems.jl

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,56 @@ end
8888
u0 = [200.,60.,120.,100.,50.,50.,50.] # Hill equations force use of floats!
8989
tf = 4000.
9090
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

Comments
 (0)