opencobra / memote

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

SBO Terms Annotation Score is incorrect #721

Open famosab opened 3 years ago

famosab commented 3 years ago

I tried testing a manually curated model with the online (v. 0.11.1) and my local (v. 0.12.1) version of memote.

I expected a higher memote score after using more specific SBO Terms: For example I replaced SBO:0000176 - biochemical reaction by SBO:0000402 - transfer of a chemical group.

The expected behavior was that the SBO Annotation Score should either stay the same or even go up since this is a more specific model annotation. What I got instead is a lower score on Metabolic Reaction SBO:0000176 Presence.

I would suggest to change the way the testing for certain SBO terms works: Namely replace simply looking which SBO Terms are present with a comparison of whether the SBO terms that are present are also present in a tree as depicted below (from http://www.ebi.ac.uk/sbo/main/tree).

image
Midnighter commented 3 years ago

As you noticed, the lack of handling the ontology properly (#469) is the reason for this. If libSBML enables this, that provides a faster way for addressing this issue. Adopting JSBML will not be an option in cobrapy, I'm afraid.