Open GwennyGit opened 1 year ago
For task 1, another idea would be to split the tool into different entry points. One for model investigation, one for model refinement and one for model curation.
How to achieve?
data
, investigate
, refine
and curate
io
and main
for the relevant modules per new 'main' module (see table)setup.py
'Main' module/Command line name | Relevant modules | Description |
---|---|---|
data |
databases |
Handles database input/output & initialisation |
investigate |
comparison , growth , investigate , gapfill.gap_analysis |
Handles model comparison, growth simulation & other types of model investigation |
refine |
biomass , charges , modelseed , pathways , polish , sboann |
Handles all possible refinement techniques implemented in refineGEMs |
curate |
curate , gapfill.gapfill_model |
Handles the curation implementations of refineGEMs |
The setup.py
should be replaced by a setup.cfg
as the setup.py
file is legacy and might get deprecated. A possible setup.cfg
, already including the setup for the possible entry points, was generated and uploaded to the branch structure_update
.
As with refineGEMs 1.4.0 the pyproject.toml
file was adjusted so that the complete install is only handled by the pyproject.toml
. This deprecates the setup.cfg
which is now removed with the commit Removed no longer needed setup.cfg. The already existing entry points were moved as comments to the pyproject.toml
file with the commit Added entry points as comments to pyproject.toml and need to be tested and adjusted before use.
All commits from the last comment to this comment are the result of my attempt to rebase these commits from dev
to another branch. However, this did not work and, thus, I will cherry-pick the according commits to the other branch. This will likely add the same commits again in this issue after this comment.
Currently, refineGEMs works for python 3.10 and 3.9. Release 2.0.0 should work under 3.10 and 3.11
To enhance the availability of the whole refineGEMs package I would suggest the following options: