def bwa_aln_paired(bam_path,fastq_dir,read1,read2,realn_dir,reference_fasta_path,logger): pe_realn_dir=os.path.join(realn_dir,'bwa_aln_pe') logger.info('pe_realn_dir=%s' % pe_realn_dir) logger.info('read1=%s' % read1) logger.info('read2=%s' % read2) fastqbasename=read1.replace('_1.fq','') logger.info('fastqbasename=%s' % fastqbasename) outbam=os.path.basename(fastqbasename+'.bam') outbam_path=os.path.join(se_realn_dir,outbam) if pipe_util.already_step(pe_realn_dir,'pe_'+fastqbasename,logger): logger.info('already completed step `bwa aln paired` of: %s' % bam_path) else: os.makedirs(pe_realn_dir,exist_ok=True) f1_path=os.path.join(fastq_dir,read1) f2_path=os.path.join(fastq_dir,read2) sai1=fastqbasename+'_1.sai' sai2=fastqbasename+'_2.sai' sai1_path=os.path.join(pe_realn_dir,sai1) sai2_path=os.path.join(pe_realn_dir,sai2) bwa_aln_cmd1=['bwa','aln','-t 24',reference_fasta_path,f1_path] bwa_aln_cmd2=['bwa','aln','-t 24',reference_fasta_path,f2_path] sai1_open=open(sai1_path,'wb') pipe_util.do_command(bwa_aln_cmd1,logger,stdout=sai1_open,stderr=subprocess.PIPE) sai1_open.close() sai2_open=open(sai2_path,'wb') pipe_util.do_command(bwa_aln_cmd2,logger,stdout=sai2_open,stderr=subprocess.PIPE) sai2_open.close() bwa_aln_sampe_cmd=['bwa','sampe','-a 500',reference_fasta_path,sai1_path,sai2_path,f1_path,f2_path] samtools_cmd=['samtools','view','-Shb','-o',outbam_path,'-'] cmdlist=list() cmdlist.append(bwa_aln_sampe_cmd) cmdlist.append(samtools_cmd) pipe_util.do_piped_commands(cmdlist,logger) pipe_util.create_already_step(pe_realn_dir,'pe_'+fastqbasename,logger) return outbam_path
def bwa_aln_single(bam_path,fastq_dir,read1,realn_dir,readkey,reference_fasta_path,logger): se_realn_dir=os.path.join(realn_dir,'bwa_aln_'+readkey) logger.info('se_realn_dir=%s' % se_realn_dir) logger.info('read1=%s' % read1) fastqbasename=read1.replace('_'+readkey+'.fq','') logger.info('fastqbasename=%s' % fastqbasename) outbam=os.path.basename(fastqbasename+'.bam') outbam_path=os.path.join(se_realn_dir,outbam) if pipe_util.already_step(se_realn_dir,readkey+'_'+fastqbasename,logger): logger.info('already completed step `bwa mem single` of: %s' % bam_path) else: os.makedirs(se_realn_dir,exist_ok=True) f1=os.path.join(fastq_dir,read1) bwa_aln_cmd=['bwa','aln','-t 24','-p','-T 0',reference_fasta_path,f1] bwa_samse_cmd=['bwa','sampe','-a 500',reference_fasta_path,sai1_path,sai2_path,f1_path,f2_path] samtools_cmd=['samtools','view','-Shb','-o',outbam_path,'-'] cmdlist=list() cmdlist.append(bwa_cmd) cmdlist.append(samtools_cmd) pipe_util.do_piped_commands(cmdlist,logger) logger.info('completed running step `bwa aln single` of: %s' % bam_path) pipe_util.create_already_step(se_realn_dir,readkey+'_'+fastqbasename,logger) return outbam_path