<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def classifyplot_from_valfile(val_file, outtype="png", title=None, size=None, samples=None, callers=None):
 """Create a plot from a summarized validation file. Does new-style plotting of summarized metrics of false negative rate and false discovery rate. https://en.wikipedia.org/wiki/Sensitivity_and_specificity """

    mpl.use('Agg', force=True)
    df = pd.read_csv(val_file)
    grouped = df.groupby(["sample", "caller", "vtype"])
    df = grouped.apply(_calculate_fnr_fdr)
    df = df.reset_index()
    if len(df) == 0:
        return []
    else:
        out_file = "%s.%s" % (os.path.splitext(val_file)[0], outtype)
        _do_classifyplot(df, out_file, title, size, samples, callers)
        return [out_file]