# Purpose: refactoring.
# Create on 10 Aug 2019 by Hui Lan <lanhui@zjnu.edu.cn>

def make_gene_name_AGI_map_dict(fname):
    '''
    A dictionary that maps gene id to gene name, and gene name to gene id.
    fname is ../Data/information/AGI-to-gene-names_v2.txt
    '''
    d = {}
    f = open(fname)
    for line in f:
        line = line.strip()
        lst = line.split()
        agi = lst[0].upper()
        name_string = lst[1].upper()
        d[agi] = name_string
        for name in name_string.split(';'):
            if not name in d:
                d[name] = agi
    f.close()
    return d


def get_gene_name(gene_id, agi2name_dict):
    if gene_id in agi2name_dict and agi2name_dict[gene_id] != gene_id:
        gene_name = agi2name_dict[gene_id]
    else:
        gene_name = '.'
    return gene_name