def bowtie2_se(fastq, ref_index_prefix, multimapping, nth, mem_gb, out_dir): basename = os.path.basename(strip_ext_fastq(fastq)) prefix = os.path.join(out_dir, basename) tmp_bam = '{}.bam'.format(prefix) run_shell_cmd( 'bowtie2 {multimapping} --mm --threads {nth} -x {ref} ' '-U {fastq} | samtools view -1 -S /dev/stdin > {tmp_bam}'.format( multimapping='-k {mm}'.format(mm=multimapping + 1) if multimapping else '', nth=nth, ref=ref_index_prefix, fastq=fastq, tmp_bam=tmp_bam, )) bam = samtools_sort(tmp_bam, nth, mem_gb, out_dir) rm_f(tmp_bam) return bam
def run_preseq(bam_w_dups, prefix, nth=1, mem_gb=None): ''' Runs preseq. Look at preseq data output to get PBC/NRF. ''' # First sort because this file no longer exists... sort_bam = samtools_sort(bam_w_dups, nth, mem_gb) logging.info('Running preseq...') preseq_data = '{0}.preseq.dat'.format(prefix) preseq_log = '{0}.preseq.log'.format(prefix) run_shell_cmd('preseq lc_extrap -P -B -o {preseq_data} {sort_bam} ' '-seed 1 -v 2> {preseq_log}'.format( preseq_data=preseq_data, sort_bam=sort_bam, preseq_log=preseq_log, )) rm_f(sort_bam) return preseq_data, preseq_log
def bwa_se(fastq, ref_index_prefix, nth, mem_gb, out_dir): basename = os.path.basename(strip_ext_fastq(fastq)) prefix = os.path.join(out_dir, basename) tmp_bam = '{}.bam'.format(prefix) sai = bwa_aln(fastq, ref_index_prefix, nth, out_dir) run_shell_cmd( 'bwa samse {ref} {sai} {fastq} | ' 'samtools view -bS /dev/stdin {res_param} > {tmp_bam}'.format( ref=ref_index_prefix, sai=sai, fastq=fastq, res_param=get_samtools_res_param('view', nth=nth), tmp_bam=tmp_bam, )) rm_f(sai) bam = samtools_sort(tmp_bam, nth, mem_gb) rm_f(tmp_bam) return bam
def bowtie2_pe(fastq1, fastq2, ref_index_prefix, multimapping, local, nth, mem_gb, out_dir): basename = os.path.basename(strip_ext_fastq(fastq1)) prefix = os.path.join(out_dir, basename) tmp_bam = '{}.bam'.format(prefix) run_shell_cmd( 'bowtie2 {multimapping} -X2000 {mode_param} --mm --threads {nth} -x {ref} ' '-1 {fastq1} -2 {fastq2} | samtools view -1 -S /dev/stdin > {tmp_bam}'. format( multimapping='-k {mm}'.format(mm=multimapping + 1) if multimapping else '', mode_param='--local ' if local else '', nth=nth, ref=ref_index_prefix, fastq1=fastq1, fastq2=fastq2, tmp_bam=tmp_bam, )) bam = samtools_sort(tmp_bam, nth, mem_gb, out_dir) rm_f(tmp_bam) return bam