sbmlutils.metadata.annotator

Annotation of SBML models.

Handle the XML annotations and notes in SBML. Annotate models from information in annotation csv files. Thereby a model can be fully annotated from information stored in a separate annotation store.

Annotation is performed via searching for ontology terms which describe the model and model components. A standard workflow is looking up the components for instance in things like OLS ontology lookup service.

Module Contents

Classes

ExternalAnnotation

Class for handling SBML annotations defined in external source.

ModelAnnotator

Helper class for annotating SBML models.

Functions

annotate_sbml(source, annotations_path, filepath)

Annotate a given SBML file with the provided annotations.

annotate_sbml_doc(doc, external_annotations)

Annotates given SBML document using the annotations file.

Attributes

logger

sbmlutils.metadata.annotator.logger[source]
sbmlutils.metadata.annotator.annotate_sbml(source, annotations_path, filepath)[source]

Annotate a given SBML file with the provided annotations.

Parameters
  • source (Union[pathlib.Path, str]) – SBML to annotation

  • annotations_path (pathlib.Path) – external file with annotations

  • filepath (pathlib.Path) – annotated SBML file

Returns

annotated SBMLDocument

Return type

libsbml.SBMLDocument

sbmlutils.metadata.annotator.annotate_sbml_doc(doc, external_annotations)[source]

Annotates given SBML document using the annotations file.

Parameters
  • doc (libsbml.SBMLDocument) – SBMLDocument

  • external_annotations (List[ExternalAnnotation]) – ModelAnnotations

Returns

annotated SBMLDocument

Return type

libsbml.SBMLDocument

class sbmlutils.metadata.annotator.ExternalAnnotation(d)[source]

Class for handling SBML annotations defined in external source.

This corresponds to a single entry in the external annotation file. Allows to handle more complex annotation scenarios, e.g. patterns for identifiers.

The columns are:

pattern sbml_type annotation_type qualifier resource name

Parameters

d (Dict) –

_keys = ['pattern', 'sbml_type', 'annotation_type', 'qualifier', 'resource', 'name'][source]
_sbml_types[source]
_annotation_types[source]
static _parse_qualifier_str(qualifier)[source]
Parameters

qualifier (Optional[str]) –

Return type

Union[pymetadata.identifiers.miriam.BQB, pymetadata.identifiers.miriam.BQM]

check()[source]

Check for valid choices.

Raise

ValueError

Return type

None

__str__()[source]

Convert to string.

Return type

str

class sbmlutils.metadata.annotator.ModelAnnotator(doc, annotations)[source]

Helper class for annotating SBML models.

Parameters
annotate_model()[source]

Annotate the model with the given annotations.

Return type

None

_get_ids_from_model()[source]

Create dictionary of ids for given model for lookup.

Returns

Return type

Dict[str, List[str]]

static _get_matching_ids(ids, pattern)[source]

Ids matching the regular expression.

Parameters
  • ids (Iterable[str]) –

  • pattern (str) –

Return type

List[str]

static _elements_from_ids(model, sbml_ids, sbml_type=None)[source]

Get list of SBML elements from given ids.

Parameters
  • model (libsbml.Model) – SBML model

  • sbml_ids (Iterable[str]) – SBML SIds

  • sbml_type (Optional[str]) – type of SBML objects

Returns

Return type

List[libsbml.SBase]

_annotate_elements(elements, ex_a)[source]

Annotate given elements with annotation.

Parameters
  • elements (Iterable[libsbml.SBase]) – SBase elements to annotate

  • ex_a (ExternalAnnotation) – annotation

Returns

Return type

None

static get_SBMLQualifier(qualifier_str, qualifier_type)[source]

Lookup of SBMLQualifier for given qualifier string.

Parameters
  • qualifier_type (str) – BQB or BQM

  • qualifier_str (str) –

Returns

SBML qualifier string

Return type

str

static annotate_sbase(sbase, annotation)[source]

Annotate SBase based on given annotation data.

Parameters
  • sbase (libsbml.SBase) – libsbml.SBase

  • annotation (pymetadata.core.annotation.RDFAnnotation) – Annotation

Returns

Return type

None

static read_annotations_df(file_path, file_format='*')[source]

Read annotations from given file into DataFrame.

Supports “xlsx”, “tsv”, “csv”, “json”, “*”

Parameters
  • file_path (pathlib.Path) – either path to file, or data in dict format

  • file_format (str) – annotation file format

Returns

pandas.DataFrame

Return type

pandas.DataFrame

static read_annotations(file_path, file_format='*')[source]

Read annotations from given file into DataFrame.

Supports “xlsx”, “tsv”, “csv”, “json”, “*”

Parameters
  • file_path (pathlib.Path) – either path to file, or data in dict format

  • file_format (str) – annotation file format

Returns

list of annotation objects

Return type

List[ExternalAnnotation]