1. A method executed by a computer under the control of a program, said computer including a memory for storing said program, said method comprising the steps of: receiving at least one protein backbone structure; applying a protein design algorithm to generate a protein sequence and structure; sampling and evaluating one or more amino acids and rotamers within the context of said protein sequence and structure; generating a probability matrix for said amino acids and rotamers that represent the viable sequence space for said protein backbone.