You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+38-42Lines changed: 38 additions & 42 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,7 @@
3
3
[](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
large-scale simulations through auto-vectorization and parallelism. Symbolic
24
23
`ReactionSystem`s can be used to generate ModelingToolkit-based models, allowing
25
-
the easy simulation and parameter estimation of mass action ODE models, Chemical
24
+
the easy simulation and parameter estimation of mass action ODE models, chemical
26
25
Langevin SDE models, stochastic chemical kinetics jump process models, and more.
27
26
Generated models can be used with solvers throughout the broader
28
27
[SciML](https://sciml.ai) ecosystem, including higher-level SciML packages (e.g.
@@ -37,27 +36,12 @@ Breaking changes and new functionality are summarized in the [HISTORY.md](HISTOR
37
36
38
37
## Tutorials and documentation
39
38
40
-
The latest tutorials and information on using the package are available in the [stable
39
+
The latest tutorials and information on using Catalyst are available in the [stable
41
40
documentation](https://docs.sciml.ai/Catalyst/stable/). The [in-development
42
41
documentation](https://docs.sciml.ai/Catalyst/dev/) describes unreleased features in
43
42
the current master branch.
44
43
45
-
Several YouTube video tutorials and overviews are also available (however, these use older versions of Catalyst, and some notation may be out-of-date):
46
-
- From JuliaCon 2023: A short 15-minute overview of Catalyst (version 13) is
47
-
available in the talk [Catalyst.jl, Modeling Chemical Reaction Networks](https://www.youtube.com/watch?v=yreW94n98eM&ab_channel=TheJuliaProgrammingLanguage).
48
-
- From JuliaCon 2022: A 3-hour tutorial workshop overviewing how to use
49
-
Catalyst (version 12.1) and its more advanced features. [Workshop
Finally, an overview of the package and its features (as of version 13) can also 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).
44
+
An overview of the package and its features (as of version 13) can also 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).
61
45
62
46
## Features
63
47
@@ -71,7 +55,7 @@ Finally, an overview of the package and its features (as of version 13) can also
71
55
- The [Catalyst.jl API](http://docs.sciml.ai/Catalyst/stable/api/catalyst_api) provides functionality
72
56
for extending networks, building networks programmatically, and for composing
In the above example, we used basic Catalyst-based workflows to simulate a simple model. Here we instead show how various Catalyst features can compose to create a much more advanced model. Our model describes how the volume of a cell ($V$) is affected by a growth factor ($G$). Typically the growth factor is inactive ($Gi$), but it is activated ($Ga$) by the presence of sunlight (modeled as the cyclic sinusoid $kA*(sin(t)+1)$). When the cell reaches a critical volume ($V$) it goes through cell division. First, we declare our model:
181
+
In the above example, we used basic Catalyst-based workflows to simulate a simple model. Here we instead show how various Catalyst features can compose to create a much more advanced model. Our model describes how the volume of a cell ($V$) is affected by a growth factor ($G$). The growth factor only promotes growth while in its phosphorylated form ($Gᴾ$). The phosphorylation of $G$ ($G \to Gᴾ$) is promoted by sunlight (modelled as the cyclic sinusoid $kₐ*(sin(t)+1)$) phosphorylates the growth factor (producing $Gᴾ$). When the cell reaches a critical volume ($V$) it goes through cell division. First, we declare our model:
197
182
```julia
183
+
using Catalyst
198
184
cell_model =@reaction_networkbegin
199
-
@parameters V_thres g
200
-
@equationsbegin
201
-
D(V) ~ g*Ga
202
-
end
203
-
@continuous_eventsbegin
204
-
[V ~ V_thres] => [V ~ V/2]
205
-
end
206
-
(kA*(sin(t)+1), kI), Gi <--> Ga
185
+
@parameters Vₘₐₓ g Ω
186
+
@default_noise_scaling Ω
187
+
@equationsbegin
188
+
D(V) ~ g*Gᴾ
189
+
end
190
+
@continuous_eventsbegin
191
+
[V ~ Vₘₐₓ] => [V ~ V/2]
192
+
end
193
+
kₚ*(sin(t)+1)/V, G --> Gᴾ
194
+
kᵢ/V, Gᴾ --> G
207
195
end
208
196
```
209
197
Next, we can use [Latexify.jl](https://korsbo.github.io/Latexify.jl/stable/) to show the ordinary differential equations associated with this model:
210
198
```julia
211
199
using Latexify
212
200
latexify(cell_model; form =:ode)
213
201
```
214
-
In this case we would like to perform stochastic simulations, so we transform our model to an SDE:
202
+
In this case, we would instead like to perform stochastic simulations, so we transform our model to an SDE:
0 commit comments