Genome annotation and inferring function