Peptide arrays: from macro to micro