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
+42-15Lines changed: 42 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,8 +43,7 @@ documentation](https://docs.sciml.ai/Catalyst/stable/). The [in-development
43
43
documentation](https://docs.sciml.ai/Catalyst/dev/) describes unreleased features in
44
44
the current master branch.
45
45
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):
48
47
- From JuliaCon 2023: A short 15 minute overview of Catalyst as of version 13 is
49
48
available in the talk [Catalyst.jl, Modeling Chemical Reaction Networks](https://www.youtube.com/watch?v=yreW94n98eM&ab_channel=TheJuliaProgrammingLanguage).
50
49
- 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
63
62
64
63
## Features
65
64
65
+
#### Features of Catalyst
66
+
66
67
- A DSL provides a simple and readable format for manually specifying chemical
67
68
reactions.
68
69
- 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
71
72
- Non-integer (e.g. `Float64`) stoichiometric coefficients are supported for generating
72
73
ODE models, and symbolic expressions for stoichiometric coefficients are supported for
73
74
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.
77
81
-`ReactionSystem`s generated by the DSL can be converted to a variety of
78
82
`ModelingToolkit.AbstractSystem`s, including symbolic ODE, SDE and jump process
79
83
representations.
80
84
- 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.
85
88
- By leveraging ModelingToolkit, users have a variety of options for generating
86
89
optimized system representations to use in solvers. These include construction
87
90
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
97
100
expressions and Julia `Expr`s can be obtained for all rate laws and functions
98
101
determining the deterministic and stochastic terms within resulting ODE, SDE
99
102
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
-[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
108
132
- 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
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
121
145
resulting stochastic chemical kinetics with delays models.
122
146
-[BondGraphs.jl](https://github.com/jedforrest/BondGraphs.jl) a package for
123
147
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.
125
150
126
151
127
-
## Illustrative examples
152
+
## Simple example
128
153
#### Gillespie simulations of Michaelis-Menten enzyme kinetics
0 commit comments