Source code for omxware.entities.GoTerm

# -*- coding: utf-8 -*-

from omxware import omxware
from omxware.config import Connection

from omxware.entities.Entity import Entity
from omxware.utils.ResultUtils import list2str


[docs]class Go(Entity): """OMXWare GO Entity Class""" _category = None # str def __init__(self, connecthdr: Connection, go): """Constructor""" """ {id, name, type, json} attributes are read by the super().constructor() So just parse and load the remaining attributes """ super().__init__(connecthdr, go) if isinstance(go, dict): self._json = go # extracting the category for this go if 'category' not in go: self._is_preview_obj = True else: self._is_preview_obj = False self._category = go['category'] def __reload(self): headers = {'content-type': 'application/json', 'content-language': 'en-US', 'accept': 'application/json'} params = {'page_size': 1, 'page_number': 1} if self.id() is not None: methodurl = '/api/secure/' + self.type() + '/id:' if isinstance(self.id(), list): methodurl = methodurl + list2str(self.id()) if isinstance(self.id(), str): methodurl = methodurl + self.id() resp = self._connecthdr.get(methodurl=methodurl, headers=headers, payload=params) results = resp.results() if results is not None: result = results[0] g = Go(self._connecthdr, result.json()) self.__copy(g) def __copy(self, go): self._is_preview_obj = go.is_preview_obj() self._connecthdr = go.connection() self._config = go.configuration() self._omx_token = go.omx_token() self._json = go.json() self._id = go.id() self._type = go.type() self._name = go.name() self._category = go.category()
[docs] def category(self): """ Get this GO Term's category Returns: :return: str : GO Term category """ return self._category
[docs] def genes(self, page_size=Entity._PAGE_SIZE_DEFAULT, page_number=Entity._PAGE_INDEX_DEFAULT ): """ Get OMXWare Genes for this GO Term Parameters: :param page_number: Page Number :type page_number: int :param page_size: Results page size :type page_size: int Returns: :return: OmxResponse: Genes """ omx = omxware.omxware(self.connection().config().token(), env=self.connection().config().env()) results = omx.genes(go_terms=self.id(), page_size=page_size, page_number=page_number) return results
[docs] def proteins(self, page_size=Entity._PAGE_SIZE_DEFAULT, page_number=Entity._PAGE_INDEX_DEFAULT ): """ Get OMXWare Proteins for this GO Term Parameters: :param page_number: Page Number :type page_number: int :param page_size: Results page size :type page_size: int Returns: :return: OmxResponse: Proteins """ omx = omxware.omxware(self.connection().config().token(), env=self.connection().config().env()) results = omx.proteins(go_terms=self.id(), page_size=page_size, page_number=page_number) return results
[docs] def domains(self, page_size=Entity._PAGE_SIZE_DEFAULT, page_number=Entity._PAGE_INDEX_DEFAULT ): """ Get OMXWare Domains for this GO Term Parameters: :param page_number: Page Number :type page_number: int :param page_size: Results page size :type page_size: int Returns: :return: OmxResponse: Domains """ omx = omxware.omxware(self.connection().config().token(), env=self.connection().config().env()) results = omx.domains(go_terms=self.id(), page_size=page_size, page_number=page_number) return results