A semi-supervised hierarchical approach: two-dimensional clustering of microarray gene expression data