code: def run(items, background=None):
      
      if not background: background = []
      background_bams = []
      paired = vcfutils.get_paired_bams([x["align_bam"] for x in items], items)
      if paired:
          inputs = [paired.tumor_data]
          if paired.normal_bam:
              background = [paired.normal_data]
              background_bams = [paired.normal_bam]
      else:
          assert not background
          inputs, background = shared.find_case_control(items)
          background_bams = [x["align_bam"] for x in background]
      orig_vcf = _run_wham(inputs, background_bams)
      out = []
      for data in inputs:
          if "sv" not in data:
              data["sv"] = []
          final_vcf = shared.finalize_sv(orig_vcf, data, items)
          data["sv"].append({"variantcaller": "wham", "vrn_file": final_vcf})
          out.append(data)
      return out
docs: Detect copy number variations from batched set of samples using WHAM.