Skip to content

Commit 98797d2

Browse files
committed
Merge remote-tracking branch 'origin/master' into pdmps
2 parents e33aa23 + 42607e8 commit 98797d2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+477
-122
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ CatalystGraphMakieExtension = "GraphMakie"
4141
CatalystHomotopyContinuationExtension = "HomotopyContinuation"
4242

4343
[compat]
44-
BifurcationKit = "0.3"
44+
BifurcationKit = "0.4.4"
4545
CairoMakie = "0.12"
4646
Combinatorics = "1.0.2"
4747
DataStructures = "0.18"
48-
DiffEqBase = "6.83.0"
48+
DiffEqBase = "< 6.159.0"
4949
DocStringExtensions = "0.8, 0.9"
5050
DynamicPolynomials = "0.5, 0.6"
5151
DynamicQuantities = "0.13.2, 1"

docs/Project.toml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ BifurcationKit = "0f109fa4-8a5d-4b75-95aa-f515264e7665"
44
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
55
Catalyst = "479239e8-5488-4da2-87a7-35f2df7eef83"
66
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
7+
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
78
DiffEqParamEstim = "1130ab10-4a5a-5621-a13d-e4788d82bd4c"
89
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
910
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
@@ -26,7 +27,12 @@ OptimizationBBO = "3e6eede4-6085-4f62-9a71-46d9bc1eb92b"
2627
OptimizationNLopt = "4e6fcdb7-1186-4e1f-a706-475e75c168bb"
2728
OptimizationOptimJL = "36348300-93cb-4f02-beb5-3c3902f8871e"
2829
OptimizationOptimisers = "42dfb2eb-d2b4-4451-abcd-913932933ac1"
29-
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
30+
OrdinaryDiffEqBDF = "6ad6398a-0878-4a85-9266-38940aa047c8"
31+
OrdinaryDiffEqDefault = "50262376-6c5a-4cf5-baba-aaf4f84d72d7"
32+
OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce"
33+
OrdinaryDiffEqSDIRK = "2d112036-d095-4a1e-ab9a-08536f3ecdbf"
34+
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
35+
OrdinaryDiffEqVerner = "79d7bb75-1356-48c1-b8c0-6832512096c2"
3036
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
3137
QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b"
3238
SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
@@ -35,15 +41,15 @@ SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"
3541
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
3642
SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f"
3743
StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0"
38-
#StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544"
3944
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
4045

4146
[compat]
4247
BenchmarkTools = "1.5"
43-
BifurcationKit = "0.3.4"
48+
BifurcationKit = "0.4.4"
4449
CairoMakie = "0.12"
45-
Catalyst = "14.2"
50+
Catalyst = "14.4"
4651
DataFrames = "1.6"
52+
DiffEqBase = "< 6.159.0"
4753
DiffEqParamEstim = "2.2"
4854
Distributions = "0.25"
4955
Documenter = "1.4.1"
@@ -58,14 +64,19 @@ JumpProcesses = "9.13.2"
5864
Latexify = "0.16.5"
5965
LinearSolve = "2.30"
6066
ModelingToolkit = "9.32"
61-
NonlinearSolve = "3.12"
67+
NonlinearSolve = "3.12, 4"
6268
Optim = "1.9"
6369
Optimization = "4"
6470
OptimizationBBO = "0.4"
6571
OptimizationNLopt = "0.3"
6672
OptimizationOptimJL = "0.4"
6773
OptimizationOptimisers = "0.3"
68-
OrdinaryDiffEq = "6.80.1"
74+
OrdinaryDiffEqBDF = "1"
75+
OrdinaryDiffEqDefault = "1"
76+
OrdinaryDiffEqRosenbrock = "1"
77+
OrdinaryDiffEqSDIRK = "1"
78+
OrdinaryDiffEqTsit5 = "1"
79+
OrdinaryDiffEqVerner = "1"
6980
Plots = "1.40"
7081
QuasiMonteCarlo = "0.3"
7182
SciMLBase = "2.46"
@@ -74,5 +85,4 @@ SpecialFunctions = "2.4"
7485
StaticArrays = "1.9"
7586
SteadyStateDiffEq = "2.2"
7687
StochasticDiffEq = "6.65"
77-
#StructuralIdentifiability = "0.5.8"
7888
Symbolics = "5.30.1, 6"

docs/make.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,14 @@ makedocs(sitename = "Catalyst.jl",
3434
authors = "Samuel Isaacson",
3535
format = Documenter.HTML(; analytics = "UA-90474609-3",
3636
prettyurls = (get(ENV, "CI", nothing) == "true"),
37+
collapselevel = 1,
3738
assets = ["assets/favicon.ico"],
3839
canonical = "https://docs.sciml.ai/Catalyst/stable/"),
3940
modules = [Catalyst, ModelingToolkit],
4041
doctest = false,
4142
clean = true,
4243
pages = pages,
43-
pagesonly = false,
44+
pagesonly = true,
4445
warnonly = [:missing_docs])
4546

4647
deploydocs(repo = "github.com/SciML/Catalyst.jl.git";

docs/src/api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ corresponding chemical reaction ODE models, chemical Langevin equation SDE
3535
models, and stochastic chemical kinetics jump process models.
3636

3737
```@example ex1
38-
using Catalyst, OrdinaryDiffEq, StochasticDiffEq, JumpProcesses, Plots
38+
using Catalyst, OrdinaryDiffEqTsit5, StochasticDiffEq, JumpProcesses, Plots
3939
t = default_t()
4040
@parameters β γ
4141
@species S(t) I(t) R(t)
@@ -393,4 +393,4 @@ Finally, we provide the following helper functions to plot and animate spatial l
393393
lattice_plot
394394
lattice_animation
395395
lattice_kymograph
396-
```
396+
```

docs/src/faqs.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ One can directly use symbolic variables to index into SciML solution objects.
55
Moreover, observables can also be evaluated in this way. For example,
66
consider the system
77
```@example faq1
8-
using Catalyst, OrdinaryDiffEq, Plots
8+
using Catalyst, OrdinaryDiffEqTsit5, Plots
99
rn = @reaction_network ABtoC begin
1010
(k₊,k₋), A + B <--> C
1111
end
@@ -132,7 +132,7 @@ When directly constructing a `ReactionSystem`, we can set the symbolic values to
132132
have the desired default values, and this will automatically be propagated
133133
through to the equation solvers:
134134
```@example faq3
135-
using Catalyst, Plots, OrdinaryDiffEq
135+
using Catalyst, Plots, OrdinaryDiffEqTsit5
136136
t = default_t()
137137
@parameters β=1e-4 ν=.01
138138
@species S(t)=999.0 I(t)=1.0 R(t)=0.0
@@ -175,7 +175,7 @@ Julia `Symbol`s corresponding to each variable/parameter to their values, or
175175
from ModelingToolkit symbolic variables/parameters to their values. Using
176176
`Symbol`s we have
177177
```@example faq4
178-
using Catalyst, OrdinaryDiffEq
178+
using Catalyst, OrdinaryDiffEqTsit5
179179
rn = @reaction_network begin
180180
α, S + I --> 2I
181181
β, I --> R

docs/src/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ etc).
3232
- [Steady states](@ref homotopy_continuation) (and their [stabilities](@ref steady_state_stability)) can be computed for model ODE representations.
3333

3434
#### [Features of Catalyst composing with other packages](@id doc_index_features_composed)
35-
- [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) Can be used to numerically solver generated reaction rate equation ODE models.
35+
- [OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) Can be used to numerically solve generated reaction rate equation ODE models.
3636
- [StochasticDiffEq.jl](https://github.com/SciML/StochasticDiffEq.jl) can be used to numerically solve generated Chemical Langevin Equation SDE models.
3737
- [JumpProcesses.jl](https://github.com/SciML/JumpProcesses.jl) can be used to numerically sample generated Stochastic Chemical Kinetics Jump Process models.
3838
- Support for [parallelization of all simulations](@ref ode_simulation_performance_parallelisation), including parallelization of [ODE simulations on GPUs](@ref ode_simulation_performance_parallelisation_GPU) using [DiffEqGPU.jl](https://github.com/SciML/DiffEqGPU.jl).
3939
- [Latexify](https://korsbo.github.io/Latexify.jl/stable/) can be used to [generate LaTeX expressions](@ref visualisation_latex) corresponding to generated mathematical models or the underlying set of reactions.
4040
- [Graphviz](https://graphviz.org/) can be used to generate and [visualize reaction network graphs](@ref visualisation_graphs) (reusing the Graphviz interface created in [Catlab.jl](https://algebraicjulia.github.io/Catlab.jl/stable/)).
4141
- Model steady states can be [computed through homotopy continuation](@ref 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](@ref steady_state_solving_simulation) using [SteadyStateDiffEq.jl)](https://github.com/SciML/SteadyStateDiffEq.jl), or by [numerically solving steady-state nonlinear equations](@ref steady_state_solving_nonlinear) using [NonlinearSolve.jl](https://github.com/SciML/NonlinearSolve.jl).
42-
- [BifurcationKit.jl](https://github.com/bifurcationkit/BifurcationKit.jl) can be used to [compute bifurcation diagrams](@ref bifurcation_diagrams) of model steady states (including finding periodic orbits).
42+
[BifurcationKit.jl](https://github.com/bifurcationkit/BifurcationKit.jl) can be used to compute bifurcation diagrams of model steady states (including finding periodic orbits).
4343
- [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.
4444
<!--- [StructuralIdentifiability.jl](https://github.com/SciML/StructuralIdentifiability.jl) can be used to perform structural identifiability analysis.-->
4545
- [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/).
@@ -92,7 +92,7 @@ Pkg.add("Catalyst")
9292

9393
Many Catalyst features require the installation of additional packages. E.g. for ODE-solving and simulation plotting
9494
```julia
95-
Pkg.add("OrdinaryDiffEq")
95+
Pkg.add("OrdinaryDiffEqDefault")
9696
Pkg.add("Plots")
9797
```
9898
is also needed.
@@ -124,7 +124,7 @@ an ordinary differential equation.
124124

125125
```@example home_simple_example
126126
# Fetch required packages.
127-
using Catalyst, OrdinaryDiffEq, Plots
127+
using Catalyst, OrdinaryDiffEqDefault, Plots
128128
129129
# Create model.
130130
model = @reaction_network begin

docs/src/introduction_to_catalyst/catalyst_for_new_julia_users.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ To import a Julia package into a session, you can use the `using PackageName` co
5555
using Pkg
5656
Pkg.add("Catalyst")
5757
```
58-
Here, the Julia package manager package (`Pkg`) is by default installed on your computer when Julia is installed, and can be activated directly. Next, we also wish to install the `OrdinaryDiffEq` and `Plots` packages (for numeric simulation of models, and plotting, respectively).
58+
Here, the Julia package manager package (`Pkg`) is by default installed on your computer when Julia is installed, and can be activated directly. Next, we install an ODE solver from a sub-library of the larger `OrdinaryDiffEq` package, and install the `Plots` package for making graphs. We will import the recommended default solver from the `OrdinaryDiffEqDefault` sub-library. A full list of `OrdinaryDiffEq` solver sublibraries can be found on the sidebar of [this page](https://docs.sciml.ai/OrdinaryDiffEq/stable/).
5959
```julia
60-
Pkg.add("OrdinaryDiffEq")
60+
Pkg.add("OrdinaryDiffEqDefault")
6161
Pkg.add("Plots")
6262
```
6363
Once a package has been installed through the `Pkg.add` command, this command does not have to be repeated if we restart our Julia session. We can now import all three packages into our current session with:
6464
```@example ex2
6565
using Catalyst
66-
using OrdinaryDiffEq
66+
using OrdinaryDiffEqDefault
6767
using Plots
6868
```
6969
Here, if we restart Julia, these `using` commands *must be rerun*.
@@ -253,4 +253,4 @@ If you are a new Julia user who has used this tutorial, and there was something
253253
---
254254
## References
255255
[^1]: [Torkel E. Loman, Yingbo Ma, Vasily Ilin, Shashi Gowda, Niklas Korsbo, Nikhil Yewale, Chris Rackauckas, Samuel A. Isaacson, *Catalyst: Fast and flexible modeling of reaction networks*, PLOS Computational Biology (2023).](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011530)
256-
[^2]: [Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah, *Julia: A Fresh Approach to Numerical Computing*, SIAM Review (2017).](https://epubs.siam.org/doi/abs/10.1137/141000671)
256+
[^2]: [Jeff Bezanson, Alan Edelman, Stefan Karpinski, Viral B. Shah, *Julia: A Fresh Approach to Numerical Computing*, SIAM Review (2017).](https://epubs.siam.org/doi/abs/10.1137/141000671)

docs/src/introduction_to_catalyst/introduction_to_catalyst.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Pkg.activate("catalyst_introduction")
2020

2121
# packages we will use in this tutorial
2222
Pkg.add("Catalyst")
23-
Pkg.add("OrdinaryDiffEq")
23+
Pkg.add("OrdinaryDiffEqTsit5")
2424
Pkg.add("Plots")
2525
Pkg.add("Latexify")
2626
Pkg.add("JumpProcesses")
@@ -29,7 +29,7 @@ Pkg.add("StochasticDiffEq")
2929

3030
We next load the basic packages we'll need for our first example:
3131
```@example tut1
32-
using Catalyst, OrdinaryDiffEq, Plots, Latexify
32+
using Catalyst, OrdinaryDiffEqTsit5, Plots, Latexify
3333
```
3434

3535
Let's start by using the Catalyst [`@reaction_network`](@ref) macro to specify a
@@ -386,4 +386,4 @@ A more detailed summary of the precise mathematical equations Catalyst can gener
386386

387387
---
388388
## References
389-
1. [Torkel E. Loman, Yingbo Ma, Vasily Ilin, Shashi Gowda, Niklas Korsbo, Nikhil Yewale, Chris Rackauckas, Samuel A. Isaacson, *Catalyst: Fast and flexible modeling of reaction networks*, PLOS Computational Biology (2023).](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011530)
389+
1. [Torkel E. Loman, Yingbo Ma, Vasily Ilin, Shashi Gowda, Niklas Korsbo, Nikhil Yewale, Chris Rackauckas, Samuel A. Isaacson, *Catalyst: Fast and flexible modeling of reaction networks*, PLOS Computational Biology (2023).](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1011530)

docs/src/inverse_problems/behaviour_optimisation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ end
1717
```
1818
To demonstrate this pulsing behaviour we will simulate the system for an example parameter set. We select an initial condition (`u0`) so the system begins in a steady state.
1919
```@example behaviour_optimization
20-
using OrdinaryDiffEq, Plots
20+
using OrdinaryDiffEqTsit5, Plots
2121
example_p = [:pX => 0.1, :pY => 1.0, :pZ => 1.0]
2222
tspan = (0.0, 50.0)
2323
example_u0 = [:X => 0.1, :Y => 0.1, :Z => 1.0]
@@ -107,4 +107,4 @@ If you use this functionality in your research, please cite the following paper
107107
---
108108
## References
109109
[^1]: [Mykel J. Kochenderfer, Tim A. Wheeler *Algorithms for Optimization*, The MIT Press (2019).](https://algorithmsbook.com/optimization/files/optimization.pdf)
110-
[^2]: [Lea Goentoro, Oren Shoval, Marc W Kirschner, Uri Alon *The incoherent feedforward loop can provide fold-change detection in gene regulation*, Molecular Cell (2009).](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2896310/)
110+
[^2]: [Lea Goentoro, Oren Shoval, Marc W Kirschner, Uri Alon *The incoherent feedforward loop can provide fold-change detection in gene regulation*, Molecular Cell (2009).](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2896310/)

docs/src/inverse_problems/examples/ode_fitting_oscillation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ In this example we will use [Optimization.jl](https://github.com/SciML/Optimizat
44
First, we fetch the required packages.
55
```@example pe_osc_example
66
using Catalyst
7-
using OrdinaryDiffEq
7+
using OrdinaryDiffEqRosenbrock
88
using Optimization
99
using OptimizationOptimisers # Required for the ADAM optimizer.
1010
using SciMLSensitivity # Required for `Optimization.AutoZygote()` automatic differentiation option.

0 commit comments

Comments
 (0)