Closed cdanielmachado closed 6 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:
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.
My preferred way would be an annotation with the SBO term. Then we don't have to care what name is assigned at all.
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).
The heuristics for detecting biomass reaction could be a bit more flexible.
A few suggestions:
more options for name testing ("biomass", "growth", etc)
combination of objective coefficient and number of substrates (for instance: if ATP production was the objective function, setting the threshold to a minimum of 4-5 substrates would in principle exclude it)
alternatively, discard the assumption that the model needs to contain a biomass equation, and just make sure that the objective function (whatever it might be) is feasible under suitable conditions