实验设计:项目背景、样本信息与测序策略

做生信项目,最怕什么?

我个人觉得,不是跑不动流程,也不是 bug 调不出来。而是数据都跑完了,才发现实验设计有硬伤。样本搞错了,测序深度不够,或者批次效应大到没法校正。那时候你想补救,基本来不及。所以这一章,咱们先聊聊实验设计。说白了,就是“怎么打仗”的问题。

我这次讲课用的是一个真实项目。我们当时给一个跨国药企做罕见病的关联研究。样本来自三个国家,测序平台也不一样。嗯,这里要注意,联合分型最怕的就是数据来源太杂。如果不提前规划好,后面 GVCF 合并时会出各种幺蛾子。

1.1 项目背景

项目的目标是检测某个罕见遗传病的致病位点。这个病发病率很低,大概万分之一。所以我们需要大样本量,才能抓到足够多的携带者。

项目设计如下:

  • 疾病类型:家族性高胆固醇血症相关位点
  • 入组标准:临床确诊患者 + 一级亲属
  • 对照来源:公共数据库(1000 Genomes、gnomAD)
  • 样本总量:500 例(200 患者 + 300 亲属/对照)
  • 测序平台:Illumina NovaSeq 6000
  • 测序策略:WGS,30× 平均深度

关键点:联合分型最适合“家系 + 对照”这种设计。因为 HaplotypeCaller 在做群体分型时,能利用家系内部的连锁信息,提高低频变异的检出率。

我曾在另一个项目中遇到过相反的情况。当时样本全是散发病例,没有家系结构。结果联合分型跑完后,很多低频位点被过滤掉了。后来我们改成了单样本独立分型 + 群体合并,效果反而更好。所以说,实验设计一定要跟着数据结构走。

1.2 样本信息

样本信息这块,我建议你也做成结构化的表格。不要用 Excel 里随便填的文本,后面解析起来很痛苦。

我们这次用的样本清单如下:

样本ID 家系ID 关系 性别 表型 测序批次
FH001FAM01先证者男患者B01
FH002FAM01父亲男未患病B01
FH003FAM01母亲女未患病B01
FH004FAM02先证者女患者B02
FH005FAM02母亲女携带者B02
………………

我的习惯:我会在样本清单里额外加两列——BAM路径 和 GVCF路径。这样后面写脚本批量处理时,直接从表格读取就行,不用手动拼接路径。

你想想看,如果项目里有 500 个样本,每个都要手动输入路径,那得错多少?

1.3 测序策略

测序策略决定了你的数据质量上限。说白了,就是“你花了多少钱,就得到什么级别的数据”。

我们这次用的是 WGS,30×。为什么选这个?

  • WGS vs WES:WGS 覆盖更均匀,尤其是内含子和调控区。对于罕见病,很多致病位点可能不在外显子区域。WES 会漏掉。
  • 30× vs 15×:30× 的深度能保证杂合位点的检出率 > 95%。15× 对于低频变异就不太够用了。

避坑指南:我曾经在一个项目中采用了 10× WGS 数据做联合分型。结果跑完后,低频位点(MAF < 0.01)的 call rate 只有 60% 左右。后来重新测到 30×,才达到 90% 以上。所以,如果你要做低频/罕见变异分析,深度千万别省。

具体的测序参数如下:

参数 值
平台Illumina NovaSeq 6000
模式PE150
平均深度30×
Q30 比例> 85%
比对率(bwa-mem)> 99%
PCR 重复率< 5%

嗯,这里还要注意一个细节:测序批次。我们项目分了三批上机。批次之间可能存在偏差,比如某些区域的覆盖度不一致。联合分型时,需要把批次信息作为协变量加进去,不然会引入假阳性。

1.4 本章知识结构

下面这张图,概括了实验设计的核心逻辑。从项目背景到样本信息,再到测序策略,每一步都会影响后面的分析。

实验设计核心逻辑 项目背景 样本信息 测序策略 疾病类型 & 入组标准 家系结构 & 表型 WGS vs WES 深度 公共数据库对照 样本ID & 批次 PE150 & Q30 > 85% 所有设计细节都会影响 HaplotypeCaller 的联合分型结果 提前规划,避免后期数据无法合并

1.5 小结

实验设计的原则,我总结成三句话:

  • 明确目标:你要找什么变异?低频还是罕见?这决定样本量和深度。
  • 结构化数据:样本信息、测序参数、批次信息,全部做成表格。别用散文件。
  • 提前跑 QC:拿到 BAM 后,先检查深度、比对率、重复率。发现问题早点重测,别等联合分型跑完才发现。

我建议你,在正式开始联合分型之前,先做一个小测试:用 5 个样本跑一轮完整的流程,看看数据质量有没有问题。我当时就是靠这个步骤,发现了一批样本的 GC 偏差,及时做了校正。