code: def _cobalt_ratio_file(paired, work_dir):
      
      cobalt_dir = utils.safe_makedir(os.path.join(work_dir, "cobalt"))
      out_file = os.path.join(cobalt_dir, "%s.cobalt" % dd.get_sample_name(paired.tumor_data))
      if not utils.file_exists(out_file):
          cnr_file = tz.get_in(["depth", "bins", "normalized"], paired.tumor_data)
          with file_transaction(paired.tumor_data, out_file) as tx_out_file:
              with open(tx_out_file, "w") as out_handle:
                  writer = csv.writer(out_handle, delimiter="\t")
                  writer.writerow(["Chromosome", "Position", "ReferenceReadCount", "TumorReadCount",
                                   "ReferenceGCRatio", "TumorGCRatio", "ReferenceGCDiploidRatio"])
          raise NotImplementedError
      return out_file
docs: Convert CNVkit binning counts into cobalt ratio output.
  
      This contains read counts plus normalization for GC, from section 7.2
      "Determine read depth ratios for tumor and reference genomes"
  
      https://www.biorxiv.org/content/biorxiv/early/2018/09/20/415133.full.pdf
  
      Since CNVkit cnr files already have GC bias correction, we re-center
      the existing log2 ratios to be around 1, rather than zero, which matches
      the cobalt expectations.
  
      XXX This doesn't appear to be a worthwhile direction since PURPLE requires
      1000bp even binning. We'll leave this here as a starting point for future
      work but work on using cobalt directly.