Hi everyone,
I am importing an SBML file and try to change the initial condition and remake the problem but I get the following error:
ERROR: ArgumentError: This problem does not support symbolic maps with remake
, i.e. it does not have a symbolic origin. Please use remake
with the p
keyword argument as a vector of values, paying attention to parameter order.
It used to work but does not now. Here is an example of my code:
using SBMLToolkit
using DifferentialEquations, ModelingToolkit
using SBML, Symbolics, Catalyst
SBMLToolkit.checksupport_file("sbml_file.xml");
mdl = readSBML("sbml_file.xml");
rn = ReactionSystem(mdl);
odesys = convert(ODESystem, rn);
T=300.0;
tspan = (0.0, T);
prob = ODEProblem(odesys, Float64[], tspan, Float64[]);
defs = ModelingToolkit.defaults(odesys);
getval(v) = defs[v];
pmap = parameters(odesys) .=> getval.(parameters(odesys));
u0map = states(odesys) .=> getval.(states(odesys));
p = getval.(parameters(odesys));
p[1] = 10.0 ; # change the value of an initial condition to 10.0
for (idx, param) in enumerate(p)
pmap[idx] = pmap[idx][1] => param
end
prob2 = remake(prob; p=pmap, u0=u0map)