CNNC: a common nearest neighbour clustering approach for gene expression data. (6th September 2011)