I finally get around to put my two cents in :)
First off all let me thank the developers of libSBML for providing such
a good interface to SBML.
In general I think that SBML should restrict its functionality to the
reading, writing, and checking of SBML. This of course includes
conversion from one SBML level to another whenever possible.
Now the question arises what belongs to the above mentioned core
functionality. From the points Nick Allen mentioned I would include the
- Validating models for semantic correctness
- Translating id references in the model to the actual definition, i.e.,
a context sensitive getSBase(id)
- Support for unit consistency checking and conversion
(Though I agree with Nicolas Le Novere that in the SBML we should
always use SI :)
- Support of the suggested definitionURL including CV retrieval and
What I definitely exclude are the following points:
- Computing higher-level information about a model.
- Solvers (mentioned by Howard Salis)
This can and should be provided in additional libraries or tools by
whoever wants to contribute. The proposed logos can be used to indicate
different levels of SBML compliance for these.
Stefan Hoops, Ph.D.
Senior Project Associate
Virginia Bioinformatics Institute - 0477
Bioinformatics Facility I
Blacksburg, Va 24061, USA