Microarray Algorithm