code: def _run_collect_allelic_counts(pos_file, pos_name, work_dir, data):
      
      out_dir = utils.safe_makedir(os.path.join(dd.get_work_dir(data), "structural", "counts"))
      out_file = os.path.join(out_dir, "%s-%s-counts.tsv" % (dd.get_sample_name(data), pos_name))
      if not utils.file_exists(out_file):
          with file_transaction(data, out_file) as tx_out_file:
              params = ["-T", "CollectAllelicCounts", "-L", pos_file, "-I", dd.get_align_bam(data),
                        "-R", dd.get_ref_file(data), "-O", tx_out_file]
              _run_with_memory_scaling(params, tx_out_file, data)
      return out_file
docs: Counts by alleles for a specific sample and set of positions.