code: def subset_bam_by_region(in_file, region, config, out_file_base=None):
      
      if out_file_base is not None:
          base, ext = os.path.splitext(out_file_base)
      else:
          base, ext = os.path.splitext(in_file)
      out_file = "%s-subset%s%s" % (base, region, ext)
      if not file_exists(out_file):
          with pysam.Samfile(in_file, "rb") as in_bam:
              target_tid = in_bam.gettid(region)
              assert region is not None, \
                     "Did not find reference region %s in %s" % \
                     (region, in_file)
              with file_transaction(config, out_file) as tx_out_file:
                  with pysam.Samfile(tx_out_file, "wb", template=in_bam) as out_bam:
                      for read in in_bam:
                          if read.tid == target_tid:
                              out_bam.write(read)
      return out_file
docs: Subset BAM files based on specified chromosome region.