Factors Affecting Protein Folding