SciML / Catalyst.jl

Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software.
https://docs.sciml.ai/Catalyst/stable/
Other
463 stars 78 forks source link

Reenable StructuralIdentifiability tests and tutorial once fixed #1068

Open isaacsas opened 1 month ago

isaacsas commented 1 month ago

https://github.com/SciML/Catalyst.jl/pull/1070 disabled StructuralIdentifiability tests and added a warning in the docs about it having issues. Once they are resolved we should reenable the tests.

isaacsas commented 1 month ago

To record what has been investigated here, @TorkelE pointed out on Slack this seems to completely hang Julia:

function testSI()
    t = ModelingToolkit.t_nounits
    D = ModelingToolkit.D_nounits
    @variables X(t)
    @parameters p d
    eqs = [
        D(X) ~ p - d*X
    ]
    @mtkbuild osys = ODESystem(eqs, t)
    measured_quantities = [X]    
    funcs_to_check = [osys.p]

    SI.assess_identifiability(osys; measured_quantities, funcs_to_check)
end

Changing to funcs_to_check = [p] seemed to fix the issue. Note I had reported on Slack that removing logging fixed the issue for me, but that doesn't seem to be true currently (so perhaps it was from a polluted environment in some way).

isaacsas commented 1 month ago

CC: https://github.com/SciML/StructuralIdentifiability.jl/issues/360

isaacsas commented 1 month ago

Docs and extension are fully disabled now via: https://github.com/SciML/Catalyst.jl/pull/1074#pullrequestreview-2357510018 so that will need to be reverted when it starts working again.