Protein structure prediction: the state of the art