Protein clustering and classification