SysBioChalmers / yeast-GEM

The consensus GEM for Saccharomyces cerevisiae
http://sysbiochalmers.github.io/yeast-GEM/
Creative Commons Attribution 4.0 International
94 stars 44 forks source link

feat: standardize and simplify curation of yeast-GEM #303

Closed edkerk closed 1 year ago

edkerk commented 2 years ago

Description of the issue:

Currently, code/ and data/ contain various scripts and datasets in a variety of formats, which have previously been used to curate yeast-GEM. However, this is quite heterogenous, so that it is not that straightforward to use these scripts for future model curations.

In addition, there are a few other issues that are a hurdle to contribute towards development of yeast-GEM. One of these is that the model in- and output requires both MATLAB and COBRA toolboxes, which unnecessary increases software dependencies. This also raises the risk of conflicts between model files.

These and similar issues should be addressed to make yeast-GEM more accessible, reproducible and easier to contribute to. This consists of the following steps:

I hereby confirm that I have:

mihai-sysbio commented 2 years ago

Great to see this @edkerk.

  • Reduce software dependencies for contributing to model development.

Any thoughts on the /requirements folder?

edkerk commented 2 years ago

That folder seems to refer strictly to Python/cobrapy, particularly useful for the GitHub Actions. But MATLAB-specific requirements are not part of that. The above points do not directly refer to GitHub Actions / CI, where the model is just loaded and its content tested. I tried to clarify this in the README.md in PR #301, but this can probably be improved?

Perhaps the point you raise should be rephrased as "Reduce software dependencies for contributing to MATLAB-based model development." So at least to reduce the complexity of the MATLAB-based pipeline. Contribution by using Python is also very welcome, but most of the generic functions are only available for MATLAB and I'm not sufficiently cobrapy-fluent to correct this.

edkerk commented 2 years ago

This is now being implemented in PR #313, where multiple curations (incl. #305 and #306) are all documented in one script, that can change the current yeast-GEM release 8.6.0 to its next version.

edkerk commented 2 years ago

A little road map:

Once releasing version 8.6.0, it probably becomes more clear how well this new approach will work in reality.

mihai-sysbio commented 2 years ago

@edkerk coming back to the /requirements folder, one idea could be to move it under /code. To me, it belongs there more. If it were used just by GH Actions, it could then be moved to there the workflows are stored.

edkerk commented 2 years ago

Sounds reasonable, but probably good to then move it to /code, as /code/io.py is not only for GH Actions.

edkerk commented 2 years ago

requirements/ is now moved to code/requirements/ in dcf1cae74919a169640252beed2cb7f7ebc7bddd

mihai-sysbio commented 2 years ago

requirements/ is now moved to code/requirements/ in dcf1cae

very nice @edkerk. I think there are more place that should be updated, such as the Contributing guidelines.

edkerk commented 2 years ago

I thought I found all references, but I missed Contributing guidelines.

mihai-sysbio commented 1 year ago

With the recent deprecation of old files /code and /data in https://github.com/SysBioChalmers/yeast-GEM/pull/345, perhaps this issue can be considered complete, and have any further ideas as new issues?