code: def _split_cluster_by_most_vote(c, p):
      
      old, new = c[p[0]], c[p[1]]
      old_size = _get_seqs(old)
      new_size = _get_seqs(new)
      logger.debug("_most_vote: size of %s with %s - %s with %s" % (old.id, len(old_size), new.id, len(new_size)))
      if len(old_size) > len(new_size):
          keep, remove = old, new
      else:
          keep, remove = new, old
      common = list(set(old_size).intersection(new_size))
      logger.debug("_most_vote: keep %s remove  %s with common %s" % (keep.id, remove.id, len(common)))
      for idl in remove.loci2seq:
          if len(common) > 0:
              remove.loci2seq[idl] = list(set(remove.loci2seq[idl]) - set(common))
      keep.loci2seq = {k: v for k, v in keep.loci2seq.iteritems() if len(v) > 0}
      remove.loci2seq = {k: v for k, v in remove.loci2seq.iteritems() if len(v) > 0}
      keep.update()
      remove.update()
      c[keep.id] = keep
      c[remove.id] = remove
      return c
docs: split cluster by most-vote strategy