当前位置 : 主页 > 编程语言 > java >

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

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ 在NGS的数据分析中,去除PCR重复序列是一个常见的分析步骤,无论是WES/WGS的snp calling,还是chip_seq, ATAC_seq,都需要对原始的bam文件进行过滤,去除其中的PCR重复序列。 为了完成这一

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

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

1. samtools

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

  • 必须是经过samtools fixmate命令处理之后的文件
  • 必须是按照比对上染色体坐标位置排序之后的文件

  • 另外,由于​​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·


    NGS测序中PCR重复序列的判定方法_公众号

    一个只分享干货的

    生信众号




    上一篇:解密ATAC中的测序饱和度分析
    下一篇:没有了
    网友评论