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
improve usability #51
Comments
@edkerk thanks for pointing out these problems. Below some answers:
We will be working soon on providing more documentation, let us know which parts are the ones that could use more work.
A new PR will be made this week including a better way of handling
All location paths of files/scripts are relative to from where they are called, so you should not have any problems with this, as long as you don't change the directory in your modifications. Let us know if this is not the case for any specific file/script.
Note that we will be migrating all models to ecModels (currently to a large extent WIP), which will make
I am not a fan of global variables, as they make the code less pure, create confusion and makes debugging harder. Some GECKO functions do seem to have many inputs, but perhaps a more sensitive solution for some of those inputs would be to put them in a single structure containing them as fields. Finally, feel free to create additional issues from this discussion following up on specific topics :) |
If a bunch of scripts have to be modified for each model, doesn't this impede the automated generation of a whole set of models as soon as gecko changes? Such a system would mean individual branches in gecko for each model? Regarding global variables, an alternative could then be to define all necessary model specific parameters as fields in one structure and use that structure as input for most functions? Then the user needs to change the field in the one structure, and not necessarily that many scripts.
Some points that need clarification:
|
For models hosted in
That's a great idea that we could start thinking about @IVANDOMENZAIN the following fields should be included in that
This could be stored as a single
Noted, will hopefully get around it in the coming months :) |
With PR #76 now merged to |
I definitely support this issue, and I think there is still some improvements to make here. It is not straight forward to run this pipeline for a different organism than yeast. I don't think modifying 7 different matlab files is a user-friendly way of tailoring the program to the organism of choice. My suggestion is rather that the GECKO-pipeline takes a parameter-file as the user-supplied input along with the GEM. The parameter file can also provide the paths for the required database-files, cultivation data etc. (now provided by changing files in the /database folder). |
that is what we wanted to achieve with
note that 3 of those 7 functions are optional (can be skipped entirely), and one of them is the
that is a nice idea, we can address it in #55 |
I understand that it is difficult to generalize the pipeline, however I think it would improve the usability a lot in particular for other strains than yeast. I don't have a full overview of the source code, but some suggestions:
The |
Thanks for the suggestions!
Added that to #55.
There are many ways in which people construct biomass equations:
Trying to have logics to detect any of these scenarios for any GEM that may come is IMO not worth it. Just easier if the model developer, who is well familiarized with their biomass equation, writes their own logic in
We could have probably phrased it better: When we say "you don not need to define" a given parameter, we actually mean "you can delete these lines". So it accomplishes the same as toggling sections on/off.
I removed the |
No longer relevant. |
It is not that straight-forward to generate models, integrate proteomics data and perform simulations with gecko. I have recently run into the following hurdles:
simulateChemostat
enhanceGEM
works well to generate ecYeast, but might be largely unsuitable for other models.Besides the documentation, probably a lot can be improved by defining global variables. This includes things like reaction IDs for substrate uptake, location of data files etc. This would also simplify the nested functions, as parameters can be accessed by each function. It's imperative that model-specific functions exist, such as
simulateChemostat
andmanualModifications
, but this way it would be easier to adjust those for wider applicability.The text was updated successfully, but these errors were encountered: