Source code for pyenzyme.enzymeml.core.ontology
# File: ontology.py
# Project: core
# Author: Jan Range
# License: BSD-2 clause
# Copyright (c) 2022 Institute of Biochemistry and Technical Biochemistry Stuttgart
from enum import Enum
[docs]class SBOTerm(str, Enum):
"""String enumeration used to assign ontologies derived from SBOTerms."""
# Chemical reactions
BIOCHEMICAL_REACTION = "SBO:0000176"
ACID_BASE_REACTION = "SBO:0000208"
CONFORMATIONAL_TRANSITION = "SBO:0000181"
CONVERSION = "SBO:0000182"
DEGRADATION = "SBO:0000179"
DISSOCIATION = "SBO:0000180"
IONISATION = "SBO:0000209"
ISOMERISATION = "SBO:0000377"
NON_COVALENT_BINDING = "SBO:0000177"
REDOX_REACTION = "SBO:0000200"
SPONTANEOUS_REACTION = "SBO:0000672"
# Chemical entities
PROTEIN = "SBO:0000252"
GENE = "SBO:0000251"
SMALL_MOLECULE = "SBO:0000247"
ION = "SBO:0000327"
RADICAL = "SBO:0000328"
# Chemical relations
INTERACTOR = "SBO:0000336"
SUBSTRATE = "SBO:0000015"
PRODUCT = "SBO:0000011"
CATALYST = "SBO:0000013"
INHIBITOR = "SBO:0000020"
ESSENTIAL_ACTIVATOR = "SBO:0000461"
NON_ESSENTIAL_ACTIVATOR = "SBO:0000462"
POTENTIATOR = "SBO:0000021"
# Complexes
MACROMOLECULAR_COMPLEX = "SBO:0000296"
PROTEIN_COMPLEX = "SBO:0000297"
DIMER = "SBO:0000607"
# Kinetic models
MICHAELIS_MENTEN = "SBO:0000028"
# Kinetic parameters
K_CAT = "SBO:0000025"
K_M = "SBO:0000027"
V_MAX = "SBO:0000186"
[docs]class DataTypes(str, Enum):
"""String enumeration used to assign replicate type ontologies"""
CONCENTRATION = "conc"
ABSORPTION = "abs"
FEED = "feed"
BIOMASS = "biomass"
CONVERSION = "conversion"
PEAK_AREA = "peak-area"
[docs]class EnzymeMLPart(str, Enum):
"""Mapping to identify where entities are stored in the EnzymeML model."""
# Chemical entities
PROTEIN = "protein_dict"
SMALL_MOLECULE = "reactant_dict"
ION = "reactant_dict"
RADICAL = "reactant_dict"
MACROMOLECULAR_COMPLEX = "complex_dict"
PROTEIN_COMPLEX = "complex_dict"
DIMER = "complex_dict"
[docs] @classmethod
def partFromSBOTerm(cls, sbo_term: str) -> str:
sbo_term = SBOTerm(sbo_term).name
return getattr(cls, sbo_term).value
[docs] @classmethod
def entityFromSBOTerm(cls, sbo_term: str) -> str:
sbo_term = SBOTerm(sbo_term).name
return getattr(cls, sbo_term).name