This unit describes a rapid and efficient method to screen a polypeptide for amino acid residues that contribute to protein-protein interaction interfaces. Cysteine residues are introduced as positional probes in a protein at random by co-expression in bacteria with specific cysteine misincorporator tRNAs. The protein is then purified as an ensemble of polypeptides containing cysteine at low frequency, at different positions in each molecule. The ability of the native protein structure to protect different cysteine residues from chemical modification by iodoacetamide is determined to obtain a protein surface map that reveals candidate surface residues that are likely to be important for protein-protein interaction. Cysteine mutants with altered ligand binding can also be selected simultaneously by affinity chromatography.