code: def run_qsnp(align_bams, items, ref_file, assoc_files, region=None,
               out_file=None):
      
      if utils.file_exists(out_file):
          return out_file
      paired = get_paired_bams(align_bams, items)
      if paired.normal_bam:
          region_files = []
          regions = _clean_regions(items, region)
          if regions:
              for region in regions:
                  out_region_file = out_file.replace(".vcf.gz", _to_str(region) + ".vcf.gz")
                  region_file = _run_qsnp_paired(align_bams, items, ref_file,
                                                 assoc_files, region, out_region_file)
                  region_files.append(region_file)
              out_file = combine_variant_files(region_files, out_file, ref_file, items[0]["config"])
          if not region:
              out_file = _run_qsnp_paired(align_bams, items, ref_file,
                                          assoc_files, region, out_file)
          return out_file
      else:
          raise ValueError("qSNP only works on paired samples")
docs: Run qSNP calling on paired tumor/normal.