Open dweindl opened 4 years ago
Not my circus, not my monkeys. I don't think this lies in the repsonsibility of AMICI to take care of these things.
You can set arbitrary initial functions through ExpData.x0
or model.setInitialStates()
. If you need sensitivities though, you will have to modify the sbml.
We will need that for PEtab import, but can also be implemented by transiently creating the respective initial assignments in the SBML model.
The same applies to PEtab. Whats the problem with properly formatting your SBML model? Transiently adding stuff to SBML models just leads to incompatibilities for others tools. How are you going to communicate those parameters back to people who want to use copasi/roadrunner?
Similar thing as in #922, I wouldn't say that SBML initial assignments are there to mark parameters to be estimated or to compute sensitivities w.r.t. them. This is how AMICI interprets it. If this is portable to anywhere, then it's just by chance. According to the SBML specs, "the reason for the existence of InitialAssignment [is]: to permit the calculation of the value of a constant or the initial value of a variable from the values of other quantities in a model."
But this is not my main point. We want to be able to use models that were not initially designed with parameter estimation in mind, without modification. If there is some other standardized way of doing this, great.
Okay reading through the initial values section of the sbml spec again you are right.
I really don't like the idea of passing this kind of stuff as arguments to sbml2amici
as I think code is not a good way to document these things in a sustainable/portable way. How about a .yaml configuration file?
Sounds good to me. As this would be more or less equivalent to passing some dict with a well-defined/documented structure, I would also allow for passing that directly.
Currently we need an SBML model with InitialAssignments for that. Although I am generally in favor of defining everything possible at the level of SBML, I think it would still be a helpful feature.