使用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