def reduceloci(clus_obj,  path):
filtered = {}<EOL>n_cluster = <NUM_LIT:0><EOL>large = <NUM_LIT:0><EOL>current = clus_obj.clusid<EOL>logger.info("<STR_LIT>" % len(clus_obj.loci.keys()))<EOL>bar = ProgressBar(maxval=len(current))<EOL>bar.start()<EOL>bar.update(<NUM_LIT:0>)<EOL>for itern, idmc in enumerate(current):<EOL><INDENT>bar.update(itern)<EOL>logger.debug("<STR_LIT>" % idmc)<EOL>c = copy.deepcopy(list(current[idmc]))<EOL>n_loci = len(c)<EOL>if n_loci < <NUM_LIT:1000>:<EOL><INDENT>filtered, n_cluster = _iter_loci(c, clus_obj.clus, (clus_obj.loci, clus_obj.seq), filtered, n_cluster)<EOL><DEDENT>else:<EOL><INDENT>large += <NUM_LIT:1><EOL>n_cluster += <NUM_LIT:1><EOL>_write_cluster(c, clus_obj.clus, clus_obj.loci, n_cluster, path)<EOL>filtered[n_cluster] = _add_complete_cluster(n_cluster, c, clus_obj.clus)<EOL><DEDENT><DEDENT>clus_obj.clus = filtered<EOL>seqs = <NUM_LIT:0><EOL>for idc in filtered:<EOL><INDENT>seqs += len(filtered[idc].idmembers)<EOL><DEDENT>logger.info("<STR_LIT>" % (seqs))<EOL>logger.info("<STR_LIT>" % large)<EOL>logger.info("<STR_LIT>" % REMOVED)<EOL>logger.info("<STR_LIT>" % CONFLICT)<EOL>return clus_obj<EOL>
reduce number of loci a cluster has
    :param clus_obj: cluster object object
    :param path: output path