Computational re-design of protein structures to improve solubility