高通量测序的数据处理与分析指北(一)

原理介绍篇

前言

最近正在学习如何处理高通量测序的数据,我认为要处理高通量测序数,那么对测序原理要有一个清晰的认识,本篇文章介绍了sanger测序,二代测序的测序原理

1. sanger测序

要了解二代测序的优势,以及进步在何处,我们需要认识旧的测序方式的缺陷,从而深刻理解二代测序。

我们知道,在DNA合成时,是通过四个不同的碱基,按照模板链一一合成的, 而在sanger测序中,需要介绍一种特殊的碱基 —— ddNTP(双脱氧核苷酸),ddNTP有四种类型:ddATP,ddGTP,ddCTP,ddTTP,分别对应着四种碱基,他们跟正常的碱基不同点在于:ddNTP比正常碱基多脱一个氧,导致ddNTP之后不可以合成碱基,也就是ddNTP可以作为终止碱基参与DNA合成。知道这一点之后我们就可以开始讲sanger测序时DNA是如何合成的,且如何测序的。你也可以选择观看youtube的视频来了解。

  1. 首先你需要准备合成DNA的基本原料——四种碱基+模板链+测序对象的引物+其他必要酶及体系,这里我们假设你准备了四根管子,目前加入的原料均为上述材料,没有不同。

    image-20221022151115431

  2. 在加入试剂后,准备好合适的条件,DNA会开始解旋合成,因为DNA合成的随机性,并不能保证四根管子DNA合成的进度是同步的,甚至不能保证一根管子中的DNA合成是同步的

  3. 当合成反应进行一段时间后(注意不能是反应完成),分别向四根管子加入四种不同的ddNTP终止反应。此时,不同的四根管子,无论其中的DNA合成进行到那一步,其尾端的碱基我们都可以知道

    image-20221022151618051

  4. 然后将四个管子中的DNA半成品置入高精度电泳仪以判断他们的序列长度,然后我们就可以依靠序列的长度和其末端的碱基类型将其串连起来推导出原来的模板链序列了。

    image-20221022151926864

    image-20221022152107850

以上就是sanger测序的基本原理,从其测序原理上来看,sanger测序有这么几个问题:

  1. 测序需要自己合成引物,只能检测已知的基因。
  2. 测序通量较低
  3. 但是sanger测序可以一次性测出较长的序列,这是二代测序所不具备的

2. 二代测序

二代测序主要是针对sanger测序通量低。以及需要自己加引物,只能检测已知基因的这两个问题进行优化。二代测序通过一个方式解决了上述两个问题:将待测的基因序列接上自己设计的引物,这样不同的基因的引物会变为相同的引物。在进行PCR扩增等操作时,不需要对某个基因进行引物的定制。这一个过程就被称为基因文库构建。你可以通过这个视频来清楚的了解高通量测序的原理。下面是我自己的理解

因为DNA在复制时会出现随机错误的特性,目前的二代测序能保证高精度的检测长度大约是150bp,但是我们的基因,或者说编码基因往往不止150bp。甚至一些mRNA反转录出的cDNA的长度也超出了二代测序的最大精度。所以在进行二代测序前需要对检测的基因进行打断。下图描述了这一过程,将DNA或者cDNA打断为一些300-500bp的小片段。因为使用一些内切酶进行打断的,会出现两端不齐的问题,通过互补使其补齐。然后在尾部加上A-tailing是为了方便我们自己设计的引物可以接上序列,换言之A-tailing是为了让我们向序列中加入”接头“,这个”接头“后面会具体介绍到,其实就是包含引物和标签等内容的一小段小序列。

image-20221103211138114

下面这张图就是接头序列的具体结构。

image-20221103212304088

这些小片段接上接头后,我们的文库构建算是完成了。而这些小片段可以简单理解为read。一般来说,高通量测序检测的是mRNA。那么某一基因的read越多,那么就说明mRNA越多,基因的表达越强。这些read的数量就是高通量测序中的count数。显然,现在的最大问题是如何使我们可以检测到这些read的序列信息——ATGC排列,以便我们可以将其对比到基因上。在高通量测序中,使用的原理跟sanger测序类似,也是通过荧光的方法检测的。

高通量测序中使用的碱基是一种特殊的碱基,他的结构如下图:在没有加入洗脱剂(巯基试剂)之前,这个碱基是一个含有荧光基团和阻断基团的碱基,荧光基团在碱基上时,不显色。阻断基团在碱基上时,下一个碱基继续连接。因此高通量测序实际上时不断重复 加入四种特殊碱基延续DNA-加入洗脱剂-高精度拍照辩色确定碱基-加入四种特殊碱基延续DNA 这一过程。通过颜色的顺序就可以确定碱基的顺序。

image-20221103213656011

然而这里会有一个问题——单独一个DNA片段的荧光表达量很细微,并不能检测到。因此需要通过桥式PCR进行扩增,将单独的DNA扩增成一群可以进行荧光检测的重复DNA,并且最好做到不同的DNA在不同的位置,且位置固定互不干扰。桥式PRC就可以做到这一点,桥式PCR和正常的PCR有一点不同。正常的PCR会将DNA扩增,而桥式PCR不但可以扩增DNA,而且扩增后的DNA往往会形成一个簇,来自不同模板的DNA会形成不同的簇。如下图。

image-20221104205740359

在高通量测序中的桥式PCR,会通过在测序板上固定一些序列,这些序列的互补序列我们刚刚通过文库构建的步骤添加到了基因片段的两端,这些文库DNA分散在测序板的各个位置作为复制的模板,通过桥式PCR在附近形成一个簇(cluster)。桥式PCR的具体原理如下图。

image-20221104210137943

本质上就是将DNA的一端固定,然后进行正常的PCR步骤,然后DNA会进行指数型的扩增。并且因为DNA固定,且序列较短,故往往会出现在附件进行复制的现象。最后形成一个cluster。高通量测序最后就是通过检测cluster的颜色判断序列信息,而这些cluster是一个read的复制,故也可以将这些cluster理解为read。

这里再重复一下read的序列信息是如何被检测出的,高精度的摄像头会对测序板进行背光拍照,测序板上的每个点表示cluster或者说是read。合成一个碱基 --> 对荧光基团进行洗脱,同时放出阻断基团,开放后续合成部分 --> 荧光发出亮光 --> 摄像头进行拍照,确定碱基 --> 合成下一个碱基。重复这个过程我们就得到了板上所有read的序列信息,且这个read上面是有index信息的,我们可以通过检查index信息对其进行编号等操作。

image-20221104211947765

通过上述的步骤我们得到了一个已知序列信息的read,再重复一次,这些read是基因的片段,是不完整的基因。那么如何得到基因的表达量呢?因为打断是随机的,并且在做基因表达分析是用的往往是RNA反转录的cDNA为原料。因此每个基因被打断后的read数是跟基因的长度和基因的表达量(mRNA的数量)正相关。而mRNA的长度往往是在一个量级的,当两个基因表达量差距比较大时,可以忽略基因长度的影响。所以,我们再回到那个问题,如何获得基因的表达量?——答案是将read比对回基因,根据read的数量表示基因的表达量,这个read数量就是count数。


[1] sanger测序原理

[2] 高通量测序原理视频

### 高通量测序数据处理入门教程 #### 数据预处理 在处理高通量测序数据之前,通常需要先进行数据清理和过滤。这步骤旨在去除低质量读取、接头污染和其他可能影响后续分析的因素。常用的工具包括Trimmomatic和Fastp。 ```bash fastp -i input.fastq.gz -o output.fastq.gz --detect_adapter_for_pe ``` 此命令用于快速修剪适配器并移除低质量碱基[^1]。 #### 序列比对 对于短读长测序平台产生的reads,可以采用BWA或Bowtie2等软件将其映射到参考基因组上。这些工具能够高效地完成序列匹配工作,并生成SAM/BAM格式文件供进分析使用。 ```bash bwa mem ref.fa reads.fq | samtools view -Sb - > aln.bam samtools sort aln.bam -o sorted_aln.bam ``` 上述脚本展示了如何利用BWA执行比对操作并将结果保存为已排序的二进制形式。 #### 质控统计 为了确保数据分析的有效性,在每轮实验结束后都应进行全面的质量控制检查。Picard Tools 和 Qualimap 是两个广泛使用的质控包;前者专注于重复标记等功能,后者则提供详细的覆盖率报告及其他重要标评估。 ```bash qualimap bamqc -bam sorted_aln.bam -outdir qualimap_report/ java -jar picard.jar MarkDuplicates I=sorted_aln.bam O=marked_duplicates.bam M=dups_metrics.txt ``` 以上两条令分别调用了Qualimap来进行整体质量评价以及通过Picard去重功能减少冗余信息干扰。 #### 组装注释 当面对无参物种或者希望构建更完整的转录组图谱时,则需依赖于de novo组装策略。SPAdes是个适用于多种应用场景的强大工具集,它能够在不同条件下优化参数设置从而得到最优解。而对于获得的新序列片段(contigs),可借助BLASTX/BLASTN搜索公共数据库寻找同源对象进而推断其生物学意义[^2]。 ```bash spades.py --only-assembler -s single_ended_reads.fastq -o spades_output/ blastn -query contig.fasta -db nt -outfmt 6 -evalue 1e-5 -num_threads 8 -max_target_seqs 10 > blast_results.out ``` 这两段代码演示了怎样运行SPAdes进行从头组装过程还有运用NCBI BLAST服务实施初步的功能标注. #### 功能预测网络构建 旦完成了基本的数据整理流程之后,就可以着手开展更加深入的研究活动比如蛋白质结构建模或是代谢路径重建等工作。STRING database提供了丰富的交互式资源帮助研究者们理解分子间关系模式,而Cytoscape则是可视化复杂生物系统的理想选择。 ```python import networkx as nx G = nx.Graph() for line in open('interaction_data.tab'): a, b = line.strip().split('\t') G.add_edge(a,b) nx.write_gml(G,'network.gml') ``` 这段Python程序创建了个简单的图形模型表示法(Graph Modeling Language),可用于导入至Cytoscape中展示基因间的关联情况.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值