Open rmtfleming opened 1 year ago
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.
Hi Moritz, yes, but then you are into a circular argument. If heuristics is sufficient to detect all the stoichiometrically inconsistent reactions then there is no need to use a mathematical optimisation approach! Regards, Ronan
On Fri, 15 Sept 2023 at 19:49, Moritz E. Beber @.***> wrote:
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.
— Reply to this email directly, view it on GitHub https://github.com/opencobra/memote/issues/750#issuecomment-1721703762, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOX3FJ73FMCQURJ6OKDX2SPKPANCNFSM6AAAAAA42GDFBA . You are receiving this because you authored the thread.Message ID: @.***>
(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)
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.)
Hi Moritz,
the number of external reactions should equal the number of stoichiometrically inconsistent reactions, but accurately detecting external reactions cannot be done heuristically. Please see the paper for more explanation and examples with Recon3, Human1 etc.
Regards,
Ronan
On Fri, 15 Sept 2023 at 20:19, Moritz E. Beber @.***> wrote:
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.)
— Reply to this email directly, view it on GitHub https://github.com/opencobra/memote/issues/750#issuecomment-1721733495, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEOXB6WECWQGOLMTVUOLX2SS2XANCNFSM6AAAAAA42GDFBA . You are receiving this because you authored the thread.Message ID: @.***>
(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)
Hello, my model from Carveme fails the stoicheiometric consistency test, can you help me?
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.
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