From cad9572ea04e088ed080db04e31890ad0945d90f Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Jul 2025 02:26:53 -0400 Subject: [PATCH 1/7] Fix typos: signifcant, systemes, insead, Spetember, constains and 6 more (14 corrections total) --- HISTORY.md | 2 +- .../examples/programmatic_generative_linear_pathway.md | 2 +- .../structural_identifiability_extension.jl | 4 ++-- src/reactionsystem.jl | 4 ++-- src/reactionsystem_conversions.jl | 4 ++-- src/reactionsystem_serialisation/serialise_fields.jl | 2 +- test/network_analysis/conservation_laws.jl | 8 ++++---- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 96ee424681..cb9a7e64f4 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -56,7 +56,7 @@ pmap = [k => rand(4)] ``` While one can still manually scalarize a parameter array, it is recommended - *not* to do this as it has signifcant performance costs with ModelingToolkit + *not* to do this as it has significant performance costs with ModelingToolkit v9. Note, scalarized parameter arrays passed to the two-argument `ReactionSystem` constructor may become unscalarized. - **BREAKING:** We have introduced a restriction on bundling of reactions in the diff --git a/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md b/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md index 1007131ec2..91801ef156 100644 --- a/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md +++ b/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md @@ -134,4 +134,4 @@ plot!(sol_n20; idxs = :Xend, label = "n = 20") ## References [^1]: [N. Korsbo, H. Jönsson *It’s about time: Analysing simplifying assumptions for modelling multi-step pathways in systems biology*, PLoS Computational Biology (2020).](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007982) [^2]: [J. Metz, O. Diekmann *The Abstract Foundations of Linear Chain Trickery* (1991).](https://ir.cwi.nl/pub/1559/1559D.pdf) -[^3]: D. Fargue *Reductibilite des systemes hereditaires a des systemes dynamiques (regis par des equations differentielles aux derivees partielles)*, Comptes rendus de l'Académie des Sciences (1973). +[^3]: D. Fargue *Reductibilite des systems hereditaires a des systems dynamiques (regis par des equations differentielles aux derivees partielles)*, Comptes rendus de l'Académie des Sciences (1973). diff --git a/ext/CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl b/ext/CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl index b9189b68fc..1c3ef4ab05 100644 --- a/ext/CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl +++ b/ext/CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl @@ -81,7 +81,7 @@ end """ assess_identifiability(rs::ReactionSystem, args...; measured_quantities = [], known_p = [], remove_conserved = true, ignore_no_measured_warn=false, kwargs...) -Applies StructuralIdentifiability.jl's `assess_identifiability` function to a Catalyst `ReactionSystem`. Internally it is converted ot a `ODESystem`, for which structural identifiability is computed. +Applies StructuralIdentifiability.jl's `assess_identifiability` function to a Catalyst `ReactionSystem`. Internally it is converted to a `ODESystem`, for which structural identifiability is computed. Arguments: - `rs::ReactionSystem`; The reaction system we wish to compute structural identifiability for. @@ -123,7 +123,7 @@ end """ find_identifiable_functions(rs::ReactionSystem, args...; measured_quantities = [], known_p = [], remove_conserved = true, ignore_no_measured_warn=false, kwargs...) -Applies StructuralIdentifiability.jl's `find_identifiable_functions` function to a Catalyst `ReactionSystem`. Internally it is converted ot a `ODESystem`, for which structurally identifiable functions are computed. +Applies StructuralIdentifiability.jl's `find_identifiable_functions` function to a Catalyst `ReactionSystem`. Internally it is converted to a `ODESystem`, for which structurally identifiable functions are computed. Arguments: - `rs::ReactionSystem`; The reaction system we wish to compute structural identifiability for. diff --git a/src/reactionsystem.jl b/src/reactionsystem.jl index e35f308b4f..6bd02f54c1 100644 --- a/src/reactionsystem.jl +++ b/src/reactionsystem.jl @@ -383,8 +383,8 @@ struct ReactionSystem{V <: NetworkProperties} <: end end -# Checks if a symbolic expression constains a differential with respect to a species (either directly -# or somehwere within the differential expression). +# Checks if a symbolic expression contains a differential with respect to a species (either directly +# or somewhere within the differential expression). function is_species_diff(expr) Symbolics.is_derivative(expr) || return false return hasnode(ex -> (ex isa Symbolics.BasicSymbolic) && isspecies(ex) && !isbc(ex), expr) diff --git a/src/reactionsystem_conversions.jl b/src/reactionsystem_conversions.jl index d4a69bd7f1..f55a6770d9 100644 --- a/src/reactionsystem_conversions.jl +++ b/src/reactionsystem_conversions.jl @@ -1037,7 +1037,7 @@ function JumpProcesses.JumpProblem(rs::ReactionSystem, prob::SciMLBase.AbstractD expand_catalyst_funs = true, checks = false, kwargs...) Base.depwarn("JumpProblem(rn::ReactionSystem, prob, ...) is \ deprecated and will be removed in Catalyst 16. Use \ - JumpProblem(JumpInputs(rn, ...), ...) insead.", :JumpProblem) + JumpProblem(JumpInputs(rn, ...), ...) instead.", :JumpProblem) jsys = convert(JumpSystem, rs; name, combinatoric_ratelaws, expand_catalyst_funs, checks) jsys = complete(jsys) @@ -1160,7 +1160,7 @@ symmap_to_varmap(sys, symmap) = symmap ### Other Conversion-related Functions ### # the following function is adapted from SymbolicUtils.jl v.19 -# later on (Spetember 2023) modified by Torkel and Shashi (now assumes input not on polynomial form, which is handled elsewhere, previous version failed in these cases anyway). +# later on (September 2023) modified by Torkel and Shashi (now assumes input not on polynomial form, which is handled elsewhere, previous version failed in these cases anyway). # Copyright (c) 2020: Shashi Gowda, Yingbo Ma, Mason Protter, Julia Computing. # MIT license """ diff --git a/src/reactionsystem_serialisation/serialise_fields.jl b/src/reactionsystem_serialisation/serialise_fields.jl index 133c770877..26d39b88ff 100644 --- a/src/reactionsystem_serialisation/serialise_fields.jl +++ b/src/reactionsystem_serialisation/serialise_fields.jl @@ -539,7 +539,7 @@ end # Creates an annotation for the system's systems. function get_systems_annotation(rn::ReactionSystem) - return "Subystems:" + return "Subsystems:" end # Combines the 3 systems-related functions in a constant tuple. diff --git a/test/network_analysis/conservation_laws.jl b/test/network_analysis/conservation_laws.jl index 0078ddf3d4..b277a50c89 100644 --- a/test/network_analysis/conservation_laws.jl +++ b/test/network_analysis/conservation_laws.jl @@ -337,9 +337,9 @@ end # Goes through a chain of updating of conservation law constants/species, checking that # the values of relevant quantities are correct after each step. -# Generally, if `Γ` has not been explicitly updated, it will be updated to acomodate new species +# Generally, if `Γ` has not been explicitly updated, it will be updated to accommodate new species # values. If it has been explicitly updated, the corresponding eliminated quantity will have its -# value updated to acomodate new Γ/species values (however, we have to manually designate this by setting it to `nothing`). +# value updated to accommodate new Γ/species values (however, we have to manually designate this by setting it to `nothing`). # Also checks that quantities are correctly updated in integrators and solutions derived from problems. let # Prepares the problem inputs and computes the conservation equation. @@ -399,7 +399,7 @@ let # - The conservation law constant will be kept fixed, and secondary updates are made to the # eliminated species. # Assumes that X3 is the eliminated species. In most updates, designate its as `nothing` (to - # ensure that its value is updated to acommodate the new conservation law). + # ensure that its value is updated to accommodate the new conservation law). # The random Γ is ensured to be large enough not to generate negative values in the eliminated species. for _ in 1:3 # Updates Γ, checks the values of all species and Γ, then resets `prob_old`. @@ -509,7 +509,7 @@ let u0 = [:X1 => 1.0, :X2 => 2.0, :X3 => 3.0] ps = [:k1 => 0.1, :k2 => 0.2, :k3 => 0.3, :k4 => 0.4] - # Checks that the warning si given and can be supressed for the variosu cases. + # Checks that the warning si given and can be suppressed for the variosu cases. @test_nowarn convert(NonlinearSystem, rn; remove_conserved = true, conseqs_remake_warn = false) @test_logs (:warn, r"Note, when constructing*") convert(NonlinearSystem, rn; remove_conserved = true, conseqs_remake_warn = true) @test_nowarn NonlinearProblem(rn, u0, ps; remove_conserved = true, conseqs_remake_warn = false) From 817e63f0f5eee9b67ce70b18b6e97833fd66beb6 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Jul 2025 02:32:11 -0400 Subject: [PATCH 2/7] Add comprehensive _typos.toml configuration\n\nAdd GitHub Actions typos checking workflow --- .github/workflows/typos.yml | 20 +++++++ _typos.toml | 109 ++++++++++++++++++++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 .github/workflows/typos.yml create mode 100644 _typos.toml diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml new file mode 100644 index 0000000000..ffa64b9621 --- /dev/null +++ b/.github/workflows/typos.yml @@ -0,0 +1,20 @@ +name: Typos Check + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + typos-check: + name: Check for typos + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Check for typos + uses: crate-ci/typos@master + with: + config: ./_typos.toml diff --git a/_typos.toml b/_typos.toml new file mode 100644 index 0000000000..2b16ca9dbc --- /dev/null +++ b/_typos.toml @@ -0,0 +1,109 @@ +# Typos configuration for SciML repositories + +[files] +extend-exclude = [ + "*.png", + "*.jpg", + "*.jpeg", + "*.gif", + "*.svg", + "*.pdf", + "*.woff", + "*.woff2", + "*.ttf", + "*.eot", + "*/build/*", + "*/node_modules/*", + "*/.git/*", + "*.lock", + "Manifest.toml" +] + +[default.extend-words] +# Julia-specific functions +indexin = "indexin" +findfirst = "findfirst" +findlast = "findlast" +eachindex = "eachindex" +setp = "setp" +getp = "getp" +setu = "setu" +getu = "getu" + +# Mathematical/scientific terms +jacobian = "jacobian" +hessian = "hessian" +eigenvalue = "eigenvalue" +eigenvector = "eigenvector" +discretization = "discretization" +linearization = "linearization" +parameterized = "parameterized" +discretized = "discretized" +vectorized = "vectorized" + +# Common variable patterns in Julia/SciML +ists = "ists" +ispcs = "ispcs" +osys = "osys" +rsys = "rsys" +usys = "usys" +fsys = "fsys" +eqs = "eqs" +rhs = "rhs" +lhs = "lhs" +ode = "ode" +pde = "pde" +sde = "sde" +dde = "dde" +bvp = "bvp" +ivp = "ivp" + +# Common abbreviations +tol = "tol" +rtol = "rtol" +atol = "atol" +idx = "idx" +jdx = "jdx" +prev = "prev" +curr = "curr" +init = "init" +tmp = "tmp" +vec = "vec" +arr = "arr" +dt = "dt" +du = "du" +dx = "dx" +dy = "dy" +dz = "dz" + +# Algorithm/type suffixes +alg = "alg" +prob = "prob" +sol = "sol" +cb = "cb" +opts = "opts" +args = "args" +kwargs = "kwargs" + +# Biological/chemical terms (from Catalyst.jl context) +Pase = "Pase" +KKPase = "KKPase" +KKPKKPase = "KKPKKPase" +KKPPKKPase = "KKPPKKPase" + +# Common scientific abbreviations +ND = "ND" +nd = "nd" + +# SVG/auto-generated identifiers (common patterns) +daa = "daa" +myu = "myu" + +# Units and dimensions +nd = "nd" + +# Common Julia package/module abbreviations +MT = "MT" +ODE = "ODE" +PDE = "PDE" +SDE = "SDE" From 0b1c078e03770c13187e088d9271d11cf8c01b07 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Jul 2025 02:48:00 -0400 Subject: [PATCH 3/7] Add comprehensive .typos.toml configuration, SpellCheck.yml workflow --- .github/workflows/SpellCheck.yml | 13 +++++ .typos.toml | 94 ++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 .github/workflows/SpellCheck.yml create mode 100644 .typos.toml diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml new file mode 100644 index 0000000000..ed4fe17798 --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,13 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v4 + - name: Check spelling + uses: crate-ci/typos@v1.18.0 diff --git a/.typos.toml b/.typos.toml new file mode 100644 index 0000000000..69727f9915 --- /dev/null +++ b/.typos.toml @@ -0,0 +1,94 @@ +# Typos configuration for SciML repositories + +[files] +extend-exclude = [ + "*.png", + "*.jpg", + "*.jpeg", + "*.gif", + "*.svg", + "*.pdf", + "*.woff", + "*.woff2", + "*.ttf", + "*.eot", + "*/build/*", + "*/node_modules/*", + "*/.git/*", + "*.lock", + "Manifest.toml" +] + +[default.extend-words] +# Julia-specific functions +indexin = "indexin" +findfirst = "findfirst" +findlast = "findlast" +eachindex = "eachindex" +setp = "setp" +getp = "getp" +setu = "setu" +getu = "getu" + +# Mathematical/scientific terms +jacobian = "jacobian" +hessian = "hessian" +eigenvalue = "eigenvalue" +eigenvector = "eigenvector" +discretization = "discretization" +linearization = "linearization" +parameterized = "parameterized" +discretized = "discretized" +vectorized = "vectorized" + +# Common variable patterns in Julia/SciML +ists = "ists" +ispcs = "ispcs" +osys = "osys" +rsys = "rsys" +usys = "usys" +fsys = "fsys" +eqs = "eqs" +rhs = "rhs" +lhs = "lhs" +ode = "ode" +pde = "pde" +sde = "sde" +dde = "dde" +bvp = "bvp" +ivp = "ivp" + +# Common abbreviations +tol = "tol" +rtol = "rtol" +atol = "atol" +idx = "idx" +jdx = "jdx" +prev = "prev" +curr = "curr" +init = "init" +tmp = "tmp" +vec = "vec" +arr = "arr" +dt = "dt" +du = "du" +dx = "dx" +dy = "dy" +dz = "dz" + +# Algorithm/type suffixes +alg = "alg" +prob = "prob" +sol = "sol" +cb = "cb" +opts = "opts" +args = "args" +kwargs = "kwargs" + +# Scientific abbreviations +ND = "ND" +nd = "nd" +MTK = "MTK" +ODE = "ODE" +PDE = "PDE" +SDE = "SDE" From 170fb78254fea37baa6a5244a93572c30189bc7a Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Jul 2025 03:14:30 -0400 Subject: [PATCH 4/7] Add .typos.toml configuration + Add SpellCheck.yml workflow --- .typos.toml | 23 +---------- _typos.toml | 109 ---------------------------------------------------- 2 files changed, 1 insertion(+), 131 deletions(-) delete mode 100644 _typos.toml diff --git a/.typos.toml b/.typos.toml index 69727f9915..f9a460f2eb 100644 --- a/.typos.toml +++ b/.typos.toml @@ -1,24 +1,3 @@ -# Typos configuration for SciML repositories - -[files] -extend-exclude = [ - "*.png", - "*.jpg", - "*.jpeg", - "*.gif", - "*.svg", - "*.pdf", - "*.woff", - "*.woff2", - "*.ttf", - "*.eot", - "*/build/*", - "*/node_modules/*", - "*/.git/*", - "*.lock", - "Manifest.toml" -] - [default.extend-words] # Julia-specific functions indexin = "indexin" @@ -32,7 +11,7 @@ getu = "getu" # Mathematical/scientific terms jacobian = "jacobian" -hessian = "hessian" +hessian = "hessian" eigenvalue = "eigenvalue" eigenvector = "eigenvector" discretization = "discretization" diff --git a/_typos.toml b/_typos.toml deleted file mode 100644 index 2b16ca9dbc..0000000000 --- a/_typos.toml +++ /dev/null @@ -1,109 +0,0 @@ -# Typos configuration for SciML repositories - -[files] -extend-exclude = [ - "*.png", - "*.jpg", - "*.jpeg", - "*.gif", - "*.svg", - "*.pdf", - "*.woff", - "*.woff2", - "*.ttf", - "*.eot", - "*/build/*", - "*/node_modules/*", - "*/.git/*", - "*.lock", - "Manifest.toml" -] - -[default.extend-words] -# Julia-specific functions -indexin = "indexin" -findfirst = "findfirst" -findlast = "findlast" -eachindex = "eachindex" -setp = "setp" -getp = "getp" -setu = "setu" -getu = "getu" - -# Mathematical/scientific terms -jacobian = "jacobian" -hessian = "hessian" -eigenvalue = "eigenvalue" -eigenvector = "eigenvector" -discretization = "discretization" -linearization = "linearization" -parameterized = "parameterized" -discretized = "discretized" -vectorized = "vectorized" - -# Common variable patterns in Julia/SciML -ists = "ists" -ispcs = "ispcs" -osys = "osys" -rsys = "rsys" -usys = "usys" -fsys = "fsys" -eqs = "eqs" -rhs = "rhs" -lhs = "lhs" -ode = "ode" -pde = "pde" -sde = "sde" -dde = "dde" -bvp = "bvp" -ivp = "ivp" - -# Common abbreviations -tol = "tol" -rtol = "rtol" -atol = "atol" -idx = "idx" -jdx = "jdx" -prev = "prev" -curr = "curr" -init = "init" -tmp = "tmp" -vec = "vec" -arr = "arr" -dt = "dt" -du = "du" -dx = "dx" -dy = "dy" -dz = "dz" - -# Algorithm/type suffixes -alg = "alg" -prob = "prob" -sol = "sol" -cb = "cb" -opts = "opts" -args = "args" -kwargs = "kwargs" - -# Biological/chemical terms (from Catalyst.jl context) -Pase = "Pase" -KKPase = "KKPase" -KKPKKPase = "KKPKKPase" -KKPPKKPase = "KKPPKKPase" - -# Common scientific abbreviations -ND = "ND" -nd = "nd" - -# SVG/auto-generated identifiers (common patterns) -daa = "daa" -myu = "myu" - -# Units and dimensions -nd = "nd" - -# Common Julia package/module abbreviations -MT = "MT" -ODE = "ODE" -PDE = "PDE" -SDE = "SDE" From b0736432d95ce51cbfab63bbc88f5f270765a765 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Jul 2025 03:24:59 -0400 Subject: [PATCH 5/7] Remove duplicate typos.yml workflow --- .github/workflows/typos.yml | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 .github/workflows/typos.yml diff --git a/.github/workflows/typos.yml b/.github/workflows/typos.yml deleted file mode 100644 index ffa64b9621..0000000000 --- a/.github/workflows/typos.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Typos Check - -on: - push: - branches: [ main, master ] - pull_request: - branches: [ main, master ] - -jobs: - typos-check: - name: Check for typos - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Check for typos - uses: crate-ci/typos@master - with: - config: ./_typos.toml From 0ebaa9f371711e88e773e86a00f7315e3d8c4571 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Tue, 29 Jul 2025 09:32:25 -0400 Subject: [PATCH 6/7] Update .typos.toml --- .typos.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.typos.toml b/.typos.toml index f9a460f2eb..9d492974fa 100644 --- a/.typos.toml +++ b/.typos.toml @@ -1,4 +1,7 @@ [default.extend-words] +# Catalyst specific +systemes = "systemes" + # Julia-specific functions indexin = "indexin" findfirst = "findfirst" From 4caae226efcde1e2938ff6b093d342b7335daba4 Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Tue, 29 Jul 2025 09:32:33 -0400 Subject: [PATCH 7/7] Update docs/src/model_creation/examples/programmatic_generative_linear_pathway.md --- .../examples/programmatic_generative_linear_pathway.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md b/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md index 91801ef156..1007131ec2 100644 --- a/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md +++ b/docs/src/model_creation/examples/programmatic_generative_linear_pathway.md @@ -134,4 +134,4 @@ plot!(sol_n20; idxs = :Xend, label = "n = 20") ## References [^1]: [N. Korsbo, H. Jönsson *It’s about time: Analysing simplifying assumptions for modelling multi-step pathways in systems biology*, PLoS Computational Biology (2020).](https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007982) [^2]: [J. Metz, O. Diekmann *The Abstract Foundations of Linear Chain Trickery* (1991).](https://ir.cwi.nl/pub/1559/1559D.pdf) -[^3]: D. Fargue *Reductibilite des systems hereditaires a des systems dynamiques (regis par des equations differentielles aux derivees partielles)*, Comptes rendus de l'Académie des Sciences (1973). +[^3]: D. Fargue *Reductibilite des systemes hereditaires a des systemes dynamiques (regis par des equations differentielles aux derivees partielles)*, Comptes rendus de l'Académie des Sciences (1973).