zoukankan      html  css  js  c++  java
  • 去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 

    拒绝低效率勤奋,保持高效思考
  • 相关阅读:
    docker 的官方PHP镜像 如何修改 php.ini 配置
    数据结构和算法
    接口的幂等性
    linux ftp服务器设置,只允许用户访问指定的文件夹,禁止访问其他文件夹
    rabitmq + php
    微信上传客服消息图片
    golang Printf 函数有超过 10 个转义字符
    golang bufio.NewScarme
    springboot(一)
    springboot加入第三方jar,使用mvn打包
  • 原文地址:https://www.cnblogs.com/timeisbiggestboss/p/7897430.html
Copyright © 2011-2022 走看看