SciML / StructuralIdentifiability.jl

Fast and automatic structural identifiability software for ODE systems
https://docs.sciml.ai/StructuralIdentifiability/stable/
MIT License
112 stars 17 forks source link

Option for having a known initial condition #237

Closed TorkelE closed 9 months ago

TorkelE commented 12 months ago

Currently, StructuralIdentifiability estimates the identifiability of all initial conditions and parameters. If a parameter is known, it is easy to incorporate this through

si_ode = @ODEmodel(
    X1'(t) = p - k1*X1(t),
    X2'(t) = X1(t) -  X2(t),
    y1(t) = X2(t),
    y2(t) = p
)

However, having certain initial conditions being known is very plausible (especially in cases where you set up the experiments yourself, such as in chemistry).

If https://github.com/SciML/StructuralIdentifiability.jl/issues/236 gets solved (but I have no idea how hard that would be though), this would automatically become possible through:

si_ode = @ODEmodel(
    X1'(t) = p - k1*X1(t),
    X2'(t) = X1(t) -  X2(t),
    y1(t) = X2(t),
    y2(t) = X1(0)
)
pogudingleb commented 12 months ago

Yes, for generic known initial condition this should be doable, I should work on this at some point. Thanks!

pogudingleb commented 9 months ago

The functionality to add the known initial conditions (assuming that they are generic) has been added in release 0.5.4 (right now, for @ODEmodel macro only). An example is given in this tutorial

TorkelE commented 9 months ago

That's exciting to learn! Thanks :)