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