def METHOD_NAME(self, f):
    d = {}
    firstLine = True
    header = []
    for line in f["f"].splitlines():
        cols = line.strip().split("\t")
        if len(cols) < 7:
            log.warning(
                "{} was initially flagged as the output from plotFingerprint --outQualityMetrics, but that seems to not be the case. Skipping...".format(
                    f["fn"]
                )
            )
            return dict()
        if firstLine:
            header = [str(x) for x in cols[1:]]
            firstLine = False
            continue
        s_name = self.clean_s_name(cols[0], f)
        if s_name in d:
            log.warning("Replacing duplicate sample {}.".format(s_name))
        d[s_name] = OrderedDict()
        try:
            for i, c in enumerate(cols[1:]):
                if i >= len(header):
                    log.warning(
                        "{} was initially flagged as the output from plotFingerprint --outQualityMetrics, but that seems to not be the case. Skipping...".format(
                            f["fn"]
                        )
                    )
                    return dict()
                if header[i] == "AUC" or header[i] == "Synthetic AUC":
                    continue
                d[s_name][header[i]] = float(c)
        except:
            log.warning(
                "{} was initially flagged as the output from plotFingerprint --outQualityMetrics, but that seems to not be the case. Skipping...".format(
                    f["fn"]
                )
            )
            return dict()
    return d