code: def DAVIDgetGeneAttribute(x,df,refCol="ensembl_gene_id",fieldTOretrieve="gene_name"):
      
      
      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
docs: 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