753. 外显子组WES分析流程¶
一句话概述:只测基因组中编码蛋白的部分(~1-2%),成本低但能找到大部分致病突变——就像只检查一本书的"目录和正文",忽略空白页,效率高但可能遗漏非编码区的重要信息。
核心知识点速查表¶
| 概念 | WGS | WES |
|---|---|---|
| 覆盖区域 | 全基因组(3Gb) | 外显子组(~60Mb) |
| 测序成本 | 高 | 低(WGS的1/3) |
| 测序深度 | 通常30-50x | 通常100-200x |
| 能检测的变异 | SNV+Indel+SV+CNV | SNV+Indel(外显子区) |
| 非编码变异 | 能检测 | 无法检测 |
| 适用场景 | 全面分析 | 临床诊断/大队列 |
一、WES vs WGS的选择¶
WES额外需要一个target BED文件(捕获区域坐标)。其余流程与WGS相似,但有几个关键差异。
二、WES特有的分析步骤¶
# WES与WGS的主要差异步骤
# 1. 使用capture区域限制变异检测
TARGET_BED="/data/reference/agilent_v7_targets.bed" # 捕获区域文件
# HaplotypeCaller只在target区域检测
gatk HaplotypeCaller \
-R ${REF} \
-I ${SAMPLE}.recal.bam \
-L ${TARGET_BED} \ # 关键!限制到target区域
-O ${SAMPLE}.g.vcf.gz \
-ERC GVCF \
--native-pair-hmm-threads 8
# 2. 计算on-target率(质控指标)
bedtools intersect \
-a ${SAMPLE}.dedup.bam \ # 输入BAM
-b ${TARGET_BED} \ # target区域
-bed -wa | wc -l # 统计落在target上的reads数
# 3. 计算target区域的覆盖度
gatk CollectHsMetrics \
-R ${REF} \
-I ${SAMPLE}.dedup.bam \
-BAIT_INTERVALS ${TARGET_BED%.bed}.interval_list \ # 捕获诱饵区域
-TARGET_INTERVALS ${TARGET_BED%.bed}.interval_list \ # 目标区域
-O ${SAMPLE}.hs_metrics.txt # 输出覆盖度统计
# 关键指标:
# MEAN_TARGET_COVERAGE: target区平均覆盖度(通常>100x)
# PCT_TARGET_BASES_20X: 覆盖度≥20x的target碱基比例(>95%)
# ON_BAIT_PCT: 落在bait上的reads比例(通常>60%)
三、常见报错与解决¶
| 报错信息 | 原因 | 解决方案 |
|---|---|---|
Low on-target rate | 捕获效率差 | 检查文库制备质量 |
Uneven coverage | 某些外显子GC偏差大 | GC校正或增加测序深度 |
BED format error | BED文件格式问题 | 确认是0-based坐标 |
Missing exons | BED文件不包含目标基因 | 更新capture kit的BED文件 |
四、面试高频问题¶
Q1: WES能检测到结构变异吗?¶
A: WES对大的SV检测能力很弱(断点通常在非编码区),但可以检测外显子区域的小indel和CNV。对于SV分析,WGS是更好的选择。
Q2: 为什么WES要用更高的测序深度?¶
A: ①WES覆盖区域小,测更深的性价比高;②捕获过程引入不均匀性,需要更高深度补偿;③临床应用需要高置信度(低频变异检测需要高深度)。