We develop and apply computational models towards two goals: (1) to enable the engineering of proteins with defined fitness parameters as molecular parts with new and useful functions and (2) to use model predictions and designer proteins to characterize and reengineer sets of protein-protein interactions controlling biological processes.