Check out Gene Set Clustering based on Functional annotation (GeneSCF)
Please use recent version of GeneSCF for successful results.
You can extract all GO terms from gene ontology for your desired organism (Example below, Escherichia coli [ecocyc]) using simple command from GeneSCF,
(Complete GO for E.coli)
./prepare_database -db=GO_all -org=ecocyc
OR (Biological Process)
./prepare_database -db=GO_BP -org=ecocyc
OR (Molecular Functions)
./prepare_database -db=GO_MF -org=ecocyc
OR (Cellular Components)
./prepare_database -db=GO_CC -org=ecocyc
Advantages
Real-time analysis, do not have to depend on enrichment tools to get updated.
Easy for computational biologists to integrate this simple tool with their NGS pipeline.
GeneSCF supports more organisms.
Enrichment analysis for Multiple gene list in single run.
Enrichment analysis for Multiple gene list using Multiple source database (GO,KEGG, REACTOME and NCG) in single run.
Download complete GO terms/Pathways/Functions with associated genes as simple table format in a plain text file (Check "Two step process" below in "GeneSCF USAGE" section).