Sequence clustering

In bioinformatics, sequence clustering algorithms attempt to group sequences that are somehow related. The sequences can be either of genomic, "transcriptomic" (ESTs) or protein origin. For proteins, homologous sequences are typically grouped into families. For EST data, clustering is important to group sequences originating from the same gene before the ESTs are assembled to reconstruct the original mRNA.

Generally, the clustering algorithms are single linkage clustering, constructing a transitive closure of sequences with a similarity over a particular threshold. The similarity score is often based on sequence alignment. Sequence clustering is often used to make a non-redundant set of representative sequences.

Sequence clusters are often synonymous with (but not identical to) protein families. Determining a representative tertiary structure for each sequence cluster is the aim of many structural genomics initiatives.

Sequence clustering packages

 * RDB90 and nrdb90.pl: a nonredundant sequence database
 * TribeMCL: a method for clustering proteins into related groups
 * BAG: a graph theoretic sequence clustering algorithm
 * CD-HIT: a fast heuristic method for making non-redundant databases
 * RSDB: Representative Sequences DataBase project
 * UICluster: Parallel Clustering of EST (Gene) Sequences
 * BLASTClust single linkage clustering with BLAST
 * Clusterer: extendable java application for sequence grouping and cluster analyses
 * PATDB: a program for rapidly identifying perfect substrings
 * NRDB: a program for merging trivially redundant (identical) sequences
 * CluSTr: A single-linkage protein sequence clustering database from Smith-Waterman sequence similarities; covers over 7 mln sequences including UniProt and IPI

Non-redundant sequence databases

 * PISCES: A Protein Sequence Culling Server
 * RDB90 and nrdb90.pl: a nonredundant sequence database
 * UniRef: A non-redundant UniProt sequence database