Gravar-mail: A self-consistent knowledge-based approach to protein design.