Protein engineering: Reading, writing and redesigning