code: def bam_conversion(job, samfile, sample_type, univ_options):
      
      job.fileStore.logToMaster('Running sam2bam on %s:%s' % (univ_options['patient'], sample_type))
      work_dir = job.fileStore.getLocalTempDir()
      input_files = {
          'aligned.sam': samfile}
      input_files = get_files_from_filestore(job, input_files, work_dir,
                                             docker=True)
      bamfile = '/'.join([work_dir, 'aligned.bam'])
      parameters = ['view',
                    '-bS',
                    '-o', docker_path(bamfile),
                    input_files['aligned.sam']
                    ]
      docker_call(tool='samtools', tool_parameters=parameters, work_dir=work_dir,
                  dockerhub=univ_options['dockerhub'])
      output_file = job.fileStore.writeGlobalFile(bamfile)
      job.fileStore.deleteGlobalFile(samfile)
      reheader_bam = job.wrapJobFn(fix_bam_header, output_file, sample_type, univ_options, disk='60G')
      job.addChild(reheader_bam)
      return reheader_bam.rv()
docs: This module converts SAMFILE from sam to bam
  
      ARGUMENTS
      1. samfile: <JSid for a sam file>
      2. sample_type: string of 'tumor_dna' or 'normal_dna'
      3. univ_options: Dict of universal arguments used by almost all tools
           univ_options
                  +- 'dockerhub': <dockerhub to use>
      RETURN VALUES
      1. output_files: REFER output_files in run_bwa()