Source code for omxware.entities.Genus

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

from omxware import omxware

from omxware.config import Connection
from omxware.entities.Entity import Entity


[docs]class Genus(Entity): """OMXWare Genus Entity Class""" def __init__(self, connecthdr: Connection, genus): super().__init__(connecthdr, genus) """Constructor""" if genus is None: raise Exception('Invalid Genus Object initialization. None value passed') if isinstance(genus, dict): if not ("name" in genus): raise Exception("The Genus name missing") self._name = genus['name'] self._id = genus['id'] self._is_preview_obj = False self._json = genus elif isinstance(genus, str): self._id = genus self._name = genus self._is_preview_obj = False # this doesn't matter for Genus objects self._type = 'genus' 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/genus/' id = self.id() params['name'] = id resp = self._connecthdr.get(methodurl=methodurl, headers=headers, payload=params) results = resp.results() if results is not None: result = results[0] self = Genus(self._connecthdr, result)
[docs] def genomes(self, page_size=Entity._PAGE_SIZE_DEFAULT, page_number=Entity._PAGE_INDEX_DEFAULT ): """ Get OMXWare Genomes for the Genus Parameters: :param page_number: Page Number :type page_number: int :param page_size: Results page size :type page_size: int Returns: :return: OmxResponse: Genomes """ omx = omxware.omxware(self.connection().config().token(), env=self.connection().config().env()) results = omx.genomes(genus_names=self.id(), page_size=page_size, page_number=page_number) return results
[docs] def genes(self, page_size=Entity._PAGE_SIZE_DEFAULT, page_number=Entity._PAGE_INDEX_DEFAULT ): """ Get OMXWare Genes for the Genus 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(genus_names=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 the Genus 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(genus_names=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 the Genus 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(genus_names=self.id(), page_size=page_size, page_number=page_number) return results