opencobra / memote

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

biomass detection #216

Closed cdanielmachado closed 6 years ago

cdanielmachado commented 7 years ago

The heuristics for detecting biomass reaction could be a bit more flexible.

A few suggestions:

ChristianLieven commented 7 years ago

I'll gladly add more options to try and identify the biomass reaction, although changing the ID for the reaction is a super simple fix for model builders. In that sense I'd rather attempt to unify what this particular reaction is called by leaving the heuristic strict. But I'm waiting to hear more opinions on this.

I'm not convinced of the other suggestions:

  1. Some lumped reactions might hypothetically consume +5 substrate, consume ATP and be the objective function (in a production strain for instance), hence basing the test on these criteria might not be robust enough.
  2. Any cell be it by itself or in a community/ organ should need to construct structural macromolecules to function and by extension a biomass reaction would have to be present. The only exception that comes to my mind here are erythrocytes. But frankly, I cannot asses how common models without a biomass reaction would be and if that warrants leaving out these important tests for all other models.

So, my suggestion is to detect it by preferably one very robust criterion. I'm happy to rely on the community to discuss and agree on whatever that may be. If this identification for a biomass reaction cannot be identified in a model, all tests pertaining to the Biomass reaction and precursor production are skipped.

Midnighter commented 7 years ago

My preferred way would be an annotation with the SBO term. Then we don't have to care what name is assigned at all.

cdanielmachado commented 7 years ago

I also think SBO term is a good idea but, it would be nice if the tests still run when the SBO term is missing.

I think memote should be flexible enough to accommodate different modeling practices, rather than enforcing personal preferences.

Regarding the exact identifiers, it wouldn't be difficult to do a quick survey of common names people have used and include few more options.

For instance, I prefer to call the reaction "growth" rather than "biomass", since biomass is the product of the process (passive element), not the process itself (active element).