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:
def set_taxonomy(self, taxonomy_fname): self.taxonomy = GGTaxonomyFile(taxonomy_fname)