code: def model_segments(copy_file, work_dir, paired):
      
      out_file = os.path.join(work_dir, "%s.cr.seg" % dd.get_sample_name(paired.tumor_data))
      tumor_counts, normal_counts = heterogzygote_counts(paired)
      if not utils.file_exists(out_file):
          with file_transaction(paired.tumor_data, out_file) as tx_out_file:
              params = ["-T", "ModelSegments",
                        "--denoised-copy-ratios", copy_file,
                        "--allelic-counts", tumor_counts,
                        "--output-prefix", dd.get_sample_name(paired.tumor_data),
                        "-O", os.path.dirname(tx_out_file)]
              if normal_counts:
                  params += ["--normal-allelic-counts", normal_counts]
              _run_with_memory_scaling(params, tx_out_file, paired.tumor_data)
              for tx_fname in glob.glob(os.path.join(os.path.dirname(tx_out_file),
                                                     "%s*" % dd.get_sample_name(paired.tumor_data))):
                  shutil.copy(tx_fname, os.path.join(work_dir, os.path.basename(tx_fname)))
      return {"seg": out_file, "tumor_hets": out_file.replace(".cr.seg", ".hets.tsv"),
              "final_seg": out_file.replace(".cr.seg", ".modelFinal.seg")}
docs: Perform segmentation on input copy number log2 ratio file.