Functional Annotation and Protein Families: From Theory to Practice