code: def _run_on_chrom(chrom, work_bams, names, work_dir, items):
      
      local_sitelib = utils.R_sitelib()
      batch = sshared.get_cur_batch(items)
      ext = "-%s-cnv" % batch if batch else "-cnv"
      out_file = os.path.join(work_dir, "%s%s-%s.bed" % (os.path.splitext(os.path.basename(work_bams[0]))[0],
                                                         ext, chrom if chrom else "all"))
      if not utils.file_exists(out_file):
          with file_transaction(items[0], out_file) as tx_out_file:
              rcode = "%s-run.R" % os.path.splitext(out_file)[0]
              with open(rcode, "w") as out_handle:
                  out_handle.write(_script.format(prep_str=_prep_load_script(work_bams, names, chrom, items),
                                                  out_file=tx_out_file,
                                                  local_sitelib=local_sitelib))
              rscript = utils.Rscript_cmd()
              try:
                  do.run([rscript, "--no-environ", rcode], "cn.mops CNV detection", items[0], log_error=False)
              except subprocess.CalledProcessError as msg:
                  # cn.mops errors out if no CNVs found. Just write an empty file.
                  if _allowed_cnmops_errorstates(str(msg)):
                      with open(tx_out_file, "w") as out_handle:
                          out_handle.write('track name=empty description="No CNVs found"\n')
                  else:
                      logger.exception()
                      raise
      return [out_file]
docs: Run cn.mops on work BAMs for a specific chromosome.