Skip to content

Instantly share code, notes, and snippets.

@majahn
Created April 16, 2021 17:18
Show Gist options
  • Save majahn/c42e33e629e63444c68aea744b48c0c9 to your computer and use it in GitHub Desktop.
Save majahn/c42e33e629e63444c68aea744b48c0c9 to your computer and use it in GitHub Desktop.
[Catalyst Julia Usage] Basic Usage Of Catalyst.jl #julia #kinetics #reactions
repressilator = @reaction_network begin
hillr(P₃,α,K,n), ∅ --> m₁
hillr(P₁,α,K,n), ∅ --> m₂
hillr(P₂,α,K,n), ∅ --> m₃
(δ,γ), m₁ ↔ ∅
(δ,γ), m₂ ↔ ∅
(δ,γ), m₃ ↔ ∅
β, m₁ --> m₁ + P₁
β, m₂ --> m₂ + P₂
β, m₃ --> m₃ + P₃
μ, P₁ --> ∅
μ, P₂ --> ∅
μ, P₃ --> ∅
end α K n δ γ β μ;
latexify(repressilator)
g = Graph(repressilator)
odesys = convert(ODESystem, repressilator)
latexify(odesys)
speciesmap(repressilator)
paramsmap(repressilator)
species(repressilator)
params(repressilator)
# parameters [α,K,n,δ,γ,β,μ]
p = (.5, 40, 2, log(2)/120, 5e-3, 20*log(2)/120, log(2)/60)
# initial condition [m₁,m₂,m₃,P₁,P₂,P₃]
u₀ = [0.,0.,0.,20.,0.,0.]
# time interval to solve on
tspan = (0., 10000.)
# create the ODEProblem we want to solve
oprob = ODEProblem(repressilator, u₀, tspan, p)
sol = solve(oprob, Tsit5(), saveat=10.)
plot(sol)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment