code: def run_muse(job, tumor_bam, normal_bam, univ_options, muse_options):
      
      # Get a list of chromosomes to handle
      if muse_options['chromosomes']:
          chromosomes = muse_options['chromosomes']
      else:
          chromosomes = sample_chromosomes(job, muse_options['genome_fai'])
      perchrom_muse = defaultdict()
      for chrom in chromosomes:
          call = job.addChildJobFn(run_muse_perchrom, tumor_bam, normal_bam, univ_options,
                                   muse_options, chrom, disk=PromisedRequirement(
                                       muse_disk,
                                       tumor_bam['tumor_dna_fix_pg_sorted.bam'],
                                       normal_bam['normal_dna_fix_pg_sorted.bam'],
                                       muse_options['genome_fasta']),
                                   memory='6G')
          sump = call.addChildJobFn(run_muse_sump_perchrom, call.rv(), univ_options, muse_options,
                                    chrom,
                                    disk=PromisedRequirement(muse_sump_disk,
                                                             muse_options['dbsnp_vcf']),
                                    memory='6G')
          perchrom_muse[chrom] = sump.rv()
      return perchrom_muse
docs: Spawn a MuSE job for each chromosome on the DNA bams.
  
      :param dict tumor_bam: Dict of bam and bai for tumor DNA-Seq
      :param dict normal_bam: Dict of bam and bai for normal DNA-Seq
      :param dict univ_options: Dict of universal options used by almost all tools
      :param dict muse_options: Options specific to MuSE
      :return: Dict of results from running MuSE on every chromosome
               perchrom_muse:
                   |- 'chr1': fsID
                   |- 'chr2' fsID
                   |
                   |-...
                   |
                   +- 'chrM': fsID
      :rtype: dict