Theoretically a protein could have an infinite number of ways it can fold. What are some factors that limit the actual shape a protein can take?