code: def run_rsem(job, star_bams, univ_options, rsem_options):
      
      job.fileStore.logToMaster('Running rsem index on %s' % univ_options['patient'])
      work_dir = job.fileStore.getLocalTempDir()
      input_files = {
          'star_transcriptome.bam': star_bams['rnaAligned.toTranscriptome.out.bam'],
          'rsem_index.tar.gz': rsem_options['index_tar']}
      input_files = get_files_from_filestore(job, input_files, work_dir, docker=True)
      parameters = ['--paired-end',
                    '-p', str(rsem_options['n']),
                    '--bam',
                    input_files['star_transcriptome.bam'],
                    '--no-bam-output',
                    '/'.join([input_files['rsem_index'], 'hg19']),
                    'rsem']
      docker_call(tool='rsem', tool_parameters=parameters, work_dir=work_dir,
                  dockerhub=univ_options['dockerhub'])
      output_file = \
          job.fileStore.writeGlobalFile('/'.join([work_dir, 'rsem.isoforms.results']))
      return output_file
docs: This module will run rsem on the RNA Bam file.
  
      ARGUMENTS
      1. star_bams: Dict of input STAR bams
           star_bams
                +- 'rnaAligned.toTranscriptome.out.bam': <JSid>
      2. univ_options: Dict of universal arguments used by almost all tools
           univ_options
                  +- 'dockerhub': <dockerhub to use>
      3. rsem_options: Dict of parameters specific to rsem
           rsem_options
                |- 'index_tar': <JSid for the rsem index tarball>
                +- 'n': <number of threads to allocate>
  
      RETURN VALUES
      1. output_file: <Jsid of rsem.isoforms.results>
  
      This module corresponds to node 9 on the tree