Improving functional analysis of microarray gene expression data