Fig 6.14

Fig 6.14#

Model of E. coli chemotaxis signalling pathway

using ModelingToolkit
using Catalyst
using OrdinaryDiffEq
using Plots
Plots.default(linewidth=2)
rn = @reaction_network begin
    @parameters L(t)
    mm(Am, k1 * BP, KM1), Am => A
    mm(AmL, k2 * BP, KM2), AmL => AL
    km1 * R , A => Am
    km2 * R , AL => AmL
    (k3 * L, km3), Am <--> AmL
    (k4 * L, km4), A <--> AL
    (k5 * Am, km5), B <--> BP
end
\[\begin{split} \begin{align*} \mathrm{\mathtt{Am}} &\xrightarrow{\frac{\mathtt{Am} \mathtt{BP} \mathtt{k1}}{\mathtt{Am} + \mathtt{KM1}}} \mathrm{A} \\ \mathrm{\mathtt{AmL}} &\xrightarrow{\frac{\mathtt{AmL} \mathtt{BP} \mathtt{k2}}{\mathtt{AmL} + \mathtt{KM2}}} \mathrm{\mathtt{AL}} \\ \mathrm{A} &\xrightarrow{R \mathtt{km1}} \mathrm{\mathtt{Am}} \\ \mathrm{\mathtt{AL}} &\xrightarrow{R \mathtt{km2}} \mathrm{\mathtt{AmL}} \\ \mathrm{\mathtt{Am}} &\xrightleftharpoons[\mathtt{km3}]{\mathtt{k3} L\left( t \right)} \mathrm{\mathtt{AmL}} \\ \mathrm{A} &\xrightleftharpoons[\mathtt{km4}]{\mathtt{k4} L\left( t \right)} \mathrm{\mathtt{AL}} \\ \mathrm{B} &\xrightleftharpoons[\mathtt{km5}]{\mathtt{Am} \mathtt{k5}} \mathrm{\mathtt{BP}} \end{align*} \end{split}\]
setdefaults!(rn, [
    :Am => 0.0360,
    :AmL => 1.5593,
    :A => 0.0595,
    :AL => 0.3504,
    :B => 0.7356,
    :BP => 0.2644,
    :k1 => 200,
    :k2 => 1,
    :k3 => 1,
    :km1 => 1,
    :km2 => 1,
    :km3 => 1,
    :k5 => 0.05,
    :km5 => 0.005,
    :k4 => 1,
    :km4 => 1,
    :KM1 => 1,
    :KM2 => 1,
    :R => 1,
    :L => 20
])

@unpack L = rn
osys = convert(ODESystem, rn; remove_conserved = true, discrete_events = [[10] => [L ~ 40], [30] => [L ~ 80]]) |> complete
\[\begin{split} \begin{align} \frac{\mathrm{d} \mathtt{Am}\left( t \right)}{\mathrm{d}t} &= \frac{ - \mathtt{k1} \mathtt{Am}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM1} + \mathtt{Am}\left( t \right)} + R \mathtt{km1} + \mathtt{km3} \mathtt{AmL}\left( t \right) - \mathtt{k3} \mathtt{Am}\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} A\left( t \right)}{\mathrm{d}t} &= \frac{\mathtt{k1} \mathtt{Am}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM1} + \mathtt{Am}\left( t \right)} - R \mathtt{km1} + \mathtt{km4} \left( - \mathtt{AmL}\left( t \right) - \mathtt{Am}\left( t \right) - A\left( t \right) + \Gamma_{1} \right) - \mathtt{k4} A\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} \mathtt{AmL}\left( t \right)}{\mathrm{d}t} &= \frac{ - \mathtt{k2} \mathtt{AmL}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM2} + \mathtt{AmL}\left( t \right)} + R \mathtt{km2} - \mathtt{km3} \mathtt{AmL}\left( t \right) + \mathtt{k3} \mathtt{Am}\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} B\left( t \right)}{\mathrm{d}t} &= \mathtt{km5} \left( - B\left( t \right) + \Gamma_{2} \right) - \mathtt{k5} \mathtt{Am}\left( t \right) B\left( t \right) \end{align} \end{split}\]
observed(osys)
\[\begin{split} \begin{align} \mathtt{AL}\left( t \right) &= - \mathtt{AmL}\left( t \right) - \mathtt{Am}\left( t \right) - A\left( t \right) + \Gamma_{1} \\ \mathtt{BP}\left( t \right) &= - B\left( t \right) + \Gamma_{2} \end{align} \end{split}\]
equations(osys)
\[\begin{split} \begin{align} \frac{\mathrm{d} \mathtt{Am}\left( t \right)}{\mathrm{d}t} &= \frac{ - \mathtt{k1} \mathtt{Am}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM1} + \mathtt{Am}\left( t \right)} + R \mathtt{km1} + \mathtt{km3} \mathtt{AmL}\left( t \right) - \mathtt{k3} \mathtt{Am}\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} A\left( t \right)}{\mathrm{d}t} &= \frac{\mathtt{k1} \mathtt{Am}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM1} + \mathtt{Am}\left( t \right)} - R \mathtt{km1} + \mathtt{km4} \left( - \mathtt{AmL}\left( t \right) - \mathtt{Am}\left( t \right) - A\left( t \right) + \Gamma_{1} \right) - \mathtt{k4} A\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} \mathtt{AmL}\left( t \right)}{\mathrm{d}t} &= \frac{ - \mathtt{k2} \mathtt{AmL}\left( t \right) \left( - B\left( t \right) + \Gamma_{2} \right)}{\mathtt{KM2} + \mathtt{AmL}\left( t \right)} + R \mathtt{km2} - \mathtt{km3} \mathtt{AmL}\left( t \right) + \mathtt{k3} \mathtt{Am}\left( t \right) L\left( t \right) \\ \frac{\mathrm{d} B\left( t \right)}{\mathrm{d}t} &= \mathtt{km5} \left( - B\left( t \right) + \Gamma_{2} \right) - \mathtt{k5} \mathtt{Am}\left( t \right) B\left( t \right) \end{align} \end{split}\]
tend = 50.0
prob = ODEProblem(osys, [], tend);
sol = solve(prob)
retcode: Success
Interpolation: 3rd order Hermite
t: 101-element Vector{Float64}:
  0.0
  0.0
  0.05968737770312525
  0.08662460033554424
  0.12694391787581313
  0.16950791095146842
  0.2229946265995895
  0.28241446330146397
  0.3413393099804022
  0.39629908274591924
  ⋮
 34.00753785319455
 34.972336754678985
 36.036486539902334
 37.337594799732734
 38.83291358997716
 40.68814108791287
 42.95651029906964
 45.95258492835235
 50.0
u: 101-element Vector{Vector{Float64}}:
 [0.036, 0.0595, 1.5593, 0.7356]
 [0.036, 0.0595, 1.5593, 0.7356]
 [0.03595027525385366, 0.05953953220886678, 1.5593219305751664, 0.7355997935085642]
 [0.03601289608672456, 0.05947514303222827, 1.5593068605221378, 0.7355997452996131]
 [0.036022073388818514, 0.059464638011316656, 1.5593088555837615, 0.7355996283853471]
 [0.03602437773678273, 0.059461744551839155, 1.5593129524853817, 0.7355995010070753]
 [0.036023848727154105, 0.05946199844888865, 1.5593188688752477, 0.7355993390621877]
 [0.036020335741447994, 0.05946541683014947, 1.559326004755733, 0.7355991575254756]
 [0.0360109087395074, 0.05947481668925857, 1.5593345280134596, 0.7355989742805211]
 [0.03599997865292204, 0.05948573915286398, 1.559342857705766, 0.7355988021675578]
 ⋮
 [0.033118749221485236, -0.008363193666078031, 3.336270946296329, 0.7370464394541649]
 [0.03381860977055459, -0.00906305421500168, 3.425938738118894, 0.7371243013446449]
 [0.03433985584738445, -0.009584300291895585, 3.4926559141824542, 0.7371858180150865]
 [0.03474484326004763, -0.009989287704543178, 3.5444350962926228, 0.7372383502192029]
 [0.03501673861487856, -0.010261183059375869, 3.5791442971479888, 0.7372797062556574]
 [0.03519519888688389, -0.010439643331297078, 3.601863434637352, 0.7373152237271161]
 [0.035295369711494134, -0.010539814155943836, 3.6145360161085587, 0.7373466320389492]
 [0.035346134944855924, -0.01059057938929577, 3.6208442925846986, 0.7373792753029379]
 [0.0353676167218464, -0.010612061166295062, 3.6233502089752645, 0.737417190902525]
plot(sol, idxs=[osys.Am], title="Fig 6.14", xlabel="Time", ylabel="Active CheA ([Am])", ylims=(0.01, 0.04), legend=false)
../_images/b3e924544f3c16e55ce01364a29f1bfa19b318bf24a486a6decab89d2438d841.png

This notebook was generated using Literate.jl.