Protein chips: from concept to practice