• 去duplicate的方法


    1.什么是duplicate,为什么要去除。

    什么是duplicate:这是在建库的过程后,对已连有接头的DNA片段进行扩增,然后去接flowcell。之所以在建库后扩增,这是由于接flowcell的效率很低,建库后的分子很少。

    为什么要去除:因为PCR duplicate后就会导致一个序列被重复测了多次。如果这个序列在后面的分析中有突变位点,则不去pcr dup就会增加它的深度,然后被定位真的突变位点。

    2.主要有运用两种工具:samtools和picard

    samtools

    A:利用flags值:samtools view -F 1024 - h test.bam >rmdup.bam

    B:rmdup工具:samtools rmdup test.bam rmdup.bam 

    C1:fixmate和markdup工具:samtools markdup test.bam markdup.bam

    C2:fixmate和markdup工具:samtools markdup -r test.bam markdup.bam 

    类型 wc -l 查看read数目 备注  
    去重前 4888252    
    去重A 4888252

    用于测试的sam文件中的flags值最高只到181,所以是没有过滤掉任何reads。

    sam文件来自于比对软件bwa,那么flags值是否。

     
    去重B 4888252 说明只是在duplicate read上标注,并没有将它从sam文件中去除  
    去重C1 4888252 说明只是在duplicate read上标注,并没有将它从sam文件中去除  
    去重C2 3930244 说明已经将duplicate read从sam文件中去除  
    去重D1 4888252 说明只是在duplicate read上标注,并没有将它从sam文件中去除  
    去重D2 3930212 说明已经将duplicate read从sam文件中去除  

    picard

    D1:java -jar picard.jar MarkDuplicate I=test.bam O=picard1.bam M=picard1.txt  (test.bam是坐标轴排序的bam文件)

    D2:java -jar picard.jar MarkDuplicate REMOVE_DUPLICATES I=test.bam O=picard1.bam M=picard1.txt 

    拒绝低效率勤奋,保持高效思考
  • 相关阅读:
    【leetcode】153. 寻找旋转排序数组中的最小值
    vue下载网络图片
    前端开发项目细节
    如何在手机上预览本地h5页面
    react拖拽添加新组件
    js拖入并复制和拖动改变位置和改变大小
    dva model
    postMessage跨源通信
    react-router
    event.stopPropagation()和event.preventDefault(),return false的区别
  • 原文地址:https://www.cnblogs.com/timeisbiggestboss/p/7897430.html
Copyright © 2020-2023  润新知