def case_insensitive_keys(matcher_dict): updated_dict = {MAP_SOURCES: matcher_dict[MAP_SOURCES], MAP_GENE_ID: matcher_dict[MAP_GENE_ID], MAP_LOCUS: matcher_dict[MAP_LOCUS], MAP_SYNONYMS: defaultdict(list), MAP_SYMBOL: defaultdict(list), MAP_NOMENCLATURE: defaultdict(list)} for key, value in matcher_dict[MAP_SYMBOL].items(): # ensure string, we are using string methods (upper, lower) key = ensure_type(str(key), str) updated_dict[MAP_SYMBOL][key] = value updated_dict[MAP_SYMBOL][key.upper()] = value updated_dict[MAP_SYMBOL][key.lower()] = value for key, value in matcher_dict[MAP_SYNONYMS].items(): key = ensure_type(str(key), str) updated_dict[MAP_SYNONYMS][key] = value updated_dict[MAP_SYNONYMS][key.upper()] = value updated_dict[MAP_SYNONYMS][key.lower()] = value for key, value in matcher_dict[MAP_NOMENCLATURE].items(): key = ensure_type(str(key), str) updated_dict[MAP_NOMENCLATURE][key] = value updated_dict[MAP_NOMENCLATURE][key.upper()] = value updated_dict[MAP_NOMENCLATURE][key.lower()] = value return updated_dict
def __init__(self, tax_id, **kwargs): self._organism = ensure_type(tax_id, str) # type: str self._genes = [] # type: (List[str]) self._case_insensitive = kwargs.get("case_insensitive", False) self._matcher = self.load_matcher_file(DOMAIN, MATCHER_FILENAME.format(tax_id))
def __init__(self, tax_id, **kwargs): """ Gene name matching interface :param tax_id: Taxonomy if (NCBI taxonomy database) :type tax_id: str """ self._organism = ensure_type(tax_id, str) # type: str self._genes = [] # type: (List[Union[str, Gene]]) self._case_insensitive = kwargs.get("case_insensitive", False) self._matcher = self.load_matcher_file(DOMAIN, MATCHER_FILENAME.format(tax_id))
def update(self, sets): # type: (List[GeneSet]) -> None for g_set in sets: self.add(ensure_type(g_set, GeneSet))
def __init__(self, sets=None): # type: (List[GeneSet]) -> None super().__init__() if sets: self.update(ensure_type(sets, list))
def organism(self, tax_id): self._organism = ensure_type(tax_id, str) self._matcher = self.load_matcher_file(DOMAIN, MATCHER_FILENAME.format(tax_id))
def __init__(self, tax_id): self._organism = ensure_type(tax_id, str) # type: str self._genes = [] # type: (List[str]) self._matcher = self.load_matcher_file(DOMAIN, MATCHER_FILENAME.format(tax_id))