Solution (source code)

= Solution

Choose a cutoff on the ranked score and call every eligible locus above it positive. Compare those calls with the fixed reference labels, count $TP,FP,TN,FN$, and plot $(FP/(FP+TN),TP/(TP+FN))$. Repeating over cutoffs generates the <receiver operating characteristic>.

A very restrictive cutoff starts near $(0,0)$; a cutoff calling everything positive ends at $(1,1)$. The reference labels and eligible locus set must stay fixed during this sweep. Tied scores need a consistent treatment. A single cutoff gives one operating point, whereas the curve describes the trade-off across many possible cutoffs.