二代测序三代测序怎么选从价格准确度到应用场景一文讲清
测序这件事,说复杂也复杂,说简单也简单。就像你去超市买东西,有的便宜但得挑挑拣拣,有的贵点但省事儿又放心。测序技术也是一样,今天我给你掰扯掰扯这俩”代际”的区别,保证你看完就能做决定。
先搞明白:什么叫”代”
测序技术的”代”,说白了就是技术迭代。你可以把它想象成手机——二代测序像是iPhone 13,成熟、稳定、性价比高;三代测序像是刚发布的iPhone 16,功能更强大,但价格也更贵。
二代测序(NGS),全称叫下一代测序,是现在医院的标配。它的工作原理是把DNA切成一小段一小段,然后同时测,最后拼起来。就像你有一万块拼图,先打散成小块,每块拍照,最后电脑帮你拼回原图。
三代测序(TGS),比如PacBio和Oxford Nanopore,是直接读一整条DNA链,不用切。就像你直接看一整卷电影胶片,而不是拆成一张张图片再看。
价格:这是个硬骨头
价格是很多人关心的,毕竟测序不便宜。
二代测序的价格已经打下来了。拿人类全基因组测序来说,现在大概1000-3000元就能搞定一个样品。做肿瘤基因检测, Panels 大概几百到两千,全外显子组测序大概3000-5000,全基因组测序在3000-8000这个区间。
三代测序呢?贵得多。同样的人类全基因组测序,PacBio大概5000-15000元,Nanopore大概3000-10000元。如果是长读长测序做结构变异分析,价格还能再往上走。
我来给你列个对比表,这样更直观:
┌─────────────────┬──────────────┬──────────────┐
│ 项目 │ 二代测序(NGS) │ 三代测序(TGS) │
├─────────────────┼──────────────┼──────────────┤
│ 全基因组测序 │ 1000-3000元 │ 5000-15000元│
│ 全外显子组测序 │ 3000-5000元 │ - │
│ 肿瘤Panel检测 │ 500-2000元 │ 1000-3000元│
│ 宏基因组测序 │ 2000-5000元 │ 4000-8000元│
│ 甲基化检测 │ 3000-6000元 │ 5000-10000元│
└─────────────────┴──────────────┴──────────────┘
价格差距主要是硬件成本和试剂成本决定的。二代测序设备(比如Illumina的NovaSeq)虽然贵,但单次运行能测几十个样品,摊下来成本就低了。三代测序设备相对贵,而且通量不如二代,所以单价高。
准确度:谁更靠谱?
准确度这事儿,得分开说。
二代测序的准确度非常高,单碱基准确度能达到99.9%以上,也就是每测1000个碱基,最多错一个。这个准确度在临床诊断里是完全够用的,所以很多医院的检测项目都用二代。
三代测序的单碱基准确度早年比较低,大概只有85-92%,被二代按在地上摩擦。但最近几年进步飞快!PacBio的HiFi模式已经能做到99.9%以上,Nanopore通过最新 chemistry 也能达到99%左右。所以现在三代测序的准确度已经不输了。
不过呢,三代测序有个特点:它的错误是”随机错误”,而二代的错误是”系统性错误”。什么意思呢?三代的错误分布均匀,可以通过增加测序深度来弥补;二代的错误可能集中在某些特定序列上,比如重复序列区域,这个就很难补救。
让我用代码的方式给你展示一下这两种测序的数据质量差异:
# 模拟二代和三代测序的准确度对比
import numpy as np
# 假设我们有一条1000bp的DNA序列
true_sequence = "ATCG" * 250 # 400bp的重复序列
# 二代测序模拟 - 高准确度但短读长
def ngs_simulation(sequence, read_length=150, error_rate=0.001):
"""二代测序模拟:切成短片段,高准确度"""
fragments = []
i = 0
while i < len(sequence):
fragment = sequence[i:i+read_length]
# 添加少量随机错误
errors = np.random.random(len(fragment)) < error_rate
mutated = list(fragment)
for j in np.where(errors)[0]:
mutated[j] = np.random.choice(["A","T","C","G"])
fragments.append("".join(mutated))
i += read_length
return fragments
# 三代测序模拟 - 低准确度但长读长
def tgs_simulation(sequence, read_length=10000, error_rate=0.05):
"""三代测序模拟:长读长,单碱基错误率较高"""
reads = []
start = 0
while start < len(sequence):
end = min(start + read_length, len(sequence))
read = sequence[start:end]
# 添加较多随机错误
errors = np.random.random(len(read)) < error_rate
mutated = list(read)
for j in np.where(errors)[0]:
mutated[j] = np.random.choice(["A","T","C","G"])
reads.append("".join(mutated))
start += read_length // 2 # 50%重叠
return reads
# 测试
ngs_reads = ngs_simulation(true_sequence)
tgs_reads = tgs_simulation(true_sequence)
print(f"二代测序 reads 数量: {len(ngs_reads)}")
print(f"三代测序 reads 数量: {len(tgs_reads)}")
print(f"二代平均读长: {np.mean([len(r) for r in ngs_reads])}bp")
print(f"三代平均读长: {np.mean([len(r) for r in tgs_reads])}bp")
运行这段代码,你就能直观看到:二代测序虽然每个碱基很准,但每次只能读150bp左右;三代测序虽然单个碱基可能错,但一次能读几千甚至几万bp。
核心区别:读长和组装能力
这才是选择的关键!
读长是两者的本质区别。二代测序的读长一般就150-300bp,最长也就600bp左右。三代测序呢?PacBio的HiFi读长能达到15-25kb,Nanopore甚至能读出超过100kb的超长reads。
这个差异意味着什么?意味着在基因组组装这件事上,三代测序完胜。
想象一下,你有一本被撕碎的书,二代测序相当于每页只给你看几个字,你得靠这些零散的字词猜出整本书的内容;三代测序相当于给你看了很多完整段落,甚至整页整页地给你,组装起来自然就简单多了。
对于复杂基因组(比如有大量重复序列的基因组),二代测序经常”装不上”,只能装出一堆碎片。三代测序就能把重复区域连起来,给出一个完整的基因组。
这里有个实际例子:
基因组组装质量对比
人类基因组(约30亿bp):
二代测序组装结果:
- N50(组装连续性指标):约50-100kb
- 碎片数(contigs数量):约1000-5000个
- 完整度:约95-98%
- 问题:大量重复序列区域无法正确组装
三代测序组装结果:
- N50:可达染色体级别(>50Mb)
- 碎片数:个位数到几十
- 完整度:>99.9%
- 优势:能跨越重复区域,给出完整基因组
应用场景:你到底该选哪个?
好,回到核心问题——你该怎么选?
我按场景给你分类,你看看自己属于哪一类:
场景一:临床基因检测(最常见)
如果你是要做遗传病筛查、肿瘤标志物检测、无创产前检测(NIPT),选二代测序。
原因很简单:
- 检测目标明确,就是看已知的几个基因或几个位点
- 准确度要求极高,临床诊断不能出错
- 成本敏感,患者能承受的范围有限
比如肿瘤基因Panel检测,就是测几十个已知癌基因的突变,二代测序完全够用,而且价格只要几百块。
场景二:新物种基因组测序
如果你是在研究一个新物种,想要组装出一个完整的基因组,选三代测序。
二代测序也能做,但组装出来的基因组质量差,重复区域会缺失,很多功能基因会装不上。三代测序虽然贵一点,但能给你一个接近完整的基因组,后续研究也就方便多了。
举个例子:之前科学家在组装某些珍稀动植物的基因组时,用二代测序装了半年,结果还是碎成几千个contig;换成三代测序,几天就组装出了染色体级别的基因组。
场景三:结构变异检测
如果你在研究染色体的大片段缺失、重复、倒位、易位这些结构变异,选三代测序。
二代测序因为读长太短,很难跨越大的重复区域,所以对结构变异的检测能力有限。三代测序的长读长能直接跨过重复区域,把结构变异看得清清楚楚。
场景四:宏基因组测序
如果你在研究微生物群落(比如肠道菌群、土壤微生物),这个就比较复杂了。
二代测序可以做16S rRNA扩增子测序,便宜且够用,适合大规模样本筛查。但如果要搞清楚每个微生物的完整基因组,或者区分近缘物种,三代测序更合适。
场景五:表观遗传学修饰
如果你在研究DNA甲基化、组蛋白修饰等表观遗传学问题,二代和三代都能做,但各有优劣。
二代测序的甲基化检测(比如RRBS、WGBS)技术成熟,数据量大,成本低。三代测序的Nanopore可以直接测出甲基化修饰,不用额外处理,但准确度不如二代。
实际选择建议
我给你一个决策流程图,你可以根据自己的情况来选:
你的需求是什么?
│
├── 检测已知基因/位点的突变? ──→ 二代测序
│ (肿瘤Panel、遗传病基因panel、HLA分型)
│
├── 需要组装完整基因组? ──→ 三代测序
│ (新物种测序、高质量参考基因组)
│
├── 检测结构变异? ──→ 三代测序
│ (CNV、易位、倒位等大片段变异)
│
├── 大规模人群队列研究? ──→ 二代测序
│ (成本敏感,样本量大)
│
├── 研究重复序列区域? ──→ 三代测序
│ (端粒、着丝粒、转座子等)
│
├── 预算有限? ──→ 二代测序
│
└── 追求基因组完整性? ──→ 三代测序
还有一个选择:混合测序
有时候,二代和三代并不是非此即彼的关系。现在有很多研究采用混合测序策略:先用三代测序组装出基因组骨架,再用二代测序的数据来填充细节、提高准确度。
这种组合方式的好处是:
- 成本比纯三代测序低
- 质量比纯二代测序高
- 既有了连续的基因组,又有了高准确度
举个例子,很多新发表的植物基因组文章,就是这种策略:PacBio HiFi做长读长组装,Illumina做纠错和高深度覆盖。
总结一下
测序技术没有绝对的”好”和”坏”,只有”适不适合”。
二代测序就像精修版的照片,清晰、准确,但视角有限;三代测序就像广角镜头,能看到更广阔的图景,但细节可能需要后期处理。
如果你是要做临床诊断,二代测序足够且经济;如果你是要探索未知、组装基因组、研究结构变异,三代测序是你的好帮手。当然,如果预算充足,两者结合往往是最佳方案。
希望这篇介绍能帮你理清思路。有具体问题欢迎继续交流!
