#kdrew: should be top 5% of decoys, so this works for 1000 decoy set
score_top = 50
print "Filtering top %s" % (score_top,)

score_list = []

with open("score.sc") as f:
#kdrew: eat top two lines
	line = f.readline()
	line = f.readline()
	for line in f.readlines():
		score = line.split()[1]
		eDiff_repack = line.split()[12]
		decoyname = line.split()[-1]
		score_list.append( (float(score), float(eDiff_repack), decoyname ) )

score_list.sort(key = lambda tup: tup[0])
eDiff_repack_top = score_list[:score_top]
eDiff_repack_top.sort(key = lambda tup: tup[1])
final_model = eDiff_repack_top[0][2]
final_model_filename = "%s.pdb" % (final_model,)
print "Top model: %s" % (final_model_filename,)

