Protein Threading For Genome-Scale Structural Analysis