# Why are my genes filtered for Gene Ontology term enrichment?

When I enter a list of gene names into common gene ontology (GO) term enricher (e.g. MsigDB or ToppGene) only a small fraction of genes is actually used for the enrichment:

I am struggling to understand why precisely only such a small number of genes is mapped here.

My dataset is mapped with the GENCODE annotation. What annotation is the base of gene ontology? (The picture mentions entrez genes)

GSEA usually requires entrez_id to run. If your list contains gene_symbols, then before enrichment, you need to convert the genes names. This can and is (always) tricky as genes are known with different names. For example, by googling I couldn't find any AASS3 gene, but I found AASS, which is also named LKRSDH,LORSDH, and LKR/SDH. Depending on the software you are using for conversion, and the genome version used some genes will be missed. I usually run (in R) a combination of geneSynonym and biomaRt to fill the gaps in the lists.
Even better, would be to use ensembl_id or even better entrez_id directly