Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification around Parameter Estimation Variables #46

Closed
Theo-BRN opened this issue Apr 4, 2024 · 2 comments
Closed

Clarification around Parameter Estimation Variables #46

Theo-BRN opened this issue Apr 4, 2024 · 2 comments

Comments

@Theo-BRN
Copy link

Theo-BRN commented Apr 4, 2024

Hey Frank,

I noticed that plot per experiment doesn't seem to return the current fit, if, randomize_start_values was set to True in the last run_parameter_estimation.

Additionally I was getting a bit confused with the rationale behind parameters 'storage' in parameter estimation, and I wondered if you could clarify some assumptions for me.

  • After running a simulation, is the solution stored in some kind of PE object, or just the output of the function itself?
  • Does the 'update_model' function argument, update the qlobal quantities or update the PE object with the solution?
    • It seems my model parameters change even though update_model is set to False
  • My overall assumption would be that some kind of PE object or class instance stores the solution to parameter estimation runs. And when setting update_model to True, you effectively run set_parameters(...) for those particular parameters, changing the global quantities to the solution parameters.

Thanks for any help you can offer with this! Hope you're doing well :-)

Best,
Theo

@fbergmann
Copy link
Member

Thanks for filing this issue let me get to the points in turn

  • the one thing for basico to change is clearly, that the plot functions (or rather get_current_solution) clearly needs to temporarily disable randomize_start_values. Because of the randomization, you are likely to hit an infeasible solution which results in you not getting a simulation result.

as to your questions about storage. All tasks in COPASI just modify the current models state. If update_model=False, then the initial state remains the same, and the task is just modifying the transient state. If update_model is true, then the final transient state becomes the new *initial state.

so for this issue i'll change basico, to not randomize values for the current result ever, which will solve the issue you were having with plots.

@fbergmann
Copy link
Member

I have released a new basico version, that ensures that get_simulation_resutls no longer uses random start values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants