code: def square_batch_region(data, region, bam_files, vrn_files, out_file):
      
      from bcbio.variation import sentieon, strelka2
      if not utils.file_exists(out_file):
          jointcaller = tz.get_in(("config", "algorithm", "jointcaller"), data)
          if jointcaller in ["%s-joint" % x for x in SUPPORTED["general"]]:
              _square_batch_bcbio_variation(data, region, bam_files, vrn_files, out_file, "square")
          elif jointcaller in ["%s-merge" % x for x in SUPPORTED["general"]]:
              _square_batch_bcbio_variation(data, region, bam_files, vrn_files, out_file, "merge")
          elif jointcaller in ["%s-joint" % x for x in SUPPORTED["gatk"]]:
              gatkjoint.run_region(data, region, vrn_files, out_file)
          elif jointcaller in ["%s-joint" % x for x in SUPPORTED["gvcf"]]:
              strelka2.run_gvcfgenotyper(data, region, vrn_files, out_file)
          elif jointcaller in ["%s-joint" % x for x in SUPPORTED["sentieon"]]:
              sentieon.run_gvcftyper(vrn_files, out_file, region, data)
          else:
              raise ValueError("Unexpected joint calling approach: %s." % jointcaller)
      if region:
          data["region"] = region
      data = _fix_orig_vcf_refs(data)
      data["vrn_file"] = out_file
      return [data]
docs: Perform squaring of a batch in a supplied region, with input BAMs