-
Notifications
You must be signed in to change notification settings - Fork 1
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
Redesign main.py
to be more flexible
#46
Comments
My understanding is that @GwennyGit desires a default model refinement routine that sequentially runs all individual functions without further interaction and provides an updated model as result. Also, one of the questions she had is whether complementary tools (ModelPolisher in particular) should be used before or after improving a model using |
Maybe it makes sense to distribute both separately:
|
Yes, my thought was that it would be quite nice to have such a default routine where one applies all refinement steps at once. However, after using |
Maybe it makes sense to provide a sort of second main.py script which does what you described. That would also lead to a simpler second yaml. Maybe we can store the older main script in a different folder aimed to be used by experienced users while the new main script just applies everything, writes possible output into a log file (as described in #42) and returns the changed model to the user. Then we can keep the ''complicated'' yaml file and use a simpler yaml file which is well commented (see example in #57). We would need to collect the list of steps that can be automated into that simpler script I would suggest one run of growth simulation before and after the curating so that the user can see what changed in the models behavior. |
Should we save the modified models per standard in the out_path and extend the filename with _kegg (etc.)? I think that would make sense, as long as we still allow the user to define their own filename. |
Yes, I think that is a good idea. 👍🏻 |
I did not implement a separate saving for each module but instead the user will be prompted to define an out_path or the model will be saved to the out path as |
I tested refineGEMs on two random models downloaded from the BiGG database (iYL1228 and iAF987) as well as on my models with the config shown below. It seems to me that everything in the new main file works as expected and all modules are executed as intended. I would close this issue for now since charge_corr: true
growth_basis: default_uptake
id_db: BIGG
media:
- SNM3
- LB
- M9
- CGXlab
memote: false
model: /Users/baeuerle/Organisation/Masterarbeit/rg_out/iYL1228.xml
out_path: ../rg_out/
polish: true
sboterms: true
visualize: true |
@GwennyGit mentioned that some people might want to use all model-modifying functions at once.
I realised that using only the functions for multiple models might be desirable.
The
main.py
and consequently theconfig.yml
file can be reevaluated and redesigned to fit to a user only working with refineGEMs as standalone program. However we can also keep in mind that I'll provide a jupyter notebook (see #22) that will showcase how to use different functions. In comparison withmain.py
people should be able to tweak refineGEMs to their needs. This probably needs a bit more discussion and thought on how to structure themain.py
in a way that is then usable. It might be easier to focus on the main functions that an inexperienced user might need and tailor it in that way. Everything else will most likely be used by people experienced with Python so that a hugemain.py
script might not be desirable.@GwennyGit @draeger What are your opinions on this?
The text was updated successfully, but these errors were encountered: