Robotic spotting of cDNA and oligonucleotide microarrays