Skip to content

Core

momapy.sbml.core

Core classes for SBML (Systems Biology Markup Language) maps.

This module provides dataclasses representing SBML model elements including compartments, species, reactions, and annotations using BioModels qualifiers.

Example

from momapy.sbml.core import Compartment, Species, Model compartment = Compartment(name="cytosol") species = Species(name="glucose", compartment=compartment) model = Model(name="glycolysis", compartments={compartment}, species={species})

Classes:

Name Description
BQBiol

BioModels.net biology qualifiers.

BQModel

BioModels.net model qualifiers.

BiomodelQualifier

Abstract base class for BioModels.net qualifiers.

Compartment

SBML compartment representing a bounded region.

Model

SBML model container.

ModifierSpeciesReference

Reference to a species that modifies a reaction.

RDFAnnotation

RDF annotation linking model elements to external resources.

Reaction

SBML reaction representing a biochemical transformation.

SBML

Root container for SBML documents.

SBOTerm

SBO (Systems Biology Ontology) term annotation.

SBase

Abstract base class for all SBML elements.

SimpleSpeciesReference

Base class for species references in reactions.

Species

SBML species representing a pool of entities.

SpeciesReference

Reference to a reactant or product species.

BQBiol

Bases: BiomodelQualifier

BioModels.net biology qualifiers.

These qualifiers describe the relationship between biological elements and external resources.

Attributes:

Name Type Description
ENCODES

The element encodes the resource.

HAS_PART

The element has the resource as a part.

HAS_PROPERTY

The element has the resource as a property.

HAS_VERSION

The element has the resource as a version.

IS

The element is exactly the resource.

IS_DESCRIBED_BY

The resource describes the element.

IS_ENCODED_BY

The element is encoded by the resource.

IS_HOMOLOG_TO

The element is homologous to the resource.

IS_PART_OF

The element is part of the resource.

IS_PROPERTY_OF

The element is a property of the resource.

IS_VERSION_OF

The element is a version of the resource.

OCCURS_IN

The process occurs in the resource.

HAS_TAXON

The element has the resource as a taxon.

BQModel

Bases: BiomodelQualifier

BioModels.net model qualifiers.

These qualifiers describe the relationship between the model and external resources such as publications or databases.

Attributes:

Name Type Description
HAS_INSTANCE

The resource is an instance of this model.

IS

The resource is exactly this model.

IS_DERIVED_FROM

The model is derived from the resource.

IS_DESCRIBED_BY

The resource describes the model.

IS_INSTANCE_OF

The model is an instance of the resource.

BiomodelQualifier

Bases: Enum

Abstract base class for BioModels.net qualifiers.

BioModels qualifiers are used in RDF annotations to describe the relationship between model elements and external resources.

Compartment dataclass

Compartment(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, outside: Optional[ForwardRef(Compartment, module=core)] = None)

Bases: SBase

SBML compartment representing a bounded region.

A compartment defines a container where species are located.

Attributes:

Name Type Description
outside Optional[ForwardRef(Compartment, module=core)]

Optional outer compartment for hierarchical nesting.

Example

cytosol = Compartment(name="cytosol") nucleus = Compartment(name="nucleus", outside=cytosol)

Model dataclass

Model(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, compartments: frozenset[Compartment] = frozenset(), species: frozenset[Species] = frozenset(), reactions: frozenset[Reaction] = frozenset())

Bases: SBase, Model

SBML model container.

Models aggregate compartments, species, and reactions into a complete biological system description.

Attributes:

Name Type Description
compartments frozenset[Compartment]

Set of compartments in the model.

species frozenset[Species]

Set of species in the model.

reactions frozenset[Reaction]

Set of reactions in the model.

Example

model = Model( ... name="glycolysis", ... compartments={cytosol}, ... species={glucose, atp, g6p}, ... reactions={hexokinase} ... )

ModifierSpeciesReference dataclass

ModifierSpeciesReference(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, referred_species: Species)

Bases: SimpleSpeciesReference

Reference to a species that modifies a reaction.

Modifier species influence reaction kinetics without being consumed or produced (e.g., catalysts, inhibitors).

RDFAnnotation dataclass

RDFAnnotation(*, id_: str = make_uuid4_as_str(), qualifier: BiomodelQualifier, resources: frozenset[str] = frozenset())

Bases: ModelElement

RDF annotation linking model elements to external resources.

Attributes:

Name Type Description
qualifier BiomodelQualifier

The BioModels qualifier describing the relationship.

resources frozenset[str]

Set of resource URIs linked to this annotation.

Example

from momapy.sbml.core import RDFAnnotation, BQBiol annotation = RDFAnnotation( ... qualifier=BQBiol.IS, ... resources={"https://identifiers.org/chebi:4167"} ... )

Reaction dataclass

Reaction(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, reversible: bool, compartment: Compartment | None = None, reactants: frozenset[SpeciesReference] = frozenset(), products: frozenset[SpeciesReference] = frozenset(), modifiers: frozenset[ModifierSpeciesReference] = frozenset())

Bases: SBase

SBML reaction representing a biochemical transformation.

Reactions describe the conversion of reactants into products, potentially influenced by modifiers.

Attributes:

Name Type Description
reversible bool

Whether the reaction can proceed in both directions.

compartment Compartment | None

Optional compartment where the reaction occurs.

reactants frozenset[SpeciesReference]

Set of species consumed by the reaction.

products frozenset[SpeciesReference]

Set of species produced by the reaction.

modifiers frozenset[ModifierSpeciesReference]

Set of species that modify the reaction.

Example

reaction = Reaction( ... name="hexokinase", ... reversible=False, ... reactants={glucose_ref, atp_ref}, ... products={g6p_ref, adp_ref} ... )

SBML dataclass

SBML(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, xmlns: str = 'http://www.sbml.org/sbml/level3/version2/core', level: int = 3, version: int = 2, model: Model | None = None)

Bases: SBase

Root container for SBML documents.

Represents the top-level SBML element containing model metadata and the model definition.

Attributes:

Name Type Description
xmlns str

XML namespace for the SBML version.

level int

SBML level (version).

version int

SBML version within the level.

model Model | None

The model contained in this SBML document.

Example

sbml = SBML( ... model=Model(name="glycolysis"), ... level=3, ... version=2 ... )

SBOTerm dataclass

SBOTerm(*, id_: str = make_uuid4_as_str())

Bases: ModelElement

SBO (Systems Biology Ontology) term annotation.

SBO terms provide standardized vocabulary for describing model elements.

SBase dataclass

SBase(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None)

Bases: ModelElement

Abstract base class for all SBML elements.

SBase provides common attributes shared by all SBML components.

Attributes:

Name Type Description
name str | None

Human-readable name of the element.

sbo_term SBOTerm | None

Optional SBO term for semantic annotation.

metaid str | None

Optional metadata identifier for RDF annotations.

SimpleSpeciesReference dataclass

SimpleSpeciesReference(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, referred_species: Species)

Bases: SBase

Base class for species references in reactions.

Attributes:

Name Type Description
referred_species Species

The species being referenced.

Species dataclass

Species(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, compartment: Compartment | None = None)

Bases: SBase

SBML species representing a pool of entities.

A species represents a population of chemically identical entities (molecules, ions, etc.) located in a specific compartment.

Attributes:

Name Type Description
compartment Compartment | None

The compartment containing this species.

Example

compartment = Compartment(name="cytosol") glucose = Species(name="glucose", compartment=compartment)

SpeciesReference dataclass

SpeciesReference(*, id_: str = make_uuid4_as_str(), name: str | None = None, sbo_term: SBOTerm | None = None, metaid: str | None = None, referred_species: Species, stoichiometry: int | None = None)

Bases: SimpleSpeciesReference

Reference to a reactant or product species.

Attributes:

Name Type Description
stoichiometry int | None

Optional stoichiometric coefficient.

Example

species = Species(name="ATP", compartment=compartment) ref = SpeciesReference(referred_species=species, stoichiometry=2)