Skip to content
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

feat: support Mw/kcat models from GECKO 3.0 #10

Merged
merged 8 commits into from
Apr 4, 2023
Merged

Conversation

carrascomj
Copy link
Contributor

@carrascomj carrascomj commented Mar 31, 2023

Description

As risen by @edkerk, the matlab toolbox GECKO 3.0 has changed the specification of stoichiometric coefficients for enzymes (see here). The coefficients which were previously $\frac1 {k_{cat}}$ has been changed to be $\frac {M_w} {k_{cat}}$.

Geckopy should remain compatible with GECKO, so it should support this coefficient fashion.

Implementation

This PR achieves (shallow) interoperability at the document level; i. e., the writing and reading function of SBML now accept a flag to read SBML models with the GECKO3 encoding. The default remains the same (i.e., legacy encoding) and the inner workings of geckopy are still in $\frac1 {k_{cat}}$.

Reading and writing with the $\frac {M_w} {k_{cat}}$ will raise an error if no $M_w$ is found in a protein. For reading, this relies on the annotation attribute, using "mw" as the field (to follow the name used in GECKO3 YAML, see this example). A test was implemented for reading and writing with this format.

I had to remove support for python 3.6 since Github Actions does not support it for ubuntu-latest (and it is deprecated anyways). python3.10 was not added to CI but it should in the future (see #11).

Since it is not available anymore
@carrascomj
Copy link
Contributor Author

(@phantomas1234 I cannot add you as reviewer)

I believe this is the bare minimum of compatibility, let me know what you think.

@carrascomj carrascomj merged commit e778c0c into master Apr 4, 2023
@carrascomj
Copy link
Contributor Author

(Merged after offline conversation)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant