code: def _get_callable_regions(data):
      
      import pybedtools
      callable_files = data.get("callable_regions")
      if callable_files:
          assert len(callable_files) == 1
          regions = [(r.chrom, int(r.start), int(r.stop)) for r in pybedtools.BedTool(callable_files[0])]
      else:
          work_bam = list(tz.take(1, filter(lambda x: x and x.endswith(".bam"), data["work_bams"])))
          if work_bam:
              with pysam.Samfile(work_bam[0], "rb") as pysam_bam:
                  regions = [(chrom, 0, length) for (chrom, length) in zip(pysam_bam.references,
                                                                           pysam_bam.lengths)]
          else:
              regions = [(r.name, 0, r.size) for r in
                         ref.file_contigs(dd.get_ref_file(data), data["config"])]
      return regions
docs: Retrieve regions to parallelize by from callable regions or chromosomes.