萃 Clustering [ Gathering Together , Amassing ]

Biological research has generated vast quantities of protein sequences. One of the current outstanding challenges of bioinformatics is to devise effective computational methods that can recognize the function of proteins. One of the most promising approaches is based on protein classification. We first survey the voluminous research in the field of protein classification. We begin by presenting the main protein databases (e.g. SwissProt, UniProt) and the methods for measuring sequence similarity (Smith-Waterman, FASTA, and BLAST). We then look at different protein classification techniques, based on domains, on sequence, on structure, and on evolutionary history. We also look at systems based on aggregating other subsystems. The present work focuses on the application of agglomerative hierarchical clustering to protein classification. Such clustering is the basis of the ProtoNet clustering system. Hierarchical clustering methods are completely automated (or ‘unsupervised’ in machine learning lingo). However, these methods have a severe shortcoming in that they do not accommodate multiple classifications of a single protein. This is particularly important for multiple domains proteins. Agglomerative hierarchical clustering is an iterative process. In the initialization phase each item (protein in our case) forms a singleton, and in each subsequent phase the two clusters with the best merge score are merged. Merge scores are calculated based on the similarity of protein sequences in the merged clusters. In this work we consider several variations on the traditional agglomerative hierarchical clustering algorithm. The first level of variation we consider modifies the merging rules, the similarity metric used. We then develop a new method for clustering that is hierarchical but still allows multiple classifications for single proteins. Specifically, each protein may belong to more than a single cluster. In other words, this is a ‘soft’ or ‘fuzzy’ clustering. This technique combines the advantages of classical hierarchical clustering and domain-based clustering, since it is completely automatic and still capable of correctly classifying multi-domain sequences. We investigate two ways of allowing a single sequence to belong to different clusters. The first approach starts the clustering process with “balls” around each protein instead of starting with singletons. This allows proteins to belong to multiple clusters: each sequence can appear in multiple balls and the hierarchies created by them. The alternate method combines several clustering algorithms to achieve a more accurate classification. In order to quantify the quality of clustering we compare ourselves to the classification generated by widely used classification methods such as Pfam. The similarity between a cluster and a protein family is defined as the size of their intersection over the size of their union. The correspondence between a clustering method and a protein family is the best similarity score of the family with respect to all clusters generated by the method. To combine several methods together we reduce the number of clusters by condensing them. The condensation is done using statistical learning (boosting). We train the method by means of a set that characterizes ‘good’ clusters. This allows us to reduce the total number of clusters substantially. After this condensation we introduce a new clustering method where each cluster is chosen based on statistical learning considerations. Equipped with the measure of correspondence to Pfam, we compare the end result with hierarchical clustering such as the one used in ProtoNet. We show an improvement in the average score from about 0.85 to about 0.88. This represents 20% of the possible improvement. We present a technique for hierarchical clustering of large scale protein database. Viewing the protein database as a graph whose nodes are proteins and edges represent sequence similarities, we remove all edges above a certain fixed threshold. We apply the clustering process, and then generate a new graph with nodes consisting of the clusters created and edges representing cluster similarity. We repeatedly apply these two steps of clustering and graph generation to obtain agglomerative hierarchical clustering while limiting memory requirements. Finally, we present an application of this method to target selection, which is the selection of protein sequences which show promise of having novel structure.