Clustering Microarray Data: Theoretical and Practical Issues