Microarray analysis and data processing