libSBML Python API
5.18.0
|
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
RDFAnnotationParser is a libSBML construct used as part of the libSBML support for annotations conforming to the guidelines specified by MIRIAM ('Minimum Information Requested in the Annotation of biochemical Models', Nature Biotechnology, vol. 23, no. 12, Dec. 2005). Section 6 of the SBML Level 2 and Level 3 specification documents defines a recommended way of encoding MIRIAM information using a subset of RDF (Resource Description Format). The general scheme is as follows. A set of RDF-based annotations attached to a given SBML <annotation>
element are read by RDFAnnotationParser and converted into a list of CVTerm objects. There are different versions of the main method, and RDFAnnotationParser.parseRDFAnnotation(), used depending on whether the annotation in question concerns the MIRIAM model history or other MIRIAM resource annotations. A special object class, ModelHistory, is used to make it easier to manipulate model history annotations.
All of the methods on RDFAnnotationParser are static; the class exists only to encapsulate the annotation and CVTerm parsing and manipulation functionality.
Public Member Functions | |
def | createAnnotation () |
Creates a blank annotation and returns its root XMLNode object. More... | |
def | createCVTerms (obj) |
Takes a list of CVTerm objects and creates a the RDF 'Description' element. More... | |
def | createRDFAnnotation (level=3, version=1) |
Creates a blank RDF element suitable for use in SBML annotations. More... | |
def | deleteRDFAnnotation (annotation) |
Deletes any SBML MIRIAM RDF annotation found in the given XMLNode tree and returns any remaining annotation content. More... | |
def | deleteRDFCVTermAnnotation (annotation) |
Deletes any SBML MIRIAM RDF 'CVTerm' annotation found in the given XMLNode tree and returns any remaining annotation content. More... | |
def | deleteRDFHistoryAnnotation (annotation) |
Deletes any SBML MIRIAM RDF 'History' annotation found in the given XMLNode tree and returns any remaining annotation content. More... | |
def | parseCVTerms (obj) |
Takes a list of CVTerm objects and creates a complete SBML annotation around it. More... | |
def | parseModelHistory (obj) |
Reads the model history and cvTerms stored in obj and creates the XML structure for an SBML annotation representing that metadata if there is a model history stored in obj . More... | |
def | parseOnlyModelHistory (obj) |
Reads the model history stored in obj and creates the XML structure for an SBML annotation representing that history. More... | |
def | parseRDFAnnotation (args) |
Parses an annotation (given as an XMLNode tree) into a list of CVTerm objects. More... | |
def libsbml.RDFAnnotationParser.createAnnotation | ( | ) |
Creates a blank annotation and returns its root XMLNode object.
createAnnotation() XMLNode
This creates a completely empty SBML <annotation>
element. It is not attached to any SBML element. An example of how this might be used is illustrated in the following code fragment. In this example, suppose that content
is an XMLNode object previously created, containing MIRIAM-style annotations, and that sbmlObject
is an SBML object derived from SBase (e.g., a Model, or a Species, or a Compartment, etc.). Then:
The SBML specification contains more information about the format of annotations. We urge readers to consult Section 6 of the SBML Level 2 (Versions 2–4) and SBML Level 3 specification documents.
def libsbml.RDFAnnotationParser.createCVTerms | ( | obj | ) |
Takes a list of CVTerm objects and creates a the RDF 'Description' element.
createCVTerms(SBase obj) XMLNode
This essentially takes the given SBML object, reads out the CVTerm objects attached to it, creates an RDF 'Description' element to hold the terms, and adds each term with appropriate qualifiers.
obj | the SBML object to start from. |
def libsbml.RDFAnnotationParser.createRDFAnnotation | ( | level = 3 , |
|
version = 1 |
|||
) |
Creates a blank RDF element suitable for use in SBML annotations.
createRDFAnnotation(long level=3, long version=1) XMLNode createRDFAnnotation(long level=3) XMLNode createRDFAnnotation() XMLNode
The annotation created by this method has namespace declarations for all the relevant XML namespaces used in RDF annotations and also has an empty RDF element. The result is the following XML:
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dcterms='http://purl.org/dc/terms/' xmlns:vCard='http://www.w3.org/2001/vcard-rdf/3.0#' xmlns:bqbiol='http://biomodels.net/biology-qualifiers/' xmlns:bqmodel='http://biomodels.net/model-qualifiers/' > </rdf:RDF>
Note that this does not create the containing SBML <annotation>
element; the method RDFAnnotationParser.createAnnotation() is available for creating the container.
parameter
= value
. This is not to be intepreted as a Python keyword argument; the use of a parameter name followed by an equals sign followed by a value is only meant to indicate a default value if the argument is not provided at all. It is not a keyword in the Python sense. def libsbml.RDFAnnotationParser.deleteRDFAnnotation | ( | annotation | ) |
Deletes any SBML MIRIAM RDF annotation found in the given XMLNode tree and returns any remaining annotation content.
deleteRDFAnnotation(XMLNode annotation) XMLNode
The name of the XMLNode given as parameter annotation
must be 'annotation', or else this method returns None
. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove them if they conform to the syntax of a History or CVTerm element.
annotation | the XMLNode tree within which the RDF annotation is to be found and deleted. |
def libsbml.RDFAnnotationParser.deleteRDFCVTermAnnotation | ( | annotation | ) |
Deletes any SBML MIRIAM RDF 'CVTerm' annotation found in the given XMLNode tree and returns any remaining annotation content.
deleteRDFCVTermAnnotation(XMLNode annotation) XMLNode
The name of the XMLNode given as parameter annotation
must be 'annotation', or else this method returns None
. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove any that conform to the syntax of a CVTerm element.
annotation | the XMLNode tree within which the RDF annotation is to be found and deleted. |
def libsbml.RDFAnnotationParser.deleteRDFHistoryAnnotation | ( | annotation | ) |
Deletes any SBML MIRIAM RDF 'History' annotation found in the given XMLNode tree and returns any remaining annotation content.
deleteRDFHistoryAnnotation(XMLNode annotation) XMLNode
The name of the XMLNode given as parameter annotation
must be 'annotation', or else this method returns None
. The method will walk down the XML structure looking for elements that are in the RDF XML namespace, and remove any that conform to the syntax of a History element.
annotation | the XMLNode tree within which the RDF annotation is to be found and deleted. |
def libsbml.RDFAnnotationParser.parseCVTerms | ( | obj | ) |
Takes a list of CVTerm objects and creates a complete SBML annotation around it.
parseCVTerms(SBase obj) XMLNode
This essentially takes the given SBML object, reads out the CVTerm objects attached to it, callsRDFAnnotationParser.createRDFAnnotation() to create an RDF annotation to hold the terms, and finally callsRDFAnnotationParser.createAnnotation() to wrap the result as an SBML <annotation>
element.
obj | the SBML object to start from. |
def libsbml.RDFAnnotationParser.parseModelHistory | ( | obj | ) |
Reads the model history and cvTerms stored in obj
and creates the XML structure for an SBML annotation representing that metadata if there is a model history stored in obj
.
parseModelHistory(SBase obj) XMLNode
obj | any SBase object. |
None
is returned even if CVTerms are present.def libsbml.RDFAnnotationParser.parseOnlyModelHistory | ( | obj | ) |
Reads the model history stored in obj
and creates the XML structure for an SBML annotation representing that history.
parseOnlyModelHistory(SBase obj) XMLNode
obj | any SBase object. |
def libsbml.RDFAnnotationParser.parseRDFAnnotation | ( | args | ) |
Parses an annotation (given as an XMLNode tree) into a list of CVTerm objects.
parseRDFAnnotation(XMLNode annotation, long metaId, XMLInputStream stream) ModelHistory parseRDFAnnotation(XMLNode annotation, long metaId) ModelHistory parseRDFAnnotation(XMLNode annotation) ModelHistory parseRDFAnnotation(XMLNode annotation, CVTermList CVTerms) parseRDFAnnotation(XMLNode annotation, CVTermList CVTerms, long metaId, XMLInputStream stream) parseRDFAnnotation(XMLNode annotation, CVTermList CVTerms, long metaId)
This is used to take an annotation that has been read into an SBML model, identify the RDF elements within it, and create a list of corresponding CVTerm (controlled vocabulary term) objects.
annotation | XMLNode containing the annotation. |
CVTerms | list of CVTerm objects to be created. |
metaId | optional metaId, if set only the RDF annotation for this metaId will be returned. |
stream | optional XMLInputStream that facilitates error logging. |