code: def _bam_coverage(name, bam_input, data):
      
      cmd = ("{bam_coverage} -b {bam_input} -o {bw_output} "
            "--binSize 20 --effectiveGenomeSize {size} "
            "--smoothLength 60 --extendReads 150 --centerReads -p {cores}")
      size = bam.fasta.total_sequence_length(dd.get_ref_file(data))
      cores = dd.get_num_cores(data)
      try:
          bam_coverage = config_utils.get_program("bamCoverage", data)
      except config_utils.CmdNotFound:
          logger.info("No bamCoverage found, skipping bamCoverage.")
          return None
      resources = config_utils.get_resources("bamCoverage", data["config"])
      if resources:
          options = resources.get("options")
          if options:
              cmd += " %s" % " ".join([str(x) for x in options])
      bw_output = os.path.join(os.path.dirname(bam_input), "%s.bw" % name)
      if utils.file_exists(bw_output):
          return bw_output
      with file_transaction(bw_output) as out_tx:
          do.run(cmd.format(**locals()), "Run bamCoverage in %s" % name)
      return bw_output
docs: Run bamCoverage from deeptools