From fold recognition to homology modeling: an analysis of protein modeling challenges at different levels of prediction complexity