Exploring functional annotation through genomic and metagenomic data mining