fout.write("%s\t%s\t%s\t%s\n" %
                       (sid, lvl, Taxonomy.lineage_str(true_ranks),
                        Taxonomy.lineage_str(ranks)))

    tp_fname = os.path.join(out_path,
                            out_stem + ".eval%d.tp" % int(args.min_conf * 100))
    with open(tp_fname, "w") as fout:
        for sid in e.tp:
            ranks = mislabel_map[sid]["ranks"]
            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))

    fn_fname = os.path.join(out_path,
                            out_stem + ".eval%d.fn" % int(args.min_conf * 100))
    with open(fn_fname, "w") as fout:
        for sid in e.fn:
            true_ranks = true_taxonomy.get_seq_ranks(sid)
            ranks = e.taxonomy.get_seq_ranks(sid)
            fout.write("%s\t%s\t%s\n" % (sid, Taxonomy.lineage_str(true_ranks),
                                         Taxonomy.lineage_str(ranks)))

    full_fname = os.path.join(
        out_path, out_stem + ".eval%d.full" % int(args.min_conf * 100))
    with open(full_fname, "w") as fout:
        #        for sid in mislabel_map:
        #            ranks = mislabel_map[sid]["ranks"]
        #            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))
        for sid in e.tp:
            ranks = mislabel_map[sid]["ranks"]
            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))
        for sid in e.fn:
            ranks = e.taxonomy.get_seq_ranks(sid)
        for sid in e.fp:
            ranks = mislabel_map[sid]["ranks"]
            lvl = mislabel_map[sid]["mis_rank"]
            true_ranks = e.taxonomy.get_seq_ranks(sid)
            fout.write("%s\t%s\t%s\t%s\n" % (sid, lvl, Taxonomy.lineage_str(true_ranks), Taxonomy.lineage_str(ranks)))

    tp_fname = os.path.join(out_path, out_stem + ".eval%d.tp" % int(args.min_conf * 100))
    with open(tp_fname, "w") as fout:
        for sid in e.tp:
            ranks = mislabel_map[sid]["ranks"]
            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))

    fn_fname = os.path.join(out_path, out_stem + ".eval%d.fn" % int(args.min_conf * 100))
    with open(fn_fname, "w") as fout:
        for sid in e.fn:
            true_ranks = true_taxonomy.get_seq_ranks(sid)
            ranks = e.taxonomy.get_seq_ranks(sid)
            fout.write("%s\t%s\t%s\n" % (sid, Taxonomy.lineage_str(true_ranks), Taxonomy.lineage_str(ranks)))

    full_fname = os.path.join(out_path, out_stem + ".eval%d.full" % int(args.min_conf * 100))
    with open(full_fname, "w") as fout:
#        for sid in mislabel_map:
#            ranks = mislabel_map[sid]["ranks"]
#            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))
        for sid in e.tp:
            ranks = mislabel_map[sid]["ranks"]
            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))
        for sid in e.fn:
            ranks = e.taxonomy.get_seq_ranks(sid)
            fout.write("%s\t%s\n" % (sid, Taxonomy.lineage_str(ranks)))