美文网首页
2022-09-08 bam文件去除重复reads

2022-09-08 bam文件去除重复reads

作者: AsuraPrince | 来源:发表于2022-09-08 10:10 被阅读0次

    适用场景:

    首选软件:

    picard MarkDuplicates

    命令示例:

    export _JAVA_OPTIONS=-Djava.io.tmpdir=./tmp

    picard -Xmx100g MarkDuplicates I=YH9H-2filter_MAPQ20.bam O=YH9H-2filter_MAPQ20redup.bam CREATE_INDEX=ture REMOVE_DUPLICATES=ture M=YH9H-2filter_MAPQ20.metrics.txt

    缺点最难搞的软件,经常会各种超内存等问题,一大堆。该工具的另一个不同之处在于它不仅考虑reads的比对位置,还会考虑其中的插入错配等情况(即会利用sam/bam文件中的CIGAR值),甚至reads的tail,lane以及flowcell。Picard主要考虑reads的5'端的比对位置,一个每个reads比对上的方向。

    samtools rmdup

    如果多个reads具有相同的比对位置时,samtools rmdup将它们标记为duplicates,然后直接将识别出来的重复reads去掉,通常只保留质量最高的一条。

    该方法对于以下两种情况,有很好的去除效果:一些reads由于测序错误导致其不完全相同;比对错误导致不同的序列比对到相同的位置(可能性不大)。

    该方法的缺点:由于samtools去重只考虑reads比对上的起始终止位置,不考虑比对情况,这种去重有时会导致测序信息的丢失。

    双端测序数据用samtools rmdup效果很差,很多人建议用picard工具的MarkDuplicates功能。samtools的rmdup是直接将这些重复序列从比对BAM文件中删除掉,而Picard的MarkDuplicates默认情况则只是在BAM的FLAG信息中标记出来,而不是删除,因此这些重复序列依然会被留在文件中,只是我们可以在变异检测的时候识别到它们,并进行忽略。

    目前认为,samtools rmdup已经过时了,应该使用samtools markdup代替。samtools markdup与picard MarkDuplicates采用类似的策略。

    最近新出的比较快的软件

    sambamba

    sambamba markdup OPTIONS <input.bam> <output.bam>

    主要参数:

    -r, --remove-duplicates 去掉重复序列,否则仅mark重复序列

    -t, --nthreads=NTHREADS

    -l, --compression-level=N

    --tmpdir=TMPDIR 设置中间文件生成目录(默认为/tmp)

    此外,还可以提取sam文件的某一段,sambamba slice OPTIONS <input.bam> region

    也可以使用sambamba操作bam文件和去除重复,据说该命令运行比picard MarkDuplicates快30倍。

    samblaster是sam格式输入文件

    引用如下:

    https://www.jianshu.com/p/645aaa48a8f0

    https://www.jianshu.com/p/5781e7d74c40

    https://www.jianshu.com/p/115b24b7df4c

    相关文章

      网友评论

          本文标题:2022-09-08 bam文件去除重复reads

          本文链接:https://www.haomeiwen.com/subject/paznnrtx.html