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

Memote under-estimates stoichiometric consistency #750

Open
rmtfleming opened this issue Sep 15, 2023 · 6 comments
Open

Memote under-estimates stoichiometric consistency #750

rmtfleming opened this issue Sep 15, 2023 · 6 comments

Comments

@rmtfleming
Copy link
Member

The current implementation of stoichiometric consistency
https://github.com/opencobra/memote/blob/master/src/memote/support/consistency.py#L66
provides a substantial under-estimate of the stoichiometric consistency when the heuristic check for internal reactions
https://github.com/opencobra/memote/blob/master/src/memote/support/consistency.py#L93
misses some reactions that are actually external reactions and therefore, by definition, stoichiometrically inconsistent.

This COBRA Toolbox function uses a sequence of LPs that iteratively removes internal reactions of unknown, but probable stoichiometric inconsistency, e.g., reactions with large numbers of non-zero stoichiometric coefficients, non-integer coefficients, etc.
https://github.com/opencobra/cobratoolbox/blob/master/src/reconstruction/modelGeneration/stoichConsistency/findStoichConsistentSubset.m

The algorithm underlying the aforementioned function and several others for checking model consistency and cardinality optimisation in general are described here:

Cardinality optimization in constraint-based modelling: application to human metabolism
Ronan M T Fleming, Hulda S Haraldsdottir, Le Hoai Minh, Phan Tu Vuong, Thomas Hankemeier, Ines Thiele
Bioinformatics, Volume 39, Issue 9, September 2023, btad450, https://doi.org/10.1093/bioinformatics/btad450

@Midnighter
Copy link
Member

Hey Ronan,

Thank you for the comment. Am I correct in interpreting your first paragraph to also say that if the heuristics succeed in detecting all artificial, inconsistent reactions, then the stoichiometric consistency detection is actually correct, though?

I must admit that it has been more than a decade for me that I last read some Matlab code. So to put it carefully, the function that you link to is hard to read. I will go through your paper and see if I can understand that better.

@rmtfleming
Copy link
Member Author

rmtfleming commented Sep 15, 2023 via email

@Midnighter
Copy link
Member

I was not precise enough in my wording. I meant to say, if we correctly detected all pseudoreactions (which are inconsistent by design) and removed them, are you saying that the formulation used in the test underestimates remaining inconsistent reactions (let's say inconsistent due to model complexity)?

Do you have an example for this? (Apologies if this is already discussed in the paper.)

@rmtfleming
Copy link
Member Author

rmtfleming commented Sep 18, 2023 via email

@AnnyMais03
Copy link

Hello, my model from Carveme fails the stoicheiometric consistency test, can you help me?

@Midnighter
Copy link
Member

Hi @AnnyMais03,
Can you please open a discussion topic for your question? Your comment is not related to this topic. You will also need to provide more information there.

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

No branches or pull requests

3 participants