opencobra / memote

memote – the genome-scale metabolic model test suite
https://memote.readthedocs.io/
Apache License 2.0
123 stars 26 forks source link

Memote under-estimates stoichiometric consistency #750

Open rmtfleming opened 9 months ago

rmtfleming commented 9 months ago

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 commented 9 months 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.

rmtfleming commented 9 months ago

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: @.***>

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & Coordinator of the Horizon Europe project "Reconstruction and Computational Modelling for Inherited Metabolic Diseases" (Recon4IMD)

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(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.)

Midnighter commented 9 months ago

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 commented 9 months ago

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: @.***>

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Associate Professor, School of Medicine, National University of Ireland, Galway. & Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & Coordinator of the Horizon Europe project "Reconstruction and Computational Modelling for Inherited Metabolic Diseases" (Recon4IMD)

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(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.)