变异检测基础:SNP、Indel、CNV 等概念

做跨实验室变异检出可比性排查,第一个绕不开的问题就是:我们到底在检什么?说白了,你得先搞清楚 SNP、Indel、CNV 这些概念,才能跟别人对齐标准。

这一章我就带你把这些基础概念捋一遍。不是照搬教科书,而是从实际项目里总结出来的理解方式。

1. 什么是遗传变异

遗传变异,就是个体之间基因组序列的差异。跟参考基因组一比,有差别的地方就是变异。这个差别可大可小,小到一个碱基,大到几百万个碱基的片段重排。

我个人习惯按规模把变异分成两类:

  • 小规模变异:通常 < 50 bp,包括 SNP、Indel、MNV
  • 大规模变异:通常 ≥ 50 bp,包括 CNV、SV、STR 等

这个划分不是绝对的,但做检测时,不同规模的变异用的方法和工具完全不一样。你想想看,检 SNP 的流程拿去检 CNV,结果肯定一塌糊涂。

2. SNP——单碱基的"错字"

SNP,全称单核苷酸多态性,就是基因组上单个碱基的替换。比如参考基因组是 A,某个样本变成了 G。就这么简单。

SNP 有几个特点:

  • 二态性:绝大部分 SNP 只有两个等位基因
  • 密度高:人类基因组大约每 1000 bp 就有一个 SNP
  • 检测成熟:GATK HaplotypeCaller、FreeBayes、bcftools 都能做

我在跨实验室项目中遇到过一个问题:同一个样本,A 实验室检出 4.5 万个 SNP,B 实验室只有 3.8 万个。后来一查,主要是低深度区域(< 10×)的一致性差。所以如果你发现两个实验室的 SNP 数量对不上,先看深度分布。

提示:SNP 的质量评估常用 QD(质量/深度)、MQ(比对质量)、SOR(链偏倚)等指标。跨实验室对比时,这些指标最好统一阈值,否则可比性会打折扣。

3. Indel——小片段的出入

Indel 是插入(Insertion)和缺失(Deletion)的合称,指基因组中小片段的插入或缺失,通常定义在 1–50 bp 之间。

Indel 比 SNP 麻烦得多。为什么?因为比对阶段就容易出错。一个 3 bp 的缺失,不同比对软件可能把它放在不同的位置上,这就导致后续的检出结果不一致。

注意:我曾经踩过一个坑——两个实验室用同一个样本做 Indel 检出,结果重合率不到 70%。后来发现是 VCF 的表示方式不同:一个用"左对齐",一个用"右对齐"。嗯,这里要特别留意,Indel 的标准化表示是跨实验室可比性的关键。

检测 Indel 时,我建议重点关注以下几个点:

  • ReadPosRankSum:看 Indel 在 reads 上的位置分布是否均匀
  • BaseQRankSum:看 Indel 周围的碱基质量是否正常
  • 左右对齐标准化:用 bcftools norm 统一表示

4. CNV——拷贝数的增减

CNV(拷贝数变异)是指基因组中一段区域的拷贝数发生变化,可能是缺失(拷贝数减少)或重复(拷贝数增加)。跟 SNP 和 Indel 不同,CNV 影响的范围大得多,从几百 bp 到几 Mb 都有可能。

我个人觉得,CNV 是跨实验室可比性中最头疼的一块。为什么?因为检测方法差异太大了——有的用 read depth,有的用 paired-end 信号,有的用 split reads。同一个样本,不同方法给出的 CNV 边界可能完全不同。

CNV 检测的常用工具:

  • CNVnator:基于 read depth 的滑动窗口法
  • Delly:基于 paired-end 和 split reads
  • Manta:综合多种信号
  • GATK gCNV:基于概率模型的深度分析

做跨实验室 CNV 对比时,我建议先统一两个东西:一是参考基因组版本,二是 CNV 的判定阈值(比如拷贝数 < 1.5 才算缺失)。否则数据根本对不上。

5. 其他变异类型

除了 SNP、Indel、CNV,还有几种变异你也得知道:

  • MNV(多核苷酸多态性):连续多个碱基同时替换,可以看作特殊的 Indel 或复合 SNP
  • SV(结构变异):包括倒位、易位、复杂重排等,通常 ≥ 50 bp,检测难度大
  • STR(短串联重复):重复单元 1–6 bp 的串联重复,在法医学和遗传病中很重要

这些变异在跨实验室排查中出场频率没那么高,但一旦涉及,往往是疑难杂症。比如 STR 的扩增偏差会导致实验室间检出长度不一致。

6. 变异类型分类体系

下面这张图我把常见变异类型按规模做了梳理,方便你快速对照。

变异类型分类体系 遗传变异 小规模变异 (<50bp) 大规模变异 (≥50bp) SNP Indel MNV CNV SV STR 说明 小规模变异(<50 bp)主要依赖短读段比对和局部组装 大规模变异(≥50 bp)需要结合 read depth、paired-end 或长读段技术

7. 核心参数对比

不同变异类型的关键指标差异很大。我习惯用一个表格来快速对照,尤其在跨实验室数据比对时,这张表能帮你定位问题出在哪个环节。

变异类型 规模 检测信号 代表工具 跨实验室常见问题
SNP 1 bp 碱基替换 GATK HC, FreeBayes 低深度区域检出不一致
Indel 1–50 bp 插入/缺失 GATK HC, Platypus 左右对齐方式不统一
CNV ≥ 50 bp read depth, 信号强度 CNVnator, Delly, Manta 边界判定和阈值不统一
SV ≥ 50 bp paired-end, split reads Delly, Manta, GRIDSS 断点精度差异大
STR 重复单元 1–6 bp 重复计数 ExpansionHunter, GangSTR 扩增偏差导致长度差异

8. 从概念到检测

搞清楚了变异类型,下一步才是检测。但这里有一个关键点我必须强调:

检测流程的选择,取决于你关注的变异类型。 检 SNP 的流程不能直接拿来检 CNV,检 Indel 的工具也不一定适合检 STR。

一个典型的变异检测流程大致包括:

  1. 原始数据质控(FastQC + 过滤)
  2. 比对到参考基因组(BWA-MEM / Minimap2)
  3. 比对后处理(排序、去重、碱基质量校正)
  4. 变异检出(根据目标变异类型选择工具)
  5. 变异过滤与质量控制(硬过滤 + VQSR)
  6. 注释与格式标准化(VCF 统一表示)

举个 VCF 的例子,看看 SNP 和 Indel 在文件里长什么样:

#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO
chr1    123456  rs123   A       G       1000    PASS    DP=100;AF=0.5
chr1    789012  .       AT      A       800     PASS    DP=80;AF=0.3

第一行是 SNP(A→G),第二行是 Indel(AT→A,缺失一个 T)。注意看,Indel 的 REF 和 ALT 长度不一样,这就是它比对容易出错的原因。

核心观点:跨实验室变异检出可比性排查,根基就在你清不清楚每种变异类型的特点。从概念到检测,每一步都跟这些特点紧密相连。