示例#1
0
 def __init__(self, config, taxonomy_fname):
     self.config = config
     self.taxonomy = GGTaxonomyFile(taxonomy_fname)
     self.max_level = self.taxonomy.max_rank_level()
     self.stats = [StatEntry() for i in range(self.max_level + 1)]
     self.totstat_lvl = None
     self.miss_list = []
     self.tp = []
     self.tn = []
     self.fp = []
     self.fn = []
    for mis_rec in mislabel_map.itervalues():
        rank = mis_rec["mis_rank"]
        rank_mis_map[rank] = rank_mis_map.get(rank, 0) + 1

    rank_mis_count = sorted(rank_mis_map.items(), key=itemgetter(0))

    total = 0
    for rank, cnt in rank_mis_count:
        total += cnt
#        print "%s:\t%d\t%d" % (rank,cnt,total)
    print ""

    if not args.gtruth_fname:
        sys.exit(0)

    true_taxonomy = GGTaxonomyFile(args.gtruth_fname)

    out_path, out_stem = os.path.split(args.mis_fname)
    if args.output_dir:
        out_path = args.output_dir
    if out_stem.endswith(".mis"):
        out_stem = out_stem[:-4]
#    mis_fname = os.path.join(out_path, out_stem + ".mis")

    e = EpataxEvaluator(config, args.taxonomy_fname)
    e.calc_mislabel_stats(mislabel_map, true_taxonomy.seq_ranks_map, False)

    fp_fname = os.path.join(out_path,
                            out_stem + ".eval%d.fp" % int(args.min_conf * 100))
    with open(fp_fname, "w") as fout:
        for sid in e.fp:
示例#3
0
 def set_taxonomy(self, taxonomy_fname):
     self.taxonomy = GGTaxonomyFile(taxonomy_fname)