Open Access Highly Accessed Open Badges Software

Nearest Neighbor Networks: clustering expression data based on gene neighborhoods

Curtis Huttenhower12, Avi I Flamholz1, Jessica N Landis3, Sauhard Sahi3, Chad L Myers12, Kellen L Olszewski23, Matthew A Hibbs12, Nathan O Siemers4, Olga G Troyanskaya12 and Hilary A Coller3*

Author Affiliations

1 Department of Computer Science, Princeton University, Princeton, NJ,08544, USA

2 Lewis-Sigler Institute for Integrative Genomics, Princeton University, Princeton, NJ, 08544, USA

3 Department of Molecular Biology, Princeton University, Princeton, NJ, 08544, USA

4 Bristol-Myers Squibb, 31 Pennington-Rocky Hill Road, Pennington, NJ, 08534, USA

For all author emails, please log on.

BMC Bioinformatics 2007, 8:250  doi:10.1186/1471-2105-8-250

Published: 12 July 2007



The availability of microarrays measuring thousands of genes simultaneously across hundreds of biological conditions represents an opportunity to understand both individual biological pathways and the integrated workings of the cell. However, translating this amount of data into biological insight remains a daunting task. An important initial step in the analysis of microarray data is clustering of genes with similar behavior. A number of classical techniques are commonly used to perform this task, particularly hierarchical and K-means clustering, and many novel approaches have been suggested recently. While these approaches are useful, they are not without drawbacks; these methods can find clusters in purely random data, and even clusters enriched for biological functions can be skewed towards a small number of processes (e.g. ribosomes).


We developed Nearest Neighbor Networks (NNN), a graph-based algorithm to generate clusters of genes with similar expression profiles. This method produces clusters based on overlapping cliques within an interaction network generated from mutual nearest neighborhoods. This focus on nearest neighbors rather than on absolute distance measures allows us to capture clusters with high connectivity even when they are spatially separated, and requiring mutual nearest neighbors allows genes with no sufficiently similar partners to remain unclustered. We compared the clusters generated by NNN with those generated by eight other clustering methods. NNN was particularly successful at generating functionally coherent clusters with high precision, and these clusters generally represented a much broader selection of biological processes than those recovered by other methods.


The Nearest Neighbor Networks algorithm is a valuable clustering method that effectively groups genes that are likely to be functionally related. It is particularly attractive due to its simplicity, its success in the analysis of large datasets, and its ability to span a wide range of biological functions with high precision.