code: def get_1D_overlap(eclusters, depth=1):
      
      overlap_set = set()
      active = set()
  
      ends = []
      for i, (chr, left, right) in enumerate(eclusters):
          ends.append((chr, left, 0, i))  # 0/1 for left/right-ness
          ends.append((chr, right, 1, i))
      ends.sort()
  
      chr_last = ""
      for chr, pos, left_right, i in ends:
          if chr != chr_last:
              active.clear()
          if left_right == 0:
              active.add(i)
          else:
              active.remove(i)
  
          if len(active) > depth:
              overlap_set.add(tuple(sorted(active)))
  
          chr_last = chr
  
      return overlap_set
docs: Find blocks that are 1D overlapping,
      returns cliques of block ids that are in conflict