def normalize_allele_name(raw_allele):
    if raw_allele in _normalized_allele_cache:
        return _normalized_allele_cache[raw_allele]
    parsed_alleles = parse_classi_or_classii_allele_name(raw_allele)
    species = parsed_alleles[0].species
    normalized_list = [species]
    for parsed_allele in parsed_alleles:
        if len(parsed_allele.allele_family) > 0:
            normalized_list.append("%s*%s:%s" % (
                parsed_allele.gene,
                parsed_allele.allele_family,
                parsed_allele.allele_code))
        else:
            # mice don't have allele families
            # e.g. H-2-Kd
            # species = H-2
            # gene = K
            # allele = d
            normalized_list.append("%s%s" % (
                parsed_allele.gene,
                parsed_allele.allele_code))
    normalized = "-".join(normalized_list)
    _normalized_allele_cache[raw_allele] = normalized
    return normalized
resetSearch() -> None
dataset/ETHPy150Open hammerlab/mhctools/mhctools/alleles.py/normalize_allele_name--crossover with--dataset/ETHPy150Open VisTrails/VisTrails/vistrails/gui/query_view.py/QQueryBox.resetSearch