为什么二代测序的原始数据中会出现Read重复现象?
为什么二代测序的原始数据中会出现Read重复现象?
要搞清楚这个read重复(duplicate)的问题,我想我们需要从NGS数据的产出过程说起,具体来说如下:
- 基因组DNA提取;
- DNA随机打断,最常用的是超声打断;
- 对被打断的DNA片段进行末端修复(通常是3'加A),然后在两端加接头,选择特定长度的片段文库进行PCR扩增(通过PCR的扩增会选!择!性!地提高加上了接头的文库分子数量);
- 文库上机与测序芯片(Flowcell)上的引物结合,经过桥式PCR扩增,在芯片上形成测序所需的cluster;
- 进行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重复现象?的更多相关文章
- Next generation sequencing (NGS)二代测序数据预处理与分析
二代测序原理: 1.DNA待测文库构建. 超声波把DNA打断成小片段,一般200--500bp,两端加上不同的接头2.Flowcell.一个flowcell,8个channel,很多接头3.桥式PCR ...
- 样本、文库、重复、lane、run - 二代测序原理及名词解释
参考: 独占鳌头的Illumina仪器(二代测序篇) HiSeq2000测序原理.流程与仪器 NGS文库制备的方法比较[心得点评] 各种测序文库构建方式 样本:就是待测的DNA.RNA或蛋白序列,样本 ...
- Fastqc使用说明
用FastQC检查二代测序原始数据的质量 2013-01-28 21:28:10| 分类: Bioinformatics | 标签:bioinformatics deep-seq |举报 | ...
- NCBI SRA数据库使用详解
转:https://shengxin.ren/article/16 https://www.cnblogs.com/lmt921108/p/7442699.html 批量下载SRA http://ww ...
- 扩增子分析QIIME2-4分析实战Moving Pictures
本示例的的数据来自文章<Moving pictures of the human microbiome>,Genome Biology 2011,取样来自两个人身体四个部位五个时间点 ...
- 测序中Q20 Q30 Q40
你能给别人讲清楚这个概念吗? 二代测序中,每测一个碱基会给出一个相应的质量值,这个质量值是衡量测序准确度的.碱基的质量值13,错误率为5%,20的错误率为1%,30的错误率为0.1%.行业中Q20与Q ...
- 【转录组入门】3:了解fastq测序数据
操作:需要用安装好的sratoolkit把sra文件转换为fastq格式的测序文件,并且用fastqc软件测试测序文件的质量 作业:理解测序reads,GC含量,质量值,接头,index,fastqc ...
- illumina SBS测序详解
illumina SBS测序详解 2018年01月02日 09:33:56 sixu_9days 阅读数:9789 标签: 生物信息学二代测序 更多 个人分类: 测序原理 最近回头重新看了illl ...
- 第三章 RNA测序
第三章 RNA测序 RNA测序(RNA Sequencing,简称RNA-Seq,也被称为全转录物组鸟枪法测序Whole Transcriptome Shotgun Sequencing,简称WT ...
随机推荐
- 20165233 2017-2018-2 《Java程序设计》第九周学习总结
20165233 2017-2018-2 <Java程序设计>第九周学习总结 教材学习内容总结 基础 - URL类:java.net包中的URL类是对统一资源定位符的抽象,使用URL创建对 ...
- UVA-755-排序
奇怪,我怎么还有一个排序题目没过 题意如下: 公司喜欢有难忘的电话号码,一个让电话号码变得难忘的方式是有一个拼读起来难忘的单词,比如,你可以呼叫University of Waterloo通过拨打难忘 ...
- UVA408-水的深度的伪随机数
题意: 公式sed(x) = (sed(x-1)+step)%mod,初始值sed(x)=0,输入step和mod,求解这个公式能不能生成0,1,2,3,4,5.....mod-1 解法:暴力枚举,直 ...
- python2-python3字符串
https://www.cnblogs.com/yangmingxianshen/p/7990102.html
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence f ...
- 28. centos 5.6添加用户时报copydir(): preserving permissions for /home/xxx/.mozilla: Operation not supported错
当执行useradd xxx报如下错:copydir(): preserving permissions for /home/xxx/.mozilla: Operation not supported ...
- 11-11SQLserver基础--数据库之触发器
触发器 意义:本质上就是一个特殊的存储过程,只不过不是通过exec来调用执行,而是通过增删改数据库中的操作来执行. 作用:1.将关联的表之间的数据增删改 2.触发器可以操作视图,在视图上 ...
- Redis用在哪里
1. 高并发缓存/共享session: UserInfo getUserInfo (long id) {} 取: userRedisKey = "user:info: ...
- Swift 4 新特性
多行字符串 /// 多行字符串用三引号括起来 let quotation = """ The White Rabbit put on his spectacles. &q ...
- 【342】Linear Regression by Python
Reference: 用scikit-learn和pandas学习线性回归 首先获取数据存储在 pandas.DataFrame 中,获取途径(CSV 文件.Numpy 创建) 将数据分成 X 和 y ...