def make_scores(<EOL>ic50_y,<EOL>ic50_y_pred,<EOL>sample_weight=None,<EOL>threshold_nm=<NUM_LIT>,<EOL>max_ic50=<NUM_LIT>):
y_pred = from_ic50(ic50_y_pred, max_ic50)<EOL>try:<EOL><INDENT>auc = sklearn.metrics.roc_auc_score(<EOL>ic50_y <= threshold_nm,<EOL>y_pred,<EOL>sample_weight=sample_weight)<EOL><DEDENT>except ValueError as e:<EOL><INDENT>logging.warning(e)<EOL>auc = numpy.nan<EOL><DEDENT>try:<EOL><INDENT>f1 = sklearn.metrics.f1_score(<EOL>ic50_y <= threshold_nm,<EOL>ic50_y_pred <= threshold_nm,<EOL>sample_weight=sample_weight)<EOL><DEDENT>except ValueError as e:<EOL><INDENT>logging.warning(e)<EOL>f1 = numpy.nan<EOL><DEDENT>try:<EOL><INDENT>tau = scipy.stats.kendalltau(ic50_y_pred, ic50_y)[<NUM_LIT:0>]<EOL><DEDENT>except ValueError as e:<EOL><INDENT>logging.warning(e)<EOL>tau = numpy.nan<EOL><DEDENT>return dict(<EOL>auc=auc,<EOL>f1=f1,<EOL>tau=tau)<EOL>
Calculate AUC, F1, and Kendall Tau scores.

Parameters
-----------
ic50_y : float list
    true IC50s (i.e. affinities)

ic50_y_pred : float list
    predicted IC50s

sample_weight : float list [optional]

threshold_nm : float [optional]

max_ic50 : float [optional]

Returns
-----------
dict with entries "auc", "f1", "tau"