code: def check_paired_problems(items):
      
      # ensure we're in a paired batch
      if not get_paired(items):
          return
      num_tumor = len([x for x in items if dd.get_phenotype(x).lower() == "tumor"])
      if num_tumor > 1:
          raise ValueError("Unsupported configuration: found multiple tumor samples in batch %s: %s" %
                           (tz.get_in(["metadata", "batch"], items[0]),
                            [dd.get_sample_name(data) for data in items]))
      elif num_tumor == 0 and any(dd.get_phenotype(data).lower() == "normal" for data in items):
          raise ValueError("Found normal sample without tumor in batch %s: %s" %
                           (tz.get_in(["metadata", "batch"], items[0]),
                            [dd.get_sample_name(data) for data in items]))
      else:
          vcs = get_somatic_variantcallers(items)
          if "mutect" in vcs or "mutect2" in vcs or "strelka2" in vcs:
              paired = get_paired(items)
              if not (paired.normal_data or paired.normal_panel):
                  raise ValueError("MuTect, MuTect2 and Strelka2 somatic calling requires normal sample or panel: %s" %
                                   [dd.get_sample_name(data) for data in items])
docs: Check for incorrectly paired tumor/normal samples in a batch.