A method of computationally designing a modified polypeptide chain starting from an original polypeptide chain, the method comprising: (i) determining unsubstitutable positions and substitutable positions in an amino acid sequence of the original polypeptide chain; (ii) determining at least one position-specific amino acid alternative for each of said substitutable positions; (iii) combinatorially generating a plurality of designed sequences, each of said designed sequences corresponds to a modified polypeptide chain and comprises at least 5 amino acid substitutions, each being one of said at least one position-specific amino acid alternative, and threading each of said designed sequences on a template structure of the original polypeptide chain, to thereby generate a plurality of designed structures; (iv) sorting said plurality of designed structures according to a minimized energy scoring, said minimized energy scoring is determined by subjecting each of said designed structures to an energy minimization; and (v) selecting at least one of said plurality of designed structures, corresponding to the modified polypeptide chain, based on said minimized energy scoring; thereby obtaining the modified polypeptide chain having at least 5 amino acid substitutions relative to the original polypeptide chain, wherein: in item (ii), said position-specific amino acid alternative is dictated by rules that comprise a position-specific scoring matrix (PSSM), and each of said amino acid alternative is assigned a position-specific stability scoring that is determined by a change in global free energy (ΔG) computed within a shell having a radius of at least 5±0.5 Å. (i) determining unsubstitutable positions and substitutable positions in an amino acid sequence of the original polypeptide chain; (ii) determining at least one position-specific amino acid alternative for each of said substitutable positions; (iii) combinatorially generating a plurality of designed sequences, each of said designed sequences corresponds to a modified polypeptide chain and comprises at least 5 amino acid substitutions, each being one of said at least one position-specific amino acid alternative, and threading each of said designed sequences on a template structure of the original polypeptide chain, to thereby generate a plurality of designed structures; (iv) sorting said plurality of designed structures according to a minimized energy scoring, said minimized energy scoring is determined by subjecting each of said designed structures to an energy minimization; and (v) selecting at least one of said plurality of designed structures, corresponding to the modified polypeptide chain, based on said minimized energy scoring; thereby obtaining the modified polypeptide chain having at least 5 amino acid substitutions relative to the original polypeptide chain, wherein: in item (ii), said position-specific amino acid alternative is dictated by rules that comprise a position-specific scoring matrix (PSSM), and each of said amino acid alternative is assigned a position-specific stability scoring that is determined by a change in global free energy (ΔG) computed within a shell having a radius of at least 5±0.5 Å. in item (ii), said position-specific amino acid alternative is dictated by rules that comprise a position-specific scoring matrix (PSSM), and each of said amino acid alternative is assigned a position-specific stability scoring that is determined by a change in global free energy (ΔG) computed within a shell having a radius of at least 5±0.5 Å.