nf-core/sarek:从 DNA 测序到“基因组找不同”

bioinformatics
nextflow
Published

October 9, 2026

2 min read

名字像景点,干的是科研的活

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]

Tip

Execution report:记录整个 Nextflow 流程的执行情况,告诉你各步骤是否成功,以及耗时和资源消耗。

7. Sarek:把复杂步骤变成可复现的工作流

单独运行这些软件,需要自己处理文件格式、工具版本、步骤衔接和计算资源。Sarek 用 Nextflow 组织任务,并通过容器管理软件环境,让同一套流程能在本地、集群或云端运行。[1]

参考资料

  1. Sarek 3.5.1:官方介绍
  2. nf-core:流程目录
  3. GitHub 仓库:nf-core/sarek、nf-core/rnaseq(Stars 查询日期:2026-10-08)