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
error("An non integer ($(arguments(expr)[2])) was found as a variable exponent. Non-integer exponents are not supported for homotopy continuation based steady state finding.")
72
76
end
@@ -95,7 +99,7 @@ function reorder_sols!(sols, ss_poly, rs::ReactionSystem)
95
99
end
96
100
97
101
# Filters away solutions with negative species concentrations (and for neg_thres < val < 0.0, sets val=0.0).
98
-
functionfilter_negative_f(sols; neg_thres=-1e-20)
102
+
functionfilter_negative_f(sols; neg_thres=-1e-20)
99
103
for sol in sols, idx in1:length(sol)
100
104
(neg_thres < sol[idx] <0) && (sol[idx] =0)
101
105
end
@@ -104,9 +108,13 @@ end
104
108
105
109
# Sometimes (when polynomials are created from coupled CRN/DAEs), the steady state polynomial have the wrong type.
106
110
# This converts it to the correct type, which homotopy continuation can handle.
# Creates the ODESystem corresponding to the ReactionSystem (expanding functions and flattening it).
159
165
# Creates a list of the systems all symbols (unknowns and parameters).
160
-
ModelingToolkit.iscomplete(rs) ||error("Identifiability should only be computed for complete systems. A ReactionSystem can be marked as complete using the `complete` function.")
166
+
if!ModelingToolkit.iscomplete(rs)
167
+
error("Identifiability should only be computed for complete systems. A ReactionSystem can be marked as complete using the `complete` function.")
conseqs; ignore_no_measured_warn =false) where {T, S}
182
191
# Warning if the user didn't give any measured quantities.
183
-
if ignore_no_measured_warn ||isempty(measured_quantities)
192
+
if ignore_no_measured_warn ||isempty(measured_quantities)
184
193
@warn"No measured quantity provided to the `measured_quantities` argument, any further identifiability analysis will likely fail. You can disable this warning by setting `ignore_no_measured_warn=true`."
185
194
end
186
195
@@ -192,7 +201,8 @@ function make_measured_quantities(rs::ReactionSystem, measured_quantities::Vecto
192
201
# Creates one internal observation variable for each measured quantity (`___internal_observables`).
193
202
# Creates a vector of equations, setting each measured quantity equal to one observation variable.
194
203
@variables t (___internal_observables(Catalyst.get_iv(rs)))[1:length(mqs)]
195
-
return Equation[(q isa Equation) ? q : (___internal_observables[i] ~ q) for (i,q) inenumerate(mqs)]
204
+
return Equation[(q isa Equation) ? q : (___internal_observables[i] ~ q)
205
+
for (i, q) inenumerate(mqs)]
196
206
end
197
207
198
208
# Creates the functions that we wish to check for identifiability.
0 commit comments