为什么二代测序的原始数据中会出现Read重复现象?

要搞清楚这个read重复(duplicate)的问题,我想我们需要从NGS数据的产出过程说起,具体来说如下:

  1. 基因组DNA提取;
  2. DNA随机打断,最常用的是超声打断;
  3. 对被打断的DNA片段进行末端修复(通常是3'加A),然后在两端加接头,选择特定长度的片段文库进行PCR扩增(通过PCR的扩增会选!择!性!地提高加上了接头的文库分子数量);
  4. 文库上机与测序芯片(Flowcell)上的引物结合,经过桥式PCR扩增,在芯片上形成测序所需的cluster;
  5. 进行SBS测序,光学信号捕获,生成序列。

我们一般认为第1步DNA提取出来的是完整的基因组,打断则是完全随机的——通常来说也确实如此。

在第3步,PCR扩增时,同一个DNA片段会产生多个相同的拷贝,第4步测序的时候,这些来源于同!一!个!拷贝的DNA片段会结合到Fellowcell的不同位置上,生成完全相同的测序cluster,然后被测序出来,这些相同的序列就是duplicate。这是duplicate的第一个来源,也是主要来源,称为PCR duplicates(PCR重复)。

同样,在第4步,生成测序cluster的时候,某一个cluster中的DNA序列可能搭到旁边的另一个cluster的生成位点上,又再重新长成一个相同的cluster,这也是序列duplicate的另一个来源,这个现象在Illumina HiSeq4000之后的Flowcell中会有这类Cluster duplicates,这是第二类duplicate(如下图)。

在第5步中,某些cluster在测序的时候,捕获的荧光亮点由于光波的衍射,导致形状出现重影(如同近视散光一样),导致它可能会被当成两个荧光点来处理。这也会被读出为两条完全相同的reads,这是第三类duplicate,称之为Optical duplicates(光学重复);

 
 

以上三种比较常见,还有第四种,称为Sister duplicates,这是比较特殊的一个情况。它是文库分子的两条互补链同时都与Flowcell上的引物结合分别形成了各自的cluster被测序,最后产生的这对reads是完全反向互补的。比对到参考基因组时,也分别在正负链的相同位置上,在有些分析中也会被认为是一种duplicates。

另外,据说 NextSeq 平台上还出现过由于荧光信号捕获相机移动位置不够,导致 tile 边缘被重复拍摄,每次采样区域的边缘由于重复采样而出现了duplicates,下图中蓝色点代表 duplicates,可以看到在tile的左右两侧明显富集。

 
 

以上,除了NextSeq的情况之外,所有这些不同类型的duplicates都各有特点。比如PCR duplicate的特点是随机分布于Flowcell表面;而cluster duplicates和optical duplicates 的特点是它们都来自Flowcell上位置相邻的cluster。Cluster的位置一般都会被记录在原始测序fastq文件@Sequence-id那一行中。

这些Read重复都会一定程度上导致一些碱基信号被错误地拉高或者减低,会对后续分析带来干扰,特别是在WGS和WES分析时都需要去除。如果测序过程没什么特殊问题或者原因,那么,测序数据的duplicate比例一般都在10%以下。

另外,PCR duplicates可以通过PCR-free来避免。并且PCR本身还会带来一些其他的问题,比如扩增过程自带了一定的偏向性,这会损失一定的测序随机性,使得某些序列信息被扩大或者减小。所以,只要DNA起始量足够,那么我们就应该尽量采用PCR Free的方式来建库。

作者:黄树嘉
链接:https://www.jianshu.com/p/f1cd91e24edd
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

为什么二代测序的原始数据中会出现Read重复现象?的更多相关文章

  1. Next generation sequencing (NGS)二代测序数据预处理与分析

    二代测序原理: 1.DNA待测文库构建. 超声波把DNA打断成小片段,一般200--500bp,两端加上不同的接头2.Flowcell.一个flowcell,8个channel,很多接头3.桥式PCR ...

  2. 样本、文库、重复、lane、run - 二代测序原理及名词解释

    参考: 独占鳌头的Illumina仪器(二代测序篇) HiSeq2000测序原理.流程与仪器 NGS文库制备的方法比较[心得点评] 各种测序文库构建方式 样本:就是待测的DNA.RNA或蛋白序列,样本 ...

  3. Fastqc使用说明

    用FastQC检查二代测序原始数据的质量 2013-01-28 21:28:10|  分类: Bioinformatics |  标签:bioinformatics  deep-seq   |举报 | ...

  4. NCBI SRA数据库使用详解

    转:https://shengxin.ren/article/16 https://www.cnblogs.com/lmt921108/p/7442699.html 批量下载SRA http://ww ...

  5. 扩增子分析QIIME2-4分析实战Moving Pictures

    本示例的的数据来自文章<Moving pictures of the human microbiome>,Genome Biology 2011,取样来自两个人身体四个部位五个时间点   ...

  6. 测序中Q20 Q30 Q40

    你能给别人讲清楚这个概念吗? 二代测序中,每测一个碱基会给出一个相应的质量值,这个质量值是衡量测序准确度的.碱基的质量值13,错误率为5%,20的错误率为1%,30的错误率为0.1%.行业中Q20与Q ...

  7. 【转录组入门】3:了解fastq测序数据

    操作:需要用安装好的sratoolkit把sra文件转换为fastq格式的测序文件,并且用fastqc软件测试测序文件的质量 作业:理解测序reads,GC含量,质量值,接头,index,fastqc ...

  8. illumina SBS测序详解

    illumina SBS测序详解 2018年01月02日 09:33:56 sixu_9days 阅读数:9789 标签: 生物信息学二代测序 更多 个人分类: 测序原理   最近回头重新看了illl ...

  9. 第三章 RNA测序

    第三章 RNA测序   RNA测序(RNA Sequencing,简称RNA-Seq,也被称为全转录物组鸟枪法测序Whole Transcriptome Shotgun Sequencing,简称WT ...

随机推荐

  1. 学习MongoDB 八: MongoDB索引(索引限制条件)(二)

    一.简介 我们上一篇介绍了索引基本操作,通过db.collection.createIndex(keys, options)语法创建索引,我们继续介绍地理空间索引.索引的限制,使我们在MongoDB时 ...

  2. PyCharm License Activation激活码失效问题的解决方法

    自己的小Python项目好几天没有写了,今天打开PyCharm准备继续写,突然发现之前的激活码被取消不能用了,本来激情满满的准备干活啦!之前搜的这个激活码本来说的是可以用到18年1月份的呢,哎…心情是 ...

  3. java技术-重点方向

    多线程 锁 事务 缓存 hashmap 并发编程

  4. 《GPU高性能编程CUDA实战》第七章 纹理内存

    ▶ 本章介绍了纹理内存的使用,并给出了热传导的两个个例子.分别使用了一维和二维纹理单元. ● 热传导(使用一维纹理) #include <stdio.h> #include "c ...

  5. 网络性能测试工具iperf

    参考网站:https://www.cnblogs.com/yingsong/p/5682080.html https://docs.azure.cn/zh-cn/articles/azure-oper ...

  6. MyEclipse jsp 中文乱码

    在最开始加上 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  7. 机器学习入门-混淆矩阵-准确度-召回率-F1score 1.itertools.product 2. confusion_matrix(test_y, pred_y)

    1. itertools.product  进行数据的多种组合 intertools.product(range(0, 1), range(0, 1))  组合的情况[0, 0], [0, 1], [ ...

  8. 前端-CSS-7-标准文档流&行内元素和块级元素转换

    1.什么是标准文档流 <!--  什么是标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别 web 网页的制作 是个“流” 从上而下 ,像 “织毛衣” 而设计软件 ,想往哪里画东 ...

  9. 一个取消事件的简单js例子(事件冒泡与取消默认行为)

    先上代码: <div id='outer' onclick='alert("我是outer")'> <div id="middle" oncl ...

  10. Spring 中的国际化Message的简单例子(ApplicationContext) 不跟框架集成的版本

    首先,建立一个描述message的XML文件,名为messages.xml     <?xml version="1.0" encoding="UTF-8" ...