nf-core/sarek:从 DNA 测序到“基因组找不同”
名字像景点,干的是科研的活
Sarek 听起来像某个算法的缩写,其实它和瑞典北部一座同名国家公园有关。开发者在介绍流程时还展示过公园的风景,早期版本也用过 Ruotes、Skårki 等名字。别人发新版本:v2.1、v2.2;它发新版本,顺便给你上一小节瑞典地理课。出处见开发者的 2020 年介绍。
不过,这个项目的出身很务实:最初由瑞典 SciLifeLab 旗下的 NGI 和 NBIS 团队开发,得到瑞典儿童肿瘤生物样本库的支持。后来,德国 QBiC 的开发者也加入了进来,并与其他贡献者一起推动后续开发和 Nextflow DSL2 重构。[1]
测完一个人的 DNA,拿到的不是一份完整的基因组说明书,而是海量短小的序列片段。把这些碎片放回正确位置,再找出哪些字母换了、哪些段落删了、哪些章节多了几份,就是变异分析的基本任务。
它要解决的麻烦,做过分析的人应该不陌生:数据终于拿到了,接下来却要安装一串软件、处理不同文件格式,再祈祷换台服务器后还能跑。测序仪已经下班,分析的人还在和环境报错加班。Sarek 把这些步骤组织成可重复运行的工作流,让研究者少花些时间接管道,多花些时间看结果。
nf-core/sarek 把这件事串成了一条自动化流程:预处理 → 变异检测 → 注释 → 质量报告。它既能分析个体原本携带的生殖系变异,也能寻找肿瘤等组织后来产生的体细胞变异。[1]
1. Sarek 在 nf-core 中有多受关注?
截至 2026 年 10 月 8 日查询时,Sarek 的 GitHub 仓库约有 612 Stars,作为对照,nf-core/rnaseq 约有 1,400 Stars。它是 nf-core 中受到广泛关注的成熟 DNA 变异分析流程之一。[3]
2. 为什么变异分析这么重要?
如果把基因组比作一本说明书,RNA 表达分析关注的是“哪些章节正在被阅读、读了多少”;DNA 变异分析关注的是“说明书的内容发生了什么变化”。
这些变化与许多研究问题直接相关:
- 遗传病研究:某个基因的变异,是否可能影响蛋白质功能?
- 癌症研究:肿瘤新增了哪些突变?哪些区域发生扩增或缺失?
- 群体遗传研究:不同个体携带哪些差异?这些差异与性状有什么关系?
因此,变异检测是 DNA 测序分析中的基础环节。但“与参考基因组不同”不等于“有害”:大量变异只是正常的个体差异。找到变异后,还需要注释、筛选和进一步解释。
3. 它能接收什么数据?
Sarek 支持全基因组测序、全外显子测序和靶向测序。
| 数据类型 | 检查范围 | 直观理解 |
|---|---|---|
| WGS:全基因组测序 | 整个基因组 | 检查整本说明书 |
| WES:全外显子测序 | 主要覆盖外显子区域 | 重点检查编码蛋白质的部分 |
| Panel:靶向测序 | 预先指定的基因或区域 | 只检查选定的章节 |
流程可以从 FASTQ 等原始测序数据开始,也能根据起始步骤从已有比对文件或变异文件继续。它支持同一患者的正常、肿瘤及额外复发样本。它最初面向人和小鼠,但也能用于有参考基因组的其他物种;具体工具和注释资源仍需与物种及数据匹配。[1]
4. Sarek 找的“不同”,不止一个字母
| 类型 | 基因组发生什么变化 | 代表工具 |
|---|---|---|
| SNV:单碱基变异 | 一个碱基换了,如 A → G | HaplotypeCaller、DeepVariant、Mutect2 |
| 小型 indel:插入或缺失 | 多了或少了几个碱基 | HaplotypeCaller、Mutect2、Strelka2 等 |
| SV:结构变异 | 较大片段发生删除、翻转或重排等 | Manta、TIDDIT |
| CNV:拷贝数变异 | 某个区域的拷贝数增加或减少 | ASCAT、CNVkit、Control-FREEC |
| MSI:微卫星不稳定性 | 短重复序列的重复次数出现不稳定变化 | MSIsensor-pro |
不同工具适合不同样本、测序范围和变异类型,运行前应先确定研究问题。[1]
5. 为什么分 germline 和 somatic 两条路线?
Germline(生殖系)分析:这个人原本携带哪些变异?这些变异通常存在于几乎所有细胞中,可以来自父母,也可以是新发变异。
Somatic(体细胞)分析:某些细胞后来新增了哪些变异?在癌症研究中,常用同一患者的肿瘤与配对正常样本比较,帮助区分原有遗传背景和肿瘤新增变化。
检测难度也不同。在正常二倍体、没有拷贝数变化的常染色体区域,germline 杂合变异通常有约 50% 的 reads 支持变异。肿瘤样本则混合了正常细胞、肿瘤细胞和不同肿瘤亚群,真实 somatic 变异可能只得到少量 reads 的支持。
例如,假设 20% 的细胞带有一个杂合突变,其余细胞没有,而且没有拷贝数变化,那么预期的变异等位基因比例(VAF)约为:
\[ \mathrm{VAF} \approx 20\% \times \frac{1}{2} = 10\% \]
软件必须判断:这 10% 是真实突变,还是测序或比对错误?因此,两条路线需要不同的统计模型和过滤逻辑。GATK 的 HaplotypeCaller 主要用于 germline 检测,Mutect2 则用于 somatic 检测。[1]
6. 步骤
第一步:预处理——先把证据整理好
检查 reads 的质量,按需去除接头,把序列比对到参考基因组,标记重复 reads,并进行适用的碱基质量校正。[1]
这里应避免“假证据”:如果一条 DNA 片段被反复扩增,这些拷贝不应被当成许多独立分子在支持同一个突变;一条 read 放错位置,也可能制造出并不存在的差异。
第二步:变异检测——选择合适的工具
根据 germline 或 somatic 研究目标,以及需要寻找的变异类型,选择相应 caller。比如,germline 小变异可以使用 HaplotypeCaller 或 DeepVariant,somatic 小变异可以使用 Mutect2,结构变异则交给 Manta 等工具。[1]
第三步:注释——从坐标变成生物学问题
一个变异坐标本身并不容易理解。VEP、SnpEff 等工具会补充信息:它落在哪个基因、哪个转录本?是否改变氨基酸?是否可能影响剪接?[1]
这一步把“某个位置 A 变成 G”转化为“这个变化可能影响某个蛋白质”。
第四步:报告——检查结果,也检查质量
运行结束后,通常得到处理后的比对文件、VCF 变异文件,以及所选工具对应的结果。CNV、MSI 等模块还会产生各自的表格或图形报告。
MultiQC 汇总质量指标,帮助查看测序覆盖度、比对情况和重复率等。[1]
Execution report:记录整个 Nextflow 流程的执行情况,告诉你各步骤是否成功,以及耗时和资源消耗。
7. Sarek:把复杂步骤变成可复现的工作流
单独运行这些软件,需要自己处理文件格式、工具版本、步骤衔接和计算资源。Sarek 用 Nextflow 组织任务,并通过容器管理软件环境,让同一套流程能在本地、集群或云端运行。[1]
参考资料
- Sarek 3.5.1:官方介绍
- nf-core:流程目录
- GitHub 仓库:nf-core/sarek、nf-core/rnaseq(Stars 查询日期:2026-10-08)