From b64ee55ccb0623c740e7eb7571431e64952e5961 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 08:23:50 -0500 Subject: [PATCH 1/9] try enabling SI on 1.11 --- test/runtests.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 1c6f6fa76f..91f6cecfe9 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -86,8 +86,10 @@ end @time @safetestset "BifurcationKit Extension" begin include("extensions/bifurcation_kit.jl") end @time @safetestset "HomotopyContinuation Extension" begin include("extensions/homotopy_continuation.jl") end - # BROKEN - # @time @safetestset "Structural Identifiability Extension" begin include("extensions/structural_identifiability.jl") end + # BROKEN on 1.10 and earlier 1.11 releases + if VERSION >= v"1.11.2" + @time @safetestset "Structural Identifiability Extension" begin include("extensions/structural_identifiability.jl") end + end # Tests stability computation (but requires the HomotopyContinuation extension). #@time @safetestset "Steady State Stability Computations" begin include("extensions/stability_computation.jl") end From a7515205d5f57c9f5576b837b0897fa86a5ef0f7 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 08:30:43 -0500 Subject: [PATCH 2/9] add warning for earlier Julia versions --- Project.toml | 6 +++--- docs/Project.toml | 2 ++ docs/pages.jl | 2 +- ext/CatalystStructuralIdentifiabilityExtension.jl | 6 ++++-- test/extensions/Project.toml | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Project.toml b/Project.toml index 4e6035d919..030dd24d82 100644 --- a/Project.toml +++ b/Project.toml @@ -33,14 +33,14 @@ CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2" HomotopyContinuation = "f213a82b-91d6-5c5d-acf7-10f1c761b327" NetworkLayout = "46757867-2c16-5918-afeb-47bfcb05e46a" -# StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544" +StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544" [extensions] CatalystBifurcationKitExtension = "BifurcationKit" CatalystCairoMakieExtension = "CairoMakie" CatalystGraphMakieExtension = ["GraphMakie", "NetworkLayout"] CatalystHomotopyContinuationExtension = "HomotopyContinuation" -# CatalystStructuralIdentifiabilityExtension = "StructuralIdentifiability" +CatalystStructuralIdentifiabilityExtension = "StructuralIdentifiability" [compat] BifurcationKit = "0.4.4" @@ -66,7 +66,7 @@ Requires = "1.0" RuntimeGeneratedFunctions = "0.5.12" SciMLBase = "2.57.2" Setfield = "1" -# StructuralIdentifiability = "0.5.8" +StructuralIdentifiability = "0.5.11" SymbolicUtils = "3.8.1" Symbolics = "6.22" Unitful = "1.12.4" diff --git a/docs/Project.toml b/docs/Project.toml index 73163c65ef..e8048af482 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -41,6 +41,7 @@ SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f" StochasticDiffEq = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0" +StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544" Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" [compat] @@ -85,4 +86,5 @@ SpecialFunctions = "2.4" StaticArrays = "1.9" SteadyStateDiffEq = "2.2" StochasticDiffEq = "6.65" +StructuralIdentifiability = "0.5.11" Symbolics = "6.22" diff --git a/docs/pages.jl b/docs/pages.jl index bc77aaf459..a5aaeae785 100644 --- a/docs/pages.jl +++ b/docs/pages.jl @@ -48,7 +48,7 @@ pages = Any[ "inverse_problems/petab_ode_param_fitting.md", "inverse_problems/optimization_ode_param_fitting.md", "inverse_problems/behaviour_optimisation.md", - # "inverse_problems/structural_identifiability.md", + "inverse_problems/structural_identifiability.md", "inverse_problems/global_sensitivity_analysis.md", "Examples" => Any[ "inverse_problems/examples/ode_fitting_oscillation.md" diff --git a/ext/CatalystStructuralIdentifiabilityExtension.jl b/ext/CatalystStructuralIdentifiabilityExtension.jl index b1ce7566a0..d61b0740ca 100644 --- a/ext/CatalystStructuralIdentifiabilityExtension.jl +++ b/ext/CatalystStructuralIdentifiabilityExtension.jl @@ -6,6 +6,8 @@ import DataStructures.OrderedDict import StructuralIdentifiability as SI # Creates and exports make_si_ode function. -include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") - +if VERSION >= v"1.11.2" + include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") +else + @warn "Due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360, CatalystStructuralIdentifiabilityExtension.jl is only compatible with Julia v1.11.2 or later." end diff --git a/test/extensions/Project.toml b/test/extensions/Project.toml index 416164f8ba..6e7773c76d 100644 --- a/test/extensions/Project.toml +++ b/test/extensions/Project.toml @@ -10,4 +10,4 @@ ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78" OrdinaryDiffEqDefault = "50262376-6c5a-4cf5-baba-aaf4f84d72d7" OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a" SteadyStateDiffEq = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f" -# StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544" \ No newline at end of file +StructuralIdentifiability = "220ca800-aa68-49bb-acd8-6037fa93a544" \ No newline at end of file From dc9620c4c31b11afdd7136099ed70ef6aaaea21e Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 08:32:28 -0500 Subject: [PATCH 3/9] move SI tutorial back in place --- .../steady_state_functionality}/structural_identifiability.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{unpublished => src/steady_state_functionality}/structural_identifiability.md (100%) diff --git a/docs/unpublished/structural_identifiability.md b/docs/src/steady_state_functionality/structural_identifiability.md similarity index 100% rename from docs/unpublished/structural_identifiability.md rename to docs/src/steady_state_functionality/structural_identifiability.md From b0451dc570d154ca539b39c0929631b86a2b90e3 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 08:43:47 -0500 Subject: [PATCH 4/9] don't build HC tutorial --- docs/pages.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pages.jl b/docs/pages.jl index a5aaeae785..2c6ffe0261 100644 --- a/docs/pages.jl +++ b/docs/pages.jl @@ -38,7 +38,7 @@ pages = Any[ ] ], "Steady state analysis" => Any[ - "steady_state_functionality/homotopy_continuation.md", + # "steady_state_functionality/homotopy_continuation.md", "steady_state_functionality/nonlinear_solve.md", "steady_state_functionality/steady_state_stability_computation.md", "steady_state_functionality/bifurcation_diagrams.md", From 57c8e2dd3e326fae1a3bcec3f809fd2d7bd36276 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 09:00:20 -0500 Subject: [PATCH 5/9] change up extension conditional --- ext/CatalystStructuralIdentifiabilityExtension.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/CatalystStructuralIdentifiabilityExtension.jl b/ext/CatalystStructuralIdentifiabilityExtension.jl index d61b0740ca..700c146748 100644 --- a/ext/CatalystStructuralIdentifiabilityExtension.jl +++ b/ext/CatalystStructuralIdentifiabilityExtension.jl @@ -5,9 +5,9 @@ using Catalyst import DataStructures.OrderedDict import StructuralIdentifiability as SI -# Creates and exports make_si_ode function. -if VERSION >= v"1.11.2" - include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") -else - @warn "Due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360, CatalystStructuralIdentifiabilityExtension.jl is only compatible with Julia v1.11.2 or later." +@static if VERSION < v"1.11.2" + @warn "Due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360, CatalystStructuralIdentifiabilityExtension.jl is only tested with Julia v1.11.2 or later. Its use is not recommended on earlier Julia versions." end + +# Creates and exports make_si_ode function. +include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") \ No newline at end of file From 4a5191ab71fc9185dc5c9be99febf66a28156ae5 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 09:11:45 -0500 Subject: [PATCH 6/9] comment out correct issue --- docs/pages.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/pages.jl b/docs/pages.jl index 2c6ffe0261..a4d55dc6d4 100644 --- a/docs/pages.jl +++ b/docs/pages.jl @@ -38,9 +38,9 @@ pages = Any[ ] ], "Steady state analysis" => Any[ - # "steady_state_functionality/homotopy_continuation.md", + "steady_state_functionality/homotopy_continuation.md", "steady_state_functionality/nonlinear_solve.md", - "steady_state_functionality/steady_state_stability_computation.md", + #"steady_state_functionality/steady_state_stability_computation.md", "steady_state_functionality/bifurcation_diagrams.md", "steady_state_functionality/dynamical_systems.md" ], From c3a62d5a8b2c066fefa045cba356f8d51f333b56 Mon Sep 17 00:00:00 2001 From: Sam Isaacson Date: Thu, 9 Jan 2025 09:29:59 -0500 Subject: [PATCH 7/9] add end to module --- ext/CatalystStructuralIdentifiabilityExtension.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/CatalystStructuralIdentifiabilityExtension.jl b/ext/CatalystStructuralIdentifiabilityExtension.jl index 700c146748..ebf46c2c96 100644 --- a/ext/CatalystStructuralIdentifiabilityExtension.jl +++ b/ext/CatalystStructuralIdentifiabilityExtension.jl @@ -6,8 +6,10 @@ import DataStructures.OrderedDict import StructuralIdentifiability as SI @static if VERSION < v"1.11.2" - @warn "Due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360, CatalystStructuralIdentifiabilityExtension.jl is only tested with Julia v1.11.2 or later. Its use is not recommended on earlier Julia versions." + @warn "CatalystStructuralIdentifiabilityExtension.jl is only tested with Julia v1.11.2 or later due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360. Its use is not recommended on earlier Julia versions." end # Creates and exports make_si_ode function. -include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") \ No newline at end of file +include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") + +end \ No newline at end of file From 04ba45d59a83103052fc33da2dbe17a73ec58a14 Mon Sep 17 00:00:00 2001 From: Torkel Loman Date: Wed, 22 Jan 2025 10:23:42 +0000 Subject: [PATCH 8/9] Update runtests.jl to 1.11.3 requirement --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index a3ed2ba1c0..f8a4d9b593 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -82,7 +82,7 @@ end @time @safetestset "HomotopyContinuation Extension" begin include("extensions/homotopy_continuation.jl") end # BROKEN on 1.10 and earlier 1.11 releases - if VERSION >= v"1.11.2" + if VERSION >= v"1.11.3" @time @safetestset "Structural Identifiability Extension" begin include("extensions/structural_identifiability.jl") end end From 84ce6e8a235c206584524afea60c300942e78743 Mon Sep 17 00:00:00 2001 From: Torkel Loman Date: Wed, 22 Jan 2025 10:24:00 +0000 Subject: [PATCH 9/9] Update CatalystStructuralIdentifiabilityExtension.jl to 1.11.3 requirement --- ext/CatalystStructuralIdentifiabilityExtension.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/CatalystStructuralIdentifiabilityExtension.jl b/ext/CatalystStructuralIdentifiabilityExtension.jl index ebf46c2c96..318b1ad59a 100644 --- a/ext/CatalystStructuralIdentifiabilityExtension.jl +++ b/ext/CatalystStructuralIdentifiabilityExtension.jl @@ -5,11 +5,11 @@ using Catalyst import DataStructures.OrderedDict import StructuralIdentifiability as SI -@static if VERSION < v"1.11.2" +@static if VERSION < v"1.11.3" @warn "CatalystStructuralIdentifiabilityExtension.jl is only tested with Julia v1.11.2 or later due to https://github.com/SciML/StructuralIdentifiability.jl/issues/360. Its use is not recommended on earlier Julia versions." end # Creates and exports make_si_ode function. include("CatalystStructuralIdentifiabilityExtension/structural_identifiability_extension.jl") -end \ No newline at end of file +end