Skip to content

Commit 0aa69d5

Browse files
committed
save progress
1 parent 0a938b7 commit 0aa69d5

File tree

1 file changed

+42
-15
lines changed

1 file changed

+42
-15
lines changed

README.md

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +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-
Several Youtube video tutorials and overviews are also available, but note these use older
47-
Catalyst versions with slightly different notation (for example, in building reaction networks):
46+
Several Youtube video tutorials and overviews are also available (however, these use older versions of Catalyst, and some notation may be out-of-date):
4847
- From JuliaCon 2023: A short 15 minute overview of Catalyst as of version 13 is
4948
available in the talk [Catalyst.jl, Modeling Chemical Reaction Networks](https://www.youtube.com/watch?v=yreW94n98eM&ab_channel=TheJuliaProgrammingLanguage).
5049
- From JuliaCon 2022: A three hour tutorial workshop overviewing how to use
@@ -63,6 +62,8 @@ Finally, an overview of the package and its features (as of version 13) can also
6362

6463
## Features
6564

65+
#### Features of Catalyst
66+
6667
- A DSL provides a simple and readable format for manually specifying chemical
6768
reactions.
6869
- Catalyst `ReactionSystem`s provide a symbolic representation of reaction networks,
@@ -71,17 +72,19 @@ Finally, an overview of the package and its features (as of version 13) can also
7172
- Non-integer (e.g. `Float64`) stoichiometric coefficients are supported for generating
7273
ODE models, and symbolic expressions for stoichiometric coefficients are supported for
7374
all system types.
74-
- The [Catalyst.jl API](http://docs.sciml.ai/Catalyst/stable/api/catalyst_api) provides functionality for extending networks,
75-
building networks programmatically, network analysis, and for composing multiple
76-
networks together.
75+
- The [Catalyst.jl API](http://docs.sciml.ai/Catalyst/stable/api/catalyst_api) provides functionality
76+
for extending networks, building networks programmatically, network analysis, and for composing
77+
multiple networks together.
78+
- A network analysis suite permitting the computation of linkage classes, deficiencies, reversibilities.
79+
- Conservation laws can be detected and applied to reduce system sizes, and generate
80+
non-singular Jacobians, during conversion to ODEs, SDEs, and steady state equations.
7781
- `ReactionSystem`s generated by the DSL can be converted to a variety of
7882
`ModelingToolkit.AbstractSystem`s, including symbolic ODE, SDE and jump process
7983
representations.
8084
- Coupled differential and algebraic constraint equations can be included in
81-
Catalyst models, and are incorporated during conversion to ODEs or steady
82-
state equations.
83-
- Conservation laws can be detected and applied to reduce system sizes, and generate
84-
non-singular Jacobians, during conversion to ODEs, SDEs, and steady state equations.
85+
Catalyst models (and are incorporated during conversion to ODEs, SDEs, and steady
86+
state equations).
87+
- Modelling of simulation events.
8588
- By leveraging ModelingToolkit, users have a variety of options for generating
8689
optimized system representations to use in solvers. These include construction
8790
of dense or sparse Jacobians, multithreading or parallelization of generated
@@ -97,17 +100,38 @@ Finally, an overview of the package and its features (as of version 13) can also
97100
expressions and Julia `Expr`s can be obtained for all rate laws and functions
98101
determining the deterministic and stochastic terms within resulting ODE, SDE
99102
or jump models.
103+
- Determination of steady state stabilities.
104+
105+
106+
#### Features of Catalyst composing with other packages
107+
- [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) Can be used to perform ODE simulation of CRN models.
108+
- [StochasticDiffEq.jl](https://github.com/SciML/StochasticDiffEq.jl) Can be used to perform SDE simulation of CRN models.
109+
- [JumpProcesses.jl](https://github.com/SciML/JumpProcesses.jl) Can be used to perform jump simulations of CRN models.
110+
- Support for automatic parallelisation of all simulations, including parallelisation of ODE simulations using
111+
[DiffEqGPU.jl](https://github.com/SciML/DiffEqGPU.jl).
100112
- [Latexify](https://korsbo.github.io/Latexify.jl/stable/) can be used to generate
101113
LaTeX expressions corresponding to generated mathematical models or the
102114
underlying set of reactions.
103115
- [Graphviz](https://graphviz.org/) can be used to generate and visualize
104116
reaction network graphs. (Reusing the Graphviz interface created in
105117
[Catlab.jl](https://algebraicjulia.github.io/Catlab.jl/stable/).)
106-
107-
## Packages supporting Catalyst
118+
- [HomotopyContinuation.jl](https://github.com/JuliaHomotopyContinuation/HomotopyContinuation.jl) can be used to computer *all* steady states for CRN models with
119+
multiple steady states.
120+
- [NonlinearSolve.jl](https://github.com/SciML/NonlinearSolve.jl) can be used to find single steady states of CRN models (offering higher
121+
performance than the homotopy continuation approach).
122+
- [BifurcationKit.jl](https://github.com/bifurcationkit/BifurcationKit.jl) can be used to compute bifurcation diagrams of CRN models' steady state
123+
(including finding periodic orbits).
124+
- [DynamicalSystems.jl](https://github.com/JuliaDynamics/DynamicalSystems.jl) can be used to computer basins of attraction and Lyaponov spectrum for CRN models.
125+
- [StructuralIdentifiability.jl](https://github.com/SciML/StructuralIdentifiability.jl) can be used to perform structural identifiability analysis of
126+
CRN models.
127+
- [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 CRN model
128+
parameters to data.
129+
- [GlobalSensitivity.jl](https://github.com/SciML/GlobalSensitivity.jl) can be used to perform global sensitivity analysis of model behaviours.
130+
131+
#### Features of packages built upon Catalyst
108132
- Catalyst [`ReactionSystem`](@ref)s can be imported from SBML files via
109-
[SBMLToolkit.jl](https://github.com/SciML/SBMLToolkit.jl), and from BioNetGen .net
110-
files and various stoichiometric matrix network representations using
133+
[SBMLImporter.jl](https://github.com/SciML/SBMLImporter.jl) and [SBMLToolkit.jl](https://github.com/SciML/SBMLToolkit.jl),
134+
and from BioNetGen .net files and various stoichiometric matrix network representations using
111135
[ReactionNetworkImporters.jl](https://github.com/SciML/ReactionNetworkImporters.jl).
112136
- [MomentClosure.jl](https://github.com/augustinas1/MomentClosure.jl) allows
113137
generation of symbolic ModelingToolkit `ODESystem`s, representing moment
@@ -121,10 +145,11 @@ Finally, an overview of the package and its features (as of version 13) can also
121145
resulting stochastic chemical kinetics with delays models.
122146
- [BondGraphs.jl](https://github.com/jedforrest/BondGraphs.jl) a package for
123147
constructing and analyzing bond graphs models, which can take Catalyst models as input.
124-
- [PEtab.jl](https://github.com/sebapersson/PEtab.jl) a package that implements the PEtab format for fitting reaction network ODEs to data. Input can be provided either as SBML files or as Catalyst `ReactionSystem`s.
148+
- [PEtab.jl](https://github.com/sebapersson/PEtab.jl) a package that implements the PEtab format for
149+
fitting reaction network ODEs to data. Input can be provided either as SBML files or as Catalyst `ReactionSystem`s.
125150

126151

127-
## Illustrative examples
152+
## Simple example
128153
#### Gillespie simulations of Michaelis-Menten enzyme kinetics
129154

130155
```julia
@@ -164,6 +189,8 @@ ssol = solve(sprob, LambaEM(), reltol=1e-3)
164189
plot(ssol; lw = 2, title = "Adaptive SDE: Birth-Death Process")
165190
```
166191

192+
## Elaborate example
193+
167194
![](https://user-images.githubusercontent.com/1814174/87864113-3bf9dd00-c932-11ea-8275-f903eef90b91.png)
168195

169196
## Getting help

0 commit comments

Comments
 (0)