ModelPolisher
ModelPolisher copied to clipboard
MP deletes empty fbc:objectives [COBRA_WARNING]
We actually have a test for this specific behaviour:
https://github.com/draeger-lab/ModelPolisher/blob/113b46764b2df15a0333e6a1244fa1215cee7c39/lib/src/test/java/de/uni_halle/informatik/biodata/mp/fixing/fbc/ListOfObjectivesFixerTest.java#L99C1-L117C6
Evaluation of cobrapy validator results for the Biomodels dataset however revealed this yields a COBRA_WARNING.
This behaviour can be seen on https://www.ebi.ac.uk/biomodels/MODEL2403010004 with this listOfObjectives:
<fbc:listOfObjectives fbc:activeObjective="obj">
<fbc:objective fbc:id="obj" fbc:type="maximize"/>
</fbc:listOfObjectives>
@draeger is this behaviour intended? FBC v2 spec says
- section 3.3 the listOfObjectives is optional
- section 3.3.1 says the listOfObjectives must contain at least one objective
- section 3.6 says an objective must contain a listOfFluxObjectives with at least one fluxObjective
So in this case, we cannot actually do much. However, I wonder if the more conservative approach - leaving the invalid SBML as is - wouldn't be the better choice.