code: def _solve_conflict(list_c, s2p, n_cluster):
      
      logger.debug("_solve_conflict: count once")
      if parameters.decision_cluster == "bayes":
          return decide_by_bayes(list_c, s2p)
      loci_similarity = _calculate_similarity(list_c)
      loci_similarity = sorted(loci_similarity.iteritems(), key=operator.itemgetter(1), reverse=True)
      common = sum([score for p, score in loci_similarity])
      while common > 0:
          n_cluster += 1
          logger.debug("_solve_conflict: ma %s" % loci_similarity)
          pairs = loci_similarity[0][0]
          score = loci_similarity[0][1]
          logger.debug("_solve_conflict: common %s, new %s" % (score, n_cluster))
          if parameters.decision_cluster.startswith("most-voted"):
              list_c = _split_cluster_by_most_vote(list_c, pairs)
          else:
              list_c = _split_cluster(list_c, pairs, n_cluster)
          list_c = {k: v for k, v in list_c.iteritems() if len(v.loci2seq) > 0}
          loci_similarity = _calculate_similarity(list_c)
          loci_similarity = sorted(loci_similarity.iteritems(), key=operator.itemgetter(1), reverse=True)
          #logger.note("%s %s" % (pairs, loci_similarity[0][1]))
          common = sum([score for p, score in loci_similarity])
          logger.debug("_solve_conflict: solved clusters %s" % len(list_c.keys()))
      return list_c
docs: Make sure sequences are counts once.
      Resolve by most-vote or exclussion
  
      :params list_c: dict of objects cluster
      :param s2p: dict of [loci].coverage = # num of seqs
      :param n_cluster: number of clusters
  
      return dict: new set of clusters