-
Notifications
You must be signed in to change notification settings - Fork 50
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
RFC: Unused parameters in simulations #1050
Comments
I like option Numero Due (2). With regards to #1041 , you would then have to add the property "non-editable = true" everywhere you check for "CanBeVaried=false" with an "OR". |
This should have absolutely no effect on performance using an appropriate data structure. Searching for parameters with a hash, even in list with over 10000 entries, should be instantaneous In my opinion, removing unused parameters is a mistake. That's what we were doing before. It has its charm of course but until we manage to get a more modular structure, this will bite us. So Option 1 is out. I think also that not exporting parameters to SimModel might be a mistake, especially if we want to ensure we can swap species etc.. later in R or Matlab (@StephanSchaller I am looking at you!) So Option 2 is out for me as well I would go with Option 3. However I am not sure I would CHANGE the parameter flags that come from the DB (Visible, Editable etc..) Maybe we need a transient flag: e.g. USED that cannot be set from the UI and is computed when creating the simulation Finding unused parameters, marking them as such when creating a simulation (is it as easy as : the parameter does not appear in any RHS?). Then PI, SA etc.. could filter out those parameters. Matlab/R toolbox should also filter them out, or show them only based on flags etc.. So option 3~ for me :) EDIT:
|
I can feel it...*shudder* ;-) … but I thought we also agreed to align parameter structure between species, so this would not be an issue. But maybe you are right, removing parameters from the SimModel may restrict us. But of course this depends on what type of parameters would be hidden. Currently, the difference in parameter space for animal and human is not present in the respective other species (i.e. the parameters in animal, that are "missing" from human are not included in an animal model export) I'll have to ponder that. |
Well, toolboxes allow some operations on parameters like e.g. searching with wildcards (e.g.
I disagree. If there are no structural changes between species, then parameter not used for one species will also be unused for another one (thus species change in a Toolbox just via parameter values changes will still be possible)
Think this would be OK. Not so many implications compared to option 1.
Exactly.
I still would vote for removing unused parameters from SimModel-Export not only in optimized by also in "normal" mode. |
Sorry but even that still should have no impact on performance.
Species change was just an example. I could see cases where a parameter is unused in one case and used in another (GallBladder emptying for example) or some switch or whatever. I cannot foresee anything that can be done and therefore I would not delete stuff...until clearly proven that it has an impact on performance. Also deleting unused parameters would have the following side effect: If you create a parameter that is just here to do some analyses (similar to an observer), and this parameter is not used anywhere... well it would be removed. How would you deal with that? (and of course don't tell me you would add yet another flag to not delete this parameter. We have enough flags here already) All in all, having a flag USED or UNUSED would be a good state to be able to filter easily some info without compromising the structure. |
All parameters changed by events or used in events (conditions, assignments) should be marked as Used of course.
Agree. Could happen. I could argue that in this case user should mark parameter as plottable (which is not a new flag ;) ) or define an observer based on this parameter. Otherwise I don't see any clue in creating such a parameter. I would suggest the following:
|
Why not set it to true by default all the time? I think having them in the exported Xml is potentially useful (and again here, I just don't know so assuming it could be useful) but I don't think they add anything during the simulation? I like this flow. |
Agree. Changed the workflow description above |
Currently, our Building Blocks (Individual first of all) contain parameters which can be used in all kind of models (small molecules vs. proteinmodel, different partition coeff. models etc.).
Once a simulation is created, many of those parameters are unused (e.g. protein model specific parameters in a small molecules simulation).
In the most cases it's not a problem (e.g. it does not slow down calculation of simulation results).
There are some use cases however where unused parameters have significant impact on performance:
How should we deal with this?
@msevestre @KatrinCoboeken @PavelBal @StephanSchaller Thoughts on this?
The text was updated successfully, but these errors were encountered: