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

2019-07-26 16:21:40 浏览数 (1)

bowtie2

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

代码语言:javascript复制
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 类似

命令组合

代码语言:javascript复制
bowtie2 -x $index -U $id | samblaster -e -d $sample.disc.sam -s $sample.split.sam | samtools view -Sb - > $sample.clean.bam

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

代码语言:javascript复制
#自动输出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

0 人点赞