NGS测序中PCR重复序列的判定方法

欢迎关注”生信修炼手册”!

在NGS的数据分析中,去除PCR重复序列是一个常见的分析步骤,无论是WES/WGS的snp calling,还是chip_seq, ATAC_seq,都需要对原始的bam文件进行过滤,去除其中的PCR重复序列。

为了完成这一工作,常用的工具有以下几种

1. samtools

操作SAM/BAM文件,samtools肯定是首选的工具。在samtools中也提供了去除PCR重复的命令markdup, 该命令对输入的bam文件有以下两点要求

  1. 必须是经过samtools fixmate命令处理之后的文件

  2. 必须是按照比对上染色体坐标位置排序之后的文件

另外,由于fixmate命令要求输入的bam文件为按照read name,即序列名称排序之后的文件,所以在使用markdup命令时,需要以下4步转换过程

# 第一步,按照read name排序bam文件
samtools sort -n -o namesort.bam input.bam
# 第二步,运行fixmate命令
samtools fixmate -m namesort.bam fixmate.bam
# 第三步,按照coordinate排序bam文件
samtools sort -o positionsort.bam fixmate.bam
#第四步,运行markdup命令
samtools markdup positionsort.bam markdup.bam

虽然samtools处理bam文件的速度很快,但是经过这一系列的排序操作之后,整个duplicate做的过程耗时非常久。

2. picard MarkDuplicates

picard的MarkDuplicates命令称得上是使用的最广泛的去除PCR重复的工具了,要求输入的bam文件为按照比对位置排序之后的文件,用法如下

# 第一步,按照coordinate排序bam文件
samtools sort -o positionsort.bam input.bam
# 第二步,运行MarkDuplicate命令
java -jar picard.jar MarkDuplicate \
I=positionsort.bam \
O=markdup.bam \
M=markdup.metrc.csv
3. sambamba

sambamba是一款比samtools速度更快的操作BAM文件的工具,也提供了markdup命令,其PCR重复的判定方法和picard是一致的,用法如下

# 第一步,按照coordinate排序bam文件
sambamba sort -o positionsort.bam input.bam
# 第二步,运行markdup命令
sambamba markdup positionsort.bam markdup.bam

除了这三种方法之外,还有很多的工具可以去除PCR重复序列,只不过这3种方法最为常见,其中sambamba的操作速度最快,推荐使用。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  更多精彩

  写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值