Skip to content

Commit 2e4956a

Browse files
committed
Merge branch 'master' into spatial___internal_restructure
2 parents 9e69861 + cc2f95f commit 2e4956a

File tree

80 files changed

+2357
-1322
lines changed

Some content is hidden

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

80 files changed

+2357
-1322
lines changed

.github/workflows/CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
with:
3838
file: lcov.info
3939
token: ${{ secrets.CODECOV_TOKEN }}
40-
fail_ci_if_error: true
40+
fail_ci_if_error: false
4141
- uses: coverallsapp/github-action@master
4242
with:
4343
github-token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/Documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ jobs:
2828
with:
2929
file: lcov.info
3030
token: ${{ secrets.CODECOV_TOKEN }}
31-
fail_ci_if_error: true
31+
fail_ci_if_error: false

.github/workflows/Invalidations.yml

Lines changed: 3 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,10 @@ on:
44
pull_request:
55

66
concurrency:
7-
# Skip intermediate builds: always.
8-
# Cancel intermediate builds: always.
97
group: ${{ github.workflow }}-${{ github.ref }}
108
cancel-in-progress: true
119

1210
jobs:
13-
evaluate:
14-
# Only run on PRs to the default branch.
15-
# In the PR trigger above branches can be specified only explicitly whereas this check should work for master, main, or any other default branch
16-
if: github.base_ref == github.event.repository.default_branch
17-
runs-on: ubuntu-latest
18-
steps:
19-
- uses: julia-actions/setup-julia@v2
20-
with:
21-
version: '1'
22-
- uses: actions/checkout@v4
23-
- uses: julia-actions/julia-buildpkg@v1
24-
- uses: julia-actions/julia-invalidations@v1
25-
id: invs_pr
26-
27-
- uses: actions/checkout@v4
28-
with:
29-
ref: ${{ github.event.repository.default_branch }}
30-
- uses: julia-actions/julia-buildpkg@v1
31-
- uses: julia-actions/julia-invalidations@v1
32-
id: invs_default
33-
34-
- name: Report invalidation counts
35-
run: |
36-
echo "Invalidations on default branch: ${{ steps.invs_default.outputs.total }} (${{ steps.invs_default.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
37-
echo "This branch: ${{ steps.invs_pr.outputs.total }} (${{ steps.invs_pr.outputs.deps }} via deps)" >> $GITHUB_STEP_SUMMARY
38-
- name: Check if the PR does increase number of invalidations
39-
if: steps.invs_pr.outputs.total > steps.invs_default.outputs.total
40-
run: exit 1
11+
evaluate-invalidations:
12+
name: "Evaluate Invalidations"
13+
uses: "SciML/.github/.github/workflows/invalidations.yml@v1"

Project.toml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
name = "Catalyst"
22
uuid = "479239e8-5488-4da2-87a7-35f2df7eef83"
3-
version = "13.5.1"
3+
version = "14.0.0-DEV"
44

55
[deps]
6+
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
67
DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
78
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
89
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
@@ -21,7 +22,6 @@ Requires = "ae029012-a4dd-5104-9daa-d747884805df"
2122
RuntimeGeneratedFunctions = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47"
2223
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
2324
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
24-
SymbolicUtils = "d1185830-fcd6-423d-90d6-eec64667417b"
2525
Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
2626
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
2727

@@ -37,6 +37,7 @@ CatalystStructuralIdentifiabilityExtension = "StructuralIdentifiability"
3737

3838
[compat]
3939
BifurcationKit = "0.3"
40+
Combinatorics = "1.0.2"
4041
DataStructures = "0.18"
4142
DiffEqBase = "6.83.0"
4243
DocStringExtensions = "0.8, 0.9"
@@ -48,15 +49,14 @@ JumpProcesses = "9.3.2"
4849
LaTeXStrings = "1.3.0"
4950
Latexify = "0.14, 0.15, 0.16"
5051
MacroTools = "0.5.5"
51-
ModelingToolkit = "9.11.0"
52+
ModelingToolkit = "9.16.0"
5253
Parameters = "0.12"
5354
Reexport = "0.2, 1.0"
5455
Requires = "1.0"
5556
RuntimeGeneratedFunctions = "0.5.12"
5657
Setfield = "1"
57-
StructuralIdentifiability = "0.5.1"
58-
SymbolicUtils = "1.0.3"
59-
Symbolics = "5.27"
58+
StructuralIdentifiability = "0.5.8"
59+
Symbolics = "5.30.1"
6060
Unitful = "1.12.4"
6161
julia = "1.10"
6262

@@ -67,6 +67,7 @@ DomainSets = "5b8099bc-c8ec-5219-889f-1d9e522a28bf"
6767
Graphviz_jll = "3c863552-8265-54e4-a6dc-903eb78fde85"
6868
HomotopyContinuation = "f213a82b-91d6-5c5d-acf7-10f1c761b327"
6969
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
70+
Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
7071
NonlinearSolve = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
7172
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
7273
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
@@ -83,4 +84,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
8384
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
8485

8586
[targets]
86-
test = ["BifurcationKit", "DiffEqCallbacks", "DomainSets", "Graphviz_jll", "HomotopyContinuation", "NonlinearSolve", "OrdinaryDiffEq", "Plots", "Random", "SafeTestsets", "SciMLBase", "SciMLNLSolve", "StableRNGs", "Statistics", "SteadyStateDiffEq", "StochasticDiffEq", "StructuralIdentifiability", "Test", "Unitful"]
87+
test = ["BifurcationKit", "DiffEqCallbacks", "DomainSets", "Graphviz_jll", "HomotopyContinuation", "Logging", "NonlinearSolve", "OrdinaryDiffEq", "Plots", "Random", "SafeTestsets", "SciMLBase", "SciMLNLSolve", "StableRNGs", "Statistics", "SteadyStateDiffEq", "StochasticDiffEq", "StructuralIdentifiability", "Test", "Unitful"]

docs/Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ IncompleteLU = "0.2"
5151
JumpProcesses = "9.11"
5252
Latexify = "0.16"
5353
LinearSolve = "2.30"
54-
ModelingToolkit = "9.15"
54+
ModelingToolkit = "9.16.0"
5555
NonlinearSolve = "3.12"
5656
Optim = "1.9"
5757
Optimization = "3.25"
@@ -68,5 +68,5 @@ SpecialFunctions = "2.4"
6868
StaticArrays = "1.9"
6969
SteadyStateDiffEq = "2.2"
7070
StochasticDiffEq = "6.65"
71-
StructuralIdentifiability = "0.5.7"
72-
Symbolics = "5.28"
71+
StructuralIdentifiability = "0.5.8"
72+
Symbolics = "5.30.1"

docs/make.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,17 @@ include("pages.jl")
3131
# pages = pages)
3232

3333
makedocs(sitename = "Catalyst.jl",
34-
authors = "Samuel Isaacson",
35-
format = Documenter.HTML(; analytics = "UA-90474609-3",
36-
prettyurls = (get(ENV, "CI", nothing) == "true"),
37-
assets = ["assets/favicon.ico"],
38-
canonical = "https://docs.sciml.ai/Catalyst/stable/"),
39-
modules = [Catalyst, ModelingToolkit],
40-
doctest = false,
41-
clean = true,
42-
pages = pages,
43-
pagesonly = true,
44-
warnonly = true)
34+
authors = "Samuel Isaacson",
35+
format = Documenter.HTML(; analytics = "UA-90474609-3",
36+
prettyurls = (get(ENV, "CI", nothing) == "true"),
37+
assets = ["assets/favicon.ico"],
38+
canonical = "https://docs.sciml.ai/Catalyst/stable/"),
39+
modules = [Catalyst, ModelingToolkit],
40+
doctest = false,
41+
clean = true,
42+
pages = pages,
43+
pagesonly = true,
44+
warnonly = [:missing_docs])
4545

4646
deploydocs(repo = "github.com/SciML/Catalyst.jl.git";
47-
push_preview = true)
47+
push_preview = true)

docs/pages.jl

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,70 +2,50 @@ pages = Any[
22
"Home" => "index.md",
33
"Introduction to Catalyst" => Any[
44
"introduction_to_catalyst/catalyst_for_new_julia_users.md",
5-
# "introduction_to_catalyst/introduction_to_catalyst.md"
6-
# Advanced introduction.
5+
"introduction_to_catalyst/introduction_to_catalyst.md"
76
],
87
"Model Creation and Properties" => Any[
98
"model_creation/dsl_basics.md",
109
"model_creation/dsl_advanced.md",
11-
#"model_creation/programmatic_CRN_construction.md",
10+
"model_creation/programmatic_CRN_construction.md",
1211
"model_creation/compositional_modeling.md",
13-
#"model_creation/constraint_equations.md",
14-
# Events.
15-
"model_creation/parametric_stoichiometry.md",# Distributed parameters, rates, and initial conditions.
16-
"model_creation/model_file_loading_and_export.md",# Distributed parameters, rates, and initial conditions.
17-
# Loading and writing models to files.
12+
"model_creation/constraint_equations.md",
13+
"model_creation/parametric_stoichiometry.md",
14+
"model_creation/model_file_loading_and_export.md",
1815
"model_creation/model_visualisation.md",
19-
#"model_creation/network_analysis.md",
16+
"model_creation/network_analysis.md",
2017
"model_creation/chemistry_related_functionality.md",
2118
"Model creation examples" => Any[
2219
"model_creation/examples/basic_CRN_library.md",
2320
"model_creation/examples/programmatic_generative_linear_pathway.md",
2421
"model_creation/examples/hodgkin_huxley_equation.md",
25-
#"model_creation/examples/smoluchowski_coagulation_equation.md"
22+
"model_creation/examples/smoluchowski_coagulation_equation.md"
2623
]
2724
],
2825
"Model simulation" => Any[
2926
"model_simulation/simulation_introduction.md",
3027
"model_simulation/simulation_plotting.md",
3128
"model_simulation/simulation_structure_interfacing.md",
3229
"model_simulation/ensemble_simulations.md",
33-
# Stochastic simulation statistical analysis.
34-
"model_simulation/ode_simulation_performance.md",
35-
# SDE Performance considerations/advice.
36-
# Jump Performance considerations/advice.
37-
# Finite state projection
30+
"model_simulation/ode_simulation_performance.md"
3831
],
3932
"Steady state analysis" => Any[
4033
"steady_state_functionality/homotopy_continuation.md",
4134
"steady_state_functionality/nonlinear_solve.md",
42-
"steady_state_functionality/steady_state_stability_computation.md",
35+
"steady_state_functionality/steady_state_stability_computation.md",
4336
"steady_state_functionality/bifurcation_diagrams.md",
4437
"steady_state_functionality/dynamical_systems.md"
4538
],
4639
"Inverse Problems" => Any[
47-
# Inverse problems introduction.
4840
"inverse_problems/optimization_ode_param_fitting.md",
4941
# "inverse_problems/petab_ode_param_fitting.md",
50-
# ODE parameter fitting using Turing.
51-
# SDE/Jump fitting.
5242
"inverse_problems/behaviour_optimisation.md",
53-
"inverse_problems/structural_identifiability.md", # Broken on Julia v1.10.3, requires v1.10.2 or 1.10.4.
54-
# Practical identifiability.
43+
"inverse_problems/structural_identifiability.md",
5544
"inverse_problems/global_sensitivity_analysis.md",
5645
"Inverse problem examples" => Any[
5746
"inverse_problems/examples/ode_fitting_oscillation.md"
5847
]
5948
],
60-
"Spatial modelling" => Any[
61-
# Intro.
62-
# Lattice ODEs.
63-
# Lattice Jumps.
64-
],
65-
# "Developer Documentation" => Any[
66-
# # Contributor's guide.
67-
# # Repository structure.
68-
# ],
6949
"FAQs" => "faqs.md",
7050
"API" => "api.md"
7151
]

docs/src/api.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ hillar
272272
```@docs
273273
Base.convert
274274
ModelingToolkit.structural_simplify
275+
set_default_noise_scaling
275276
```
276277

277278
## Chemistry-related functionalities

docs/src/assets/Project.toml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
55
Catalyst = "479239e8-5488-4da2-87a7-35f2df7eef83"
66
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
77
DiffEqParamEstim = "1130ab10-4a5a-5621-a13d-e4788d82bd4c"
8-
DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa"
98
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
109
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
1110
DynamicalSystems = "61744808-ddfa-5f27-97ff-6e42cc95d634"
@@ -38,7 +37,7 @@ Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
3837

3938
[compat]
4039
BenchmarkTools = "1.5"
41-
BifurcationKit = "0.3"
40+
BifurcationKit = "0.3.4"
4241
CairoMakie = "0.12"
4342
Catalyst = "13"
4443
DataFrames = "1.6"
@@ -52,7 +51,7 @@ IncompleteLU = "0.2"
5251
JumpProcesses = "9.11"
5352
Latexify = "0.16"
5453
LinearSolve = "2.30"
55-
ModelingToolkit = "9.15"
54+
ModelingToolkit = "9.16.0"
5655
NonlinearSolve = "3.12"
5756
Optim = "1.9"
5857
Optimization = "3.25"
@@ -69,5 +68,5 @@ SpecialFunctions = "2.4"
6968
StaticArrays = "1.9"
7069
SteadyStateDiffEq = "2.2"
7170
StochasticDiffEq = "6.65"
72-
StructuralIdentifiability = "0.5.7"
73-
Symbolics = "5.28"
71+
StructuralIdentifiability = "0.5.8"
72+
Symbolics = "5.30.1"

docs/src/faqs.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ plot(sol; idxs = [A, B])
5959
```
6060

6161
## How to disable rescaling of reaction rates in rate laws?
62-
As explained in the [Reaction rate laws used in simulations](@ref) section, for
62+
As explained in the [Reaction rate laws used in simulations](@ref introduction_to_catalyst_ratelaws) section, for
6363
a reaction such as `k, 2X --> 0`, the generated rate law will rescale the rate
6464
constant, giving `k*X^2/2` instead of `k*X^2` for ODEs and `k*X*(X-1)/2` instead
6565
of `k*X*(X-1)` for jumps. This can be disabled when directly `convert`ing a
@@ -96,7 +96,7 @@ Note, when using `convert(ODESystem, mixedsys; combinatoric_ratelaws=false)` the
9696
calling `ODEProblem(mixedsys,...; combinatoric_ratelaws=false)`. As described
9797
above, this disables Catalyst's standard rescaling of reaction rates when
9898
generating reaction rate laws, see also the [Reaction rate laws used in
99-
simulations](@ref) section. Leaving this keyword out for systems with floating
99+
simulations](@ref introduction_to_catalyst_ratelaws) section. Leaving this keyword out for systems with floating
100100
point stoichiometry will give an error message.
101101

102102
For a more extensive documentation of using non-integer stoichiometric
@@ -105,7 +105,7 @@ parametric_stoichiometry) section.
105105

106106
## How to set default values for initial conditions and parameters?
107107
How to set defaults when using the `@reaction_network` macro is described in
108-
more detail [here](@ref dsl_description_defaults). There are several ways to do
108+
more detail [here](@ref dsl_advanced_options_default_vals). There are several ways to do
109109
this. Using the DSL, one can use the `@species` and `@parameters` options:
110110
```@example faq3
111111
using Catalyst

0 commit comments

Comments
 (0)