Menu

#472 appendAnnotation does not work with bqbiol elements

libSBML-5.18.0
open
nobody
2020-01-31
2020-01-31
Carlos Vega
No

Good afternoon,

I was trying to use appendAnnotation on my code, but it didn't work, the returned error wasn't any of the documented ones (LIBSBML_UNEXPECTED_ATTRIBUTE, LIBSBML_OPERATION_FAILED, LIBSBML_DUPLICATE_ANNOTATION_NS, LIBSBML_OPERATION_SUCCESS), but -14.

I thought my annotation had a format issue or something, and went to try the python example from your docs.

http://sbml.org/Software/libSBML/5.18.0/docs/python-api/append_annotation_8py-example.html

I tried to execute it with the following, valid SBML.

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" level="3" version="2">
  <model id="CF_fact2">
    <listOfCompartments>
      <compartment id="Implicit_Compartment" name="Implicit Compartment" spatialDimensions="NaN" size="NaN" constant="false"/>
    </listOfCompartments>
    <listOfSpecies>
      <species id="Asthma" name="Asthma" compartment="Implicit_Compartment" initialAmount="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
      <species id="Obesity" name="Obesity" compartment="Implicit_Compartment" initialConcentration="0" hasOnlySubstanceUnits="false" boundaryCondition="false" constant="false"/>
    </listOfSpecies>
    <listOfReactions>
      <reaction id="R1" name="R1" reversible="false">
        <listOfReactants>
          <speciesReference species="Obesity" stoichiometry="NaN" constant="false"/>
        </listOfReactants>
        <listOfProducts>
          <speciesReference species="Asthma" stoichiometry="NaN" constant="false"/>
        </listOfProducts>
      </reaction>
    </listOfReactions>
  </model>
</sbml>

No errors are reported after executing the program, but the annotation is not added. The call returns -14.

I noticed that if the <bqbiol:isversionof> elements (both opening and closing tags) are removed from the annotation, the issue does not happen anymore. This might help to locate the issue.</bqbiol:isversionof>

Greetings,

Carlos Vega

Discussion

  • Carlos Vega

    Carlos Vega - 2020-01-31

    This happens as well with python libsbml 5.17 and 5.16

     

    Last edit: Carlos Vega 2020-01-31
  • Frank Bergmann

    Frank Bergmann - 2020-01-31

    Sorry for the inconvenience, we can certainly improve the documentation:

    http://sbml.org/Software/libSBML/5.18.0/docs/cpp-api/operation_return_values_8h.html

    The issue is, that there is no metaid set on the element in question, and so the annotation cannot be attached to it.

     

Log in to post a comment.