docs: def _munch_off_batch(self, queue):
          r"""Take a batch of sequences off the queue, and return pairs_to_run.
          The queue given as a parameter is affected
          """
  
          # if the number of CPUs used == 1, just pop one off (which == below)
          # elif the the number of things in the queue is 1, use all the CPUs and just that hmm
          if len(queue) == 1 or self._num_cpus == 1:
              pairs_to_run = [[queue.pop(0), self._num_cpus]]
          else:
              # else share out CPUs among hmmers
              pairs_to_run = []
              while len(queue) > 0 and len(pairs_to_run) < self._num_cpus:
                  pairs_to_run.append([queue.pop(0), 1])
              # Share out any remaining CPUs
              num_cpus_left = self._num_cpus - len(pairs_to_run)
              while num_cpus_left > 0:
                  for i, _ in enumerate(pairs_to_run):
                      pairs_to_run[i][1] += 1
                      num_cpus_left -= 1
                      if num_cpus_left == 0: break
  
          return pairs_to_run