使用bowtie2和samblaster一步到位的干净比对

bowtie2

以前都是和samtools组合,如下:

bowtie2 -x $index -U $id | samtools sort -@ 4 -o $sample.bam -

运行速度很慢,现在有高效工具啦,比如sambamba主要有filter,merge,slice和duplicate等七个功能来处理sam/bam文件,几乎可以替代 samtools啦,不过,这里要着重介绍的是samblaster

samblaster

主要参数:
-i —input 输入sam文件(必须包含header且按reads id排序)
-o —output 输出sam文件
-d —discordantFile 输出discordant read pairs
-s —splitterFile 输出split reads
-u —unmappedFile 输出unmapped/clipped reads

其他参数:
-a —acceptDupMarks 不去重
-e —excludeDups 去掉discordant, splitter, and/or unmapped等重复(具体定义详见samblaster主页)
-r —removeDups 去掉重复(-e —excludeDups类似)
—addMateTags 添加MC and MQ tags

-M 与bwa mem -M 类似

命令组合

bowtie2 -x $index -U $id | samblaster -e -d $sample.disc.sam -s $sample.split.sam | samtools view -Sb - > $sample.clean.bam

当然,也可以使用bwa啦,如下:

#自动输出discordant read pairs和split read alignments:
bwa mem <idxbase> samp.r1.fq samp.r2.fq | samblaster -e -d samp.disc.sam -s samp.split.sam | samtools view -Sb - > samp.out.bam
#从bam文件中提取 split reads和discordants read pairs
samtools view -h samp.bam | samblaster -a -e -d samp.disc.sam -s samp.split.sam -o /dev/null

Comments are closed.