Returns a list of gene names for given gene ids.

    :param x: a string with the list of IDs separated by ', '
    :param df: a dataframe with the reference column and a the column to retrieve
    :param refCol: the header of the column containing the identifiers
    :param fieldTOretrieve: the field to retrieve from parsedGTF eg. 'gene_name'

    :returns: list of fieldTOretrieve separeted by ', ' in the same order as the given in x

def DAVIDgetGeneAttribute(x,df,refCol="ensembl_gene_id",fieldTOretrieve="gene_name"):
    """
    Returns a list of gene names for given gene ids.

    :param x: a string with the list of IDs separated by ', '
    :param df: a dataframe with the reference column and a the column to retrieve
    :param refCol: the header of the column containing the identifiers
    :param fieldTOretrieve: the field to retrieve from parsedGTF eg. 'gene_name'

    :returns: list of fieldTOretrieve separeted by ', ' in the same order as the given in x
    """
    
    l=x.split(", ")
    l=[ s.upper() for s in l ]
    tmpdf=pd.DataFrame({refCol:l},index=range(len(l)))
    df_fix=df[[refCol,fieldTOretrieve]].drop_duplicates()
    df_fix[refCol]=df_fix[refCol].apply(lambda x: x.upper())
    ids=pd.merge(tmpdf,df_fix,how="left",on=[refCol])
    ids=ids[fieldTOretrieve].tolist()
    ids=[ str(s) for s in ids ]
    ids=", ".join(ids)
    return ids