Overview
Clustering is an unsupervised learning technique that partitions a set of objects into groups such that objects within the same cluster are more similar to each other than to those in other clusters. In bioinformatics, clustering addresses exploratory questions where ground-truth labels do not exist: discovering new disease subtypes, identifying co-expressed gene modules, or detecting microbial community structures. The quality of clustering depends critically on the chosen similarity measure and algorithm, and results require biological validation rather than purely statistical metrics.
Methods
K-means partitions data into a predefined number of clusters by minimizing within-cluster variance and is fast and scalable but assumes spherical clusters. Hierarchical clustering builds a dendrogram of nested groupings using agglomerative or divisive strategies, with the advantage that the number of clusters can be chosen after inspection. DBSCAN identifies clusters as dense regions separated by sparse areas and handles arbitrary shapes while detecting outliers. Gaussian mixture models provide probabilistic cluster assignments and can capture clusters with different sizes and orientations. For high-dimensional data, clustering is often preceded by dimensionality reduction. Internal validation indices such as silhouette score and external measures such as adjusted Rand index quantify cluster quality when ground truth is available.
Applications
Clustering identifies cancer subtypes from DNA microarrays and gene expression profiles, gates cell populations in flow cytometry data, and defines operational taxonomic units in microbial community profiling from bacterial genetics studies. It also reveals functional modules in protein-protein interaction networks and groups patients by molecular signatures for personalized treatment strategies.