code: def _run_cnvkit_shared(inputs, backgrounds):
      
      if tz.get_in(["depth", "bins", "normalized"], inputs[0]):
          ckouts = []
          for data in inputs:
              cnr_file = tz.get_in(["depth", "bins", "normalized"], data)
              cns_file = os.path.join(_sv_workdir(data), "%s.cns" % dd.get_sample_name(data))
              cns_file = _cnvkit_segment(cnr_file, dd.get_coverage_interval(data), data,
                                         inputs + backgrounds, cns_file)
              ckouts.append({"cnr": cnr_file, "cns": cns_file,
                             "background": tz.get_in(["depth", "bins", "background"], data)})
          return ckouts
      else:
          return _run_cnvkit_shared_orig(inputs, backgrounds)
docs: Shared functionality to run CNVkit, parallelizing over multiple BAM files.
  
      Handles new style cases where we have pre-normalized inputs and
      old cases where we run CNVkit individually.