-
Notifications
You must be signed in to change notification settings - Fork 12
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
Allow for condition-specific overrides of dynamic parameters (Closes … #92
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #92 +/- ##
===========================================
+ Coverage 55.21% 57.39% +2.17%
===========================================
Files 7 7
Lines 728 751 +23
Branches 153 165 +12
===========================================
+ Hits 402 431 +29
+ Misses 296 291 -5
+ Partials 30 29 -1
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just some questions.
Could you test on e.g. the Boehm/Fujita model whether we still get the correct likelihood values?
for overridee_id in condition_df.columns: | ||
if overridee_id == 'conditionName': | ||
continue | ||
if condition_df[overridee_id].dtype != 'O': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is that?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The type of mixed-type or python objects in pandas
|
||
# in case both parameter are in parameter table, their scale | ||
# must match. | ||
if overridee_id in parameter_df.index \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the overridee_id not required to be in parameter_df? Where is that parameter-condition override documented?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the overridee_id not required to be in parameter_df?
Wasn't completely sure how to handle that. If a parameter is always overridden: does is still have to be in the parameter table? We don't require it for the output parameters, so I think we shouldn't require it here.
Where is that parameter-condition override documented?
The documentation has a "parameterId" in the sample table in "Condition table" section. Could be extended at some point.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I would then also not require the overridee id to be in the parameter table, since none of the columns makes sense really (boundaries, scale, ... all overridden)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would leave that in for now. This way things should be safe. To allow for non-matching parameter scale overrides, get_optimization_to_simulation_scale_mapping
will also have to be adapted, I think.
Co-Authored-By: dweindl <dweindl@users.noreply.github.com>
Somebody's not trusting our unittests? :) |
never. |
More seriously: In particular to check whether the get_dynamic_parameters thing works with the real-world models and pypesto/amici yet. |
Boehm/Fujita work with parPE. PyPESTO will require some adaptations. |
…#90)
Remove duplicate functions
Remove non-standard handling of constant parameters
Replace fixed parameter names by nominal values during mapping
Check override parameter scale where possible
Does not implement recursive overrides. Not sure if we would want to have that.