Skip to content

Commit 0b6c7c4

Browse files
authored
Merge pull request #977 from isaacsas/doc_tweaks
doc tweaks for v14
2 parents 2c3d3b8 + b8b47ef commit 0b6c7c4

File tree

6 files changed

+118
-174
lines changed

6 files changed

+118
-174
lines changed

README.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ documentation](https://docs.sciml.ai/Catalyst/stable/). The [in-development
4343
documentation](https://docs.sciml.ai/Catalyst/dev/) describes unreleased features in
4444
the current master branch.
4545

46-
An overview of the package, its features, and comparative benchmarking (as of version 13) can also
46+
An overview of the package, its features, and comparative benchmarking (as of version 13) can also
4747
be found in its corresponding research paper, [Catalyst: Fast and flexible modeling of reaction networks](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011530).
4848

4949
## Features
@@ -71,7 +71,7 @@ be found in its corresponding research paper, [Catalyst: Fast and flexible model
7171
- [Graphviz](https://graphviz.org/) can be used to generate and [visualize reaction network graphs](https://docs.sciml.ai/Catalyst/stable/model_creation/model_visualisation/#visualisation_graphs) (reusing the Graphviz interface created in [Catlab.jl](https://algebraicjulia.github.io/Catlab.jl/stable/)).
7272
- Model steady states can be computed through homotopy continuation using [HomotopyContinuation.jl](https://github.com/JuliaHomotopyContinuation/HomotopyContinuation.jl) (which can find *all* steady states of systems with multiple ones), by forward ODE simulations using [SteadyStateDiffEq.jl](https://github.com/SciML/SteadyStateDiffEq.jl), or by numerically solving steady-state nonlinear equations using [NonlinearSolve.jl](https://github.com/SciML/NonlinearSolve.jl).
7373
- [BifurcationKit.jl](https://github.com/bifurcationkit/BifurcationKit.jl) can be used to [compute bifurcation diagrams](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/bifurcation_diagrams/) of model steady states (including finding periodic orbits).
74-
- [DynamicalSystems.jl](https://github.com/JuliaDynamics/DynamicalSystems.jl) can be used to compute model [basins of attraction](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/dynamical_systems/#dynamical_systems_basins_of_attraction) and [Lyapunov spectrums](https://docs.sciml.ai/Catalyst/stable/steady_state_functionality/dynamical_systems/#dynamical_systems_lyapunov_exponents).
74+
- [DynamicalSystems.jl](https://github.com/JuliaDynamics/DynamicalSystems.jl) can be used to compute model [basins of attraction](@ref dynamical_systems_basins_of_attraction), [Lyapunov spectrums](@ref dynamical_systems_lyapunov_exponents), and other dynamical system properties.
7575
- [StructuralIdentifiability.jl](https://github.com/SciML/StructuralIdentifiability.jl) can be used to [perform structural identifiability analysis](https://docs.sciml.ai/Catalyst/stable/inverse_problems/structural_identifiability/).
7676
- [Optimization.jl](https://github.com/SciML/Optimization.jl), [DiffEqParamEstim.jl](https://github.com/SciML/DiffEqParamEstim.jl), and [PEtab.jl](https://github.com/sebapersson/PEtab.jl) can all be used to [fit model parameters to data](https://sebapersson.github.io/PEtab.jl/stable/Define_in_julia/).
7777
- [GlobalSensitivity.jl](https://github.com/SciML/GlobalSensitivity.jl) can be used to perform [global sensitivity analysis](https://docs.sciml.ai/Catalyst/stable/inverse_problems/global_sensitivity_analysis/) of model behaviors.
@@ -88,7 +88,7 @@ be found in its corresponding research paper, [Catalyst: Fast and flexible model
8888
## Illustrative example
8989

9090
#### Deterministic ODE simulation of Michaelis-Menten enzyme kinetics
91-
Here we show a simple example where a model is created using the Catalyst DSL, and then simulated as
91+
Here we show a simple example where a model is created using the Catalyst DSL, and then simulated as
9292
an ordinary differential equation.
9393

9494
```julia
@@ -129,14 +129,15 @@ plot(jump_sol; lw = 2)
129129
![Jump simulation](docs/src/assets/readme_jump_plot.svg)
130130

131131

132-
## Elaborate example
133-
In the above example, we used basic Catalyst-based workflows to simulate a simple model. Here we
134-
instead show how various Catalyst features can compose to create a much more advanced model. Our
135-
model describes how the volume of a cell ($V$) is affected by a growth factor ($G$). The growth
136-
factor only promotes growth while in its phosphorylated form ($Gᴾ$). The phosphorylation of $G$
137-
($G \to Gᴾ$) is promoted by sunlight (modeled as the cyclic sinusoid $kₐ (sin(t) + 1)$), which
138-
phosphorylates the growth factor (producing $Gᴾ$). When the cell reaches a critical volume ($Vₘ$)
139-
it undergoes cell division. First, we declare our model:
132+
## More elaborate example
133+
In the above example, we used basic Catalyst workflows to simulate a simple
134+
model. Here we instead show how various Catalyst features can compose to create
135+
a much more advanced model. Our model describes how the volume of a cell ($V$)
136+
is affected by a growth factor ($G$). The growth factor only promotes growth
137+
while in its phosphorylated form ($G^P$). The phosphorylation of $G$ ($G \to G^P$)
138+
is promoted by sunlight (modeled as the cyclic sinusoid $k_a (\sin(t) + 1)$),
139+
which phosphorylates the growth factor (producing $G^P$). When the cell reaches a
140+
critical volume ($V_m$) it undergoes cell division. First, we declare our model:
140141
```julia
141142
using Catalyst
142143
cell_model = @reaction_network begin
@@ -151,22 +152,22 @@ cell_model = @reaction_network begin
151152
kᵢ/V, Gᴾ --> G
152153
end
153154
```
154-
We now study the system as a Chemical Langevin Dynamics SDE model, which can be generated as follows
155+
We now study the system as a Chemical Langevin Dynamics SDE model, which can be generated as follows
155156
```julia
156157
u0 = [:V => 25.0, :G => 50.0, :Gᴾ => 0.0]
157158
tspan = (0.0, 20.0)
158159
ps = [:Vₘ => 50.0, :g => 0.3, :kₚ => 100.0, :kᵢ => 60.0]
159160
sprob = SDEProblem(cell_model, u0, tspan, ps)
160161
```
161-
This produces the following equations:
162+
This problem encodes the following stochastic differential equation model:
162163
```math
163164
\begin{align*}
164-
dG(t) &= - \left( \frac{kₚ*(sin(t)+1)}{V(t)} G(t) + \frac{kᵢ}{V(t)} Gᴾ(t) \right) dt - \sqrt{\frac{kₚ*(sin(t)+1)}{V(t)} G(t)} dW_1(t) + \sqrt{\frac{kᵢ}{V(t)} Gᴾ(t)} dW_2(t) \\
165-
dGᴾ(t) &= \left( \frac{kₚ*(sin(t)+1)}{V(t)} G(t) - \frac{kᵢ}{V(t)} Gᴾ(t) \right) dt + \sqrt{\frac{kₚ*(sin(t)+1)}{V(t)} G(t)} dW_1(t) - \sqrt{\frac{kᵢ}{V(t)} Gᴾ(t)} dW_2(t) \\
166-
dV(t) &= \left(g \cdot Gᴾ(t)\right) dt
165+
dG(t) &= - \left( \frac{k_p(\sin(t)+1)}{V(t)} G(t) + \frac{k_i}{V(t)} G^P(t) \right) dt - \sqrt{\frac{k_p (\sin(t)+1)}{V(t)} G(t)} \, dW_1(t) + \sqrt{\frac{k_i}{V(t)} G^P(t)} \, dW_2(t) \\
166+
dG^P(t) &= \left( \frac{k_p(\sin(t)+1)}{V(t)} G(t) - \frac{k_i}{V(t)} G^P(t) \right) dt + \sqrt{\frac{k_p (\sin(t)+1)}{V(t)} G(t)} \, dW_1(t) - \sqrt{\frac{k_i}{V(t)} G^P(t)} \, dW_2(t) \\
167+
dV(t) &= \left(g \, G^P(t)\right) dt
167168
\end{align*}
168169
```
169-
where the $dW_1(t)$ and $dW_2(t)$ terms represent independent Brownian Motions, encoding the noise added by the Chemical Langevin Equation. Finally, we can simulate and plot the results.
170+
where the $dW_1(t)$ and $dW_2(t)$ terms represent independent Brownian Motions, encoding the noise added by the Chemical Langevin Equation. Finally, we can simulate and plot the results.
170171
```julia
171172
using StochasticDiffEq, Plots
172173
sol = solve(sprob, EM(); dt = 0.05)
@@ -181,15 +182,14 @@ Some features we used here:
181182
- The model simulation was [plotted using Plots.jl](https://docs.sciml.ai/Catalyst/stable/model_simulation/simulation_plotting/).
182183

183184
## Getting help or getting involved
184-
Catalyst developers are active on the [Julia Discourse](https://discourse.julialang.org/),
185-
the [Julia Slack](https://julialang.slack.com) channels \#sciml-bridged and \#sciml-sysbio, and the
186-
[Julia Zulip sciml-bridged channel](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged).
185+
Catalyst developers are active on the [Julia Discourse](https://discourse.julialang.org/) and
186+
the [Julia Slack](https://julialang.slack.com) channels \#sciml-bridged and \#sciml-sysbio.
187187
For bugs or feature requests, [open an issue](https://github.com/SciML/Catalyst.jl/issues).
188188

189189
## Supporting and citing Catalyst.jl
190-
The software in this ecosystem was developed as part of academic research. If you would like to help
191-
support it, please star the repository as such metrics may help us secure funding in the future. If
192-
you use Catalyst as part of your research, teaching, or other activities, we would be grateful if you
190+
The software in this ecosystem was developed as part of academic research. If you would like to help
191+
support it, please star the repository as such metrics may help us secure funding in the future. If
192+
you use Catalyst as part of your research, teaching, or other activities, we would be grateful if you
193193
could cite our work:
194194
```
195195
@article{CatalystPLOSCompBio2023,

docs/src/assets/Project.toml

Lines changed: 0 additions & 72 deletions
This file was deleted.

0 commit comments

Comments
 (0)