Independent component analysis of gene expression data