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
Пример #2
0
    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))
Пример #3
0
    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))
Пример #4
0
    def update(self, sets):
        # type: (List[GeneSet]) -> None

        for g_set in sets:
            self.add(ensure_type(g_set, GeneSet))
Пример #5
0
    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))
Пример #7
0
    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))