Closed matthiaskoenig closed 5 years ago
My understanding is that this model of human platelets does not represent a growing cell. There is no clear objective because platelets have a different purpose in the body. It would probably be necessary to develop some kind of objective other than a biomass growth function. My assumption is that this model was created to simply reflect a knowledgebase, the current state of metabolic reactions taking place in these cells.
In this case the Objective
should be removed from the model (and with it the listOfObjectives
). I.e. have no ListOfObjectives
on the model. This will contain the same information and make the model valid SBML.
@draeger Is this something we can solve in ModelPolisher?
It is possible to detect such a problem automatically, but it is not always clear which action to take for solving it:
fbc:strict
to the value false
, which might cause problems with COBRApy.What would be best?
We could simply remove the objective. In such a case, we would also need to change the model's attribute fbc:strict to the value false, which might cause problems with COBRApy.
I'm not familiar with the details here – does fbc:strict require that an objective be present?
We can also raise this with COBRApy and ask them to update if that is the bottleneck. It's always good to push the community toward more-correct support of the standards.
But I don't know enough about the details to have a strong opinion, so I'll follow your and Matthias's lead.
We checked the FBC specification again. As it turns out a strict model doesn't necessarily have to include an objective function. We can therefore safely remove it in such cases. We'll incorporate that into ModelPolisher
The SBML iAT_PLT_636.xml has an objective, but no listOfFluxObjectives. Therefore it is unclear what should be optimized. This is invalid SBML.