code: def _find_metaclusters(clus_obj, sequence2clusters, current_seq, min_seqs):
      
      seen = defaultdict(int)
      metacluster = defaultdict(set)
      c_index = len(sequence2clusters)
      logger.info("Creating meta-clusters based on shared sequences: %s" % c_index)
      meta_idx = 1
      bar = ProgressBar(maxval=c_index)
      bar.start()
      bar.update()
      for itern, name in enumerate(sequence2clusters):
          clusters = sequence2clusters[name]
          if len(clusters) == 0:
              c_index -= 1
              continue
          current_seq[name].align = 1
          meta_idx += 1
          bar.update(itern)
          already_in = _common(clusters, seen)
          _update(clusters, meta_idx, seen)
          metacluster[meta_idx] = metacluster[meta_idx].union(clusters)
  
          if already_in:
              for seen_metacluster in already_in:
                  clusters2merge = metacluster[seen_metacluster]
                  metacluster[meta_idx] = metacluster[meta_idx].union(clusters2merge)
                  _update(clusters2merge, meta_idx, seen)
                  # metacluster[seen_metacluster] = 0
                  del metacluster[seen_metacluster]
      logger.info("%s metaclusters from %s sequences" % (len(metacluster), c_index))
  
      return metacluster, seen
docs: Mask under same id all clusters that share sequences
      :param clus_obj: cluster object coming from detect_cluster
      :param min_seqs: int cutoff to keep the cluster or not. 10 as default
  
      :return: updated clus_obj and dict with seq_id: cluster_id