sebapersson / PEtab.jl

Create parameter estimation problems for ODE models
https://sebapersson.github.io/PEtab.jl/stable/
MIT License
35 stars 5 forks source link

Best place to ask questions? #204

Closed langestefan closed 1 week ago

langestefan commented 1 week ago

Hello,

Thanks for the great package, I watched your presentation at Juliacon Eindhoven and I am very eager to try it and apply it to my problem.

In case I run into issues (which I think are user error), what is the best place to ask questions? Some github repositories use discussions, but I can imagine you prefer discourse.?

sebapersson commented 1 week ago

This is a great question, and I should definitely add this information to the docs! I am not that active on the discourse, I rather prefer #sciml-sysbio channel on the Julia Slack.

langestefan commented 1 week ago

So is this package really meant for systems biology then? I thought that was just the data format part. (my problem is from a completely different field)

sebapersson commented 1 week ago

The short answer is that this package is a general package for setting up parameter estimation problems for ODE models in Julia (as seen in this tutorial where the model is defined as a ModelingToolkit ODESystem). I am just a bit biased towards the #sciml-sysbio channel as my research field is systems biology :)

For the longer answer, you are correct that the PEtab standard format, which this package can import (and actually translates problems into behind the scenes when problems are defined in Julia), is primarily for systems biology since models are expected to be in the SBML format. However, parameter estimation problem setups in systems biology, and by extension the PEtab standard, can vary a lot. Therefore, the PEtab standard covers many different scenarios that can also be encountered in other fields, where the only real difference is that the dynamic model is not a systems biology ODE model. To make the package accessible to other field is actually a main reason why I made it possible to define the model in Julia using ODESystem (originally, the package only supported importing the standard format). Given this, it also makes sense to ask questions about the package in the #sciml-bridged channel.

The only real consequence of not having a systems biology model is that the default ODE solver might not be optimal. In my field, models are often stiff, which is reflected in the default ODE solver (more on this here). If your dynamic model is not stiff, you can improve performance by using a composite solver when creating a PEtabODEProblem:

model = PEtabModel(...)
osolver = ODESolver(AutoVern7(Rodas5P()))
prob = PEtabODEProblem(model; ode_solver=osolver)

Your question is a good and valid one I did not think to much about before, and I will add a section to the documentation on considerations for other fields. I hope this somewhat lengthy answer addresses your question!

langestefan commented 1 week ago

I see, thanks a lot for your elaborate answer. Good to hear this package is intended for general-purpose parameter estimation problems.