RNA-seq中的常见问题汇总

参考链接:http://www.huangshujia.me/2018/05/26/2018-05-26-How-Does-Sequencing-Duplicates-happen.html

1. RNA-Seq是否可以替代WES完成对外显子的变异检测?这不但省去用探针做外显子捕获这个步骤,代价更小;而且,它在融合基因的检测上还更有优势?

这是一个非常好的问题。我的回答是:RNA-Seq不能代替WES完成外显子的变异检测,原因如下:

(1). 转录本不是全部的外显子。由于基因通过可变剪切出不同的转录本,实现多能性。那么,没被该转录本包括的外显子就丢失了;

(2). 转录本数据在基因上的覆盖度是极度不均匀的。不同基因的表达量不同,有些很高,有些甚至没有。进行变异检测的时候,这种不均匀性会极大影响变异结果的有效检出。导致很多发现的变异可能都是那些高表达但是却很可能不具备什么关注点的基因上。如果这时你还是想获得更多的变异,那么到头来还是得花更多的钱加大测序深度;

(3). 目前对转录本数据进行变异检测,还是一个偏于补充性质的分析。RNA-Seq的目的主要还是集中在基因表达方面,以及寻找差异表达基因和融合基因上。对于变异检测,这类数据中也肯定可以发现,但假阴一定是很高的,比如低表达的基因,甚至是在这个组织(或者样本)中不表达的基因,你就无法有效检出它基因组上的变异了。另外,由于目前的二代测序系统并不能对RNA中的U碱基进行识别,因此,RNA测序的时候需要先反转录为cDNA,这个过程会为RNA的变异检测带来一定程度的假阳结果;

(4). 变异检测范围有限。使用RNA-Seq数据很难发现除单碱基变异(SNV)之外的其他突变(比如Indel)。

2. 为什么二代测序的原始数据中会出现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的方式来建库。

3、二代测序的原理及专业名词解释汇总

参考链接:
http://blog.sina.com.cn/s/blog_5c2f929b0102w5b8.html
https://www.cnblogs.com/leezx/p/6247885.html

二代测序的原理

二代测序的芯片结构

样本:就是待测的DNA、RNA或蛋白序列,样本来源单一的就是单样本,样本来源于多处就是多样本,一般我们测序用的样本都是单样本,但有时候有特殊需求,我们会把一些样本混合在一起测序,也就是多样本测序。

文库:二代三代读长都是有限的,为此我们必须将全长的序列打断成小片段的文库才能进行测序。总的来说,在NGS分析之前,制备RNA或DNA的主要步骤包括:片段化和/或筛分指定长度的目标序列;将目标片段转化成双链DNA;在片段末端连上寡核苷酸接头;以及定量最终的文库。

单端测序和双端测序:单端测序(Single-read)首先将DNA样本进行片段化处理形成200-500bp的片段,引物序列连接到DNA片段的一端,然后末端加上接头,将片段固定在flow cell上生成DNA簇,上机测序单端读取序列(图1)。 Paired-end方法是指在构建待测DNA文库时在两端的接头上都加上测序引物结合位点,在第一轮测序完成后,去除第一轮测序的模板链,用对读测序模块(Paired-End Module)引导互补链在原位置再生和扩增,以达到第二轮测序所用的模板量,进行第二轮互补链的合成测序(图2)。

flowcell:FC,一个FC就是一个载玻片状的载体,它是测序的场所。

lane:表示测序芯片上的一条流通槽,测序文库与试剂均在里面,测序信号的扫描也是按照一条lane上的一个tile进行。一个FC有多条lane,一般是8条

run:测序仪运行一次

4、Read Group的信息解释

参考链接:https://mp.weixin.qq.com/s/awdjoXRYobrQAbXmAp3C0g
在使用bwa进行比对时,会有-R参数用来补充read group信息,这对于后续进行call variation时必要的
read group:在sam中以@RG开头,它是用来将比对的read进行分组的。不同的组之间测序过程被认为是相互独立的,这个信息对于我们后续对比对数据进行错误率分析和Mark duplicate时非常重要。
1)ID,这是Read Group的分组ID,一般设置为测序的lane ID(不同lane之间的测序过程认为是独立的),下机数据中我们都能看到这个信息的,一般都是包含在fastq的文件名中
2)PL,指的是所用的测序平台,这个信息不要随便写!特别是当我们需要使用GATK进行后续分析的时候,更是如此!这是一个很多新手都容易忽视的一个地方,在GATK中,PL只允许被设置为:ILLUMINA,SLX,SOLEXA,SOLID,454,LS454,COMPLETE,PACBIO,IONTORRENT,CAPILLARY,HELICOS或UNKNOWN这几个信息。基本上就是目前市场上存在着的测序平台,当然,如果实在不知道,那么必须设置为UNKNOWN,名字方面不区分大小写
3)SM,样本ID,同样非常重要,有时候我们测序的数据比较多的时候,那么可能会分成多个不同的lane分布测出来,这个时候SM名字就是可以用于区分这些样本;
4)LB,测序文库的名字,这个重要性稍微低一些,主要也是为了协助区分不同的group而存在。文库名字一般可以在下机的fq文件名中找到,如果上面的lane ID足够用于区分的话,也可以不用设置LB。
除了以上这四个之外,还可以自定义添加其他的信息,不过如无特殊的需要,对于序列比对而言,这4个就足够了。这些信息设置好之后,在RG字符串中要用制表符(\t)将它们分开
总结:ID一般用来写lane ID,如果在测的时候一个样本一个lane,那也可以是sample id。PL必须是它指定的那几个。SM是样本的ID,如果是一个样本一个lane的话,ID=SM,如果是一个样本多个lane的话(测序很深时),ID是laneID,SM是样本id,要做区分。LB,可以随便设置。
例子:

$ bwa mem -t 4 -R '@RG\tID:foo_lane\tPL:illumina\tLB:library\tSM:sample_name' /path/to/human.fasta read_1.fq.gz read_2.fq.gz | samtools view -S -b - > sample_name.bam

5、为什么比对完之后要排序(sort)?

FASTQ文件里面这些被测序下来的read是随机分布于基因组上面的,第一步的比对是按照FASTQ文件的顺序把read逐一定位到参考基因组上之后,随即就输出了,它不会也不可能在这一步里面能够自动识别比对位置的先后位置重排比对结果。因此,比对后得到的结果文件中,每一条记录之间位置的先后顺序是乱的,我们后续去重复等步骤都需要在比对记录按照顺序从小到大排序下来才能进行,所以这才是需要进行排序的原因
[注意] 排序后如果发现新的BAM文件比原来的BAM文件稍微小一些,不用觉得惊讶,这是压缩算法导致的结果,文件内容是没有损失的。

6、去除重复序列的原因

https://mp.weixin.qq.com/s/awdjoXRYobrQAbXmAp3C0g

什么是重复序列

首先什么是重复序列,重复序列是在进行PCR扩增时,由同一个DNA分子产生了很多的相同的拷贝。重复序列的存在会导致对于变异的判断产生错误,主要有以下几点:
1)DNA在打断的时候会发生一些变异,而PCR会扩大这个信号,导致假阳性的出现。
2)PCR过程会引入新的变异,这些变异越早发生,那其在后续的扩增中错误的拷贝会越多,导致假阳性
3)PCR本身存在序列偏好性,如果存在真实的变异后,PCR产生了偏好性,如对reference序列扩增偏向强烈,那变异的碱基信息会减少,导致假阴性,反之,导致假阳性。
4)目前使用的主流工具,GATK、Samtools、Platpus等这种利用贝叶斯原理的变异检测算法都是认为所用的序列数据都不是重复序列(即将它们和其他序列一视同仁地进行变异的判断,所以带来误导),因此必须要进行标记(去除)或者使用PCR-Free的测序方案
其次是如何识别或去除重复序列,既然PCR扩增是把同一段DNA序列复制出很多份,那么这些序列在经过比对之后它们一定会定位到基因组上相同的位置,比对的信息看起来也将是一样的!于是,我们就可以根据这个特点找到这些重复序列了!事实上,现有的工具包括Samtools和Picard中去除重复序列的算法也的确是这么做的。不同的地方在于,samtools的rmdup是直接将这些重复序列从比对BAM文件中删除掉,而Picard的MarkDuplicates默认情况则只是在BAM的FLAG信息中标记出来,而不是删除,因此这些重复序列依然会被留在文件中,只是我们可以在变异检测的时候识别到它们,并进行忽略。

你可能感兴趣的:(RNA-seq中的常见问题汇总)