code: def _match_batches(tumor, normal):
      
      def _get_batch(x):
          b = dd.get_batch(x)
          return [b] if not isinstance(b, (list, tuple)) else b
      if normal:
          tumor = copy.deepcopy(tumor)
          normal = copy.deepcopy(normal)
          cur_batch = list(set(_get_batch(tumor)) & set(_get_batch(normal)))
          assert len(cur_batch) == 1, "No batch overlap: %s and %s" % (_get_batch(tumor), _get_batch(normal))
          cur_batch = cur_batch[0]
          tumor["metadata"]["batch"] = cur_batch
          normal["metadata"]["batch"] = cur_batch
      return tumor, normal
docs: Fix batch names for shared tumor/normals to ensure matching