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

去duplicate的方法的更多相关文章

  1. 反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性、字段),而不去使用Invoke方法)

    反射-优化及程序集等(用委托的方式调用需要反射调用的方法(或者属性.字段),而不去使用Invoke方法)   创建Delegate (1).Delegate.CreateDelegate(Type, ...

  2. js:把字符串转为变量使用; js下将字符串当函数去执行的方法

    1 把字符串当变量使用 通过计算 string 得到的值(如果有的话).该方法只接受原始字符串作为参数 demo: var type = "car"; var newStr = & ...

  3. ios 底部用定位 fixed。在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去。解决方法

    ios 底部用定位 fixed.在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去.解决方法 $("input").focus(function() ...

  4. Android软键盘弹出时把布局顶上去的解决方法

    原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在main ...

  5. java 各种去空格的方法

    String str =" dgd fdgd ";   方法一:str = str.trim();//去前后空格 返回:dgd fdgd   方法二:str = str.repla ...

  6. js 数组去重复的方法

    数组去重复是js中常用的方法,归纳了四种如下: 1. for + indexOf  去重复 var arr = [3,5,5,4,1,1,2,3,7,2,5]; var target = []; fo ...

  7. 【SQL】字符串去空格解决方法

    一.表中字符串带空格的原因 1,空格就是空格. 2,控制符 显示为 空格. 二.解决方法 第一种情况,去空格的处理的比较简单,Replace(column,' ','') 就可以解决. 第二种情况,解 ...

  8. 图片放大方法、、菜单栏的位置随滚轮移动固定方法、、<a></a>去外层虚线方法:a:focus { outline:none; -moz-outline:none;};

    图片放大方法一: <style type="text/css">.xt{ width:230px; height:230px;}.tp{ width:230px; he ...

  9. webapp之登录页面当input获得焦点时,顶部版权文本被顶上去 的解决方法

    如上图,顶部版权是用绝对定位写的,被顶上去了,解决方法是判断屏幕大小,改变footer的定位方式: <script> var oHeight = $(document).height(); ...

随机推荐

  1. python3----练习题(三级菜单)

    三级菜单程序. 运行程序输出第一级菜单. 选择一级菜单某项,输出二级菜单,同理输出三级菜单. 退出时返回上一级菜单 menu = { '北京市': { '东城区': { 'aa', 'bb', }, ...

  2. CentOS7环境下在/离线安装GCC与GCC-C++

    前几天在准备CentOS7下的编译环境,在线安装GCC和GCC-C++非常简单,只要机器是联网的在Terminal窗口中按顺序分别输入 yum install gcc yum install gcc- ...

  3. Android无线测试之—UiAutomator UiSelector API介绍之八

    对象搜索—特殊属性.节点与资源ID 一.特殊属性定位对象相关API 返回值 API 描述 UiSelector checkableboolean val) 是否可选择,一般开关组件上具有checkab ...

  4. 《从零开始学Swift》学习笔记(Day 9)——离开表达式你试试!

    原创文章,欢迎转载.转载请注明:关东升的博客 表达式啊是很重要地. 在Swift中,表达式有3种形式. 不指定数据类型 var a1 = 10 指定数据类型 var a1:Int  = 10 使用分号 ...

  5. Xamarin.Forms学习之Page Navigation(一)

    在最初接触Xamarin.Forms的时候,我是跟着Xamarin官方的名为“learning-xamarin-ebook”的pdf文档进行学习的,我在成功运行Hello world程序之后,我开始跟 ...

  6. POJ 1860 Currency Exchange【bellman_ford判断是否有正环——基础入门】

    链接: http://poj.org/problem?id=1860 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22010#probl ...

  7. amortized analysis

    w https://en.wikipedia.org/wiki/Amortized_analysis In computer science, amortized analysis is a meth ...

  8. GBK和UTF-8文字编码的区别

    UTF-8是一种国际化标准的文字编码,我们已知Windows系统程序已经将最初的UTF-8转向Unicode,而GBK的存在是为了中国国情而创造的,不过GBK也将伴随着中文字符的一直流传下去. GBK ...

  9. JavaWeb 之文件下载

    1. 下载概述 下载就是向客户端响应字节数据! 将一个文件变成字节数组, 使用 response.getOutputStream() 来响应给浏览器!! 2. 下载要求 两个头一个流 Content- ...

  10. 通过天天模拟器加burpsuite抓取手机app流量

    通过天天模拟器,代理抓取安卓app数据包.也可以抓取https. 1.下载天天模拟器,官方下载即可,下载安装. 2.启动天天模拟器,设置代理,点击上方wlan设置图标,打开wlan设置,如下: 3.鼠 ...