Closed leodarrigade closed 1 month ago
Hi,
I would suggest rewriting your PEtab problem to remove L_0
from the condition table, which should only include values/variables that are constant throughout time.
Instead, rename L_0
to L_0_conc
in your condition table, and add an initialAssignmentRule
in your SBML model that sets L_0(t=0) = L_0_conc
. You will need to add an SBML parameter for L_0_conc
. Let me know if the issue persists.
When I import this model with my Petab problem using
pyPESTO
PEtab importer and compile to AMICI, it definesL_0
as a StateId of the AMICI model
Hi, that is correct / intended. In AMICI, parameters are constant (unlike in SBML). Any target of an event assignment, assignment rule, or rate rule will be a state variable in the AMICI model.
@dweindl Thanks for the precision.
@dilpath Thank you, it is working fine with your solution. I think it could be useful to include in the PEtab documentation that parameters in the condition table cannot change values over time and be subject of event.
Great!
Agreed, currently there is ambiguity in the current version of the spec, and behavior could be tool-specific. The spec will be updated to specify how to handle "time-dependent" parameters, in the next version of PEtab. The issue is tracked at https://github.com/PEtab-dev/PEtab/issues/513
Hello, I am getting a bit lost on how to deal with an event in my PEtab problem. I have a parameter
L_0
in my SBML model, which is an initial concentration of hormone in an experiment. This parameter is defined as such in my SBML :This parameter is subject to an event : there is a time
t_wash
in the experiment where the hormone is removed from the media andL_0
is set to 0. The event is defined as follow in the SBML :Before the event (for time inferior to
t_wash
), this parameter takes condition specific values which are floats and specified in the condition table.When I import this model with my Petab problem using
pyPESTO
PEtab importer and compile to AMICI, it definesL_0
as a StateId of the AMICI model (see here). I don't know if this is an intended behavior, but if I don't set an event onL_0
, it does not appear in the StateIds list of the AMICI model.More importantly, when I set an event on
L_0
, the condition specific values forL_0
are not taken into account anymore and beforet_wash
,L_0
takes the dummy value that I specified when I defined the parameter in the SBML model (here it is 0, see above).Am I missing something and this is intended behavior ? I hope I managed to be clear.