跳转至

ClairS:基于深度学习的体细胞小变异检测工具

概述

ClairS 是一款适用于配对肿瘤-正常样本的体细胞小变异(SNV 和 Indel)检测工具,主要针对 Oxford Nanopore Technologies (ONT) 长读长 数据,同时也支持 PacBio HiFiIllumina 短读长平台。它通过集成深度学习模型(以 Clair3 的 pileup 和 full-alignment 模型为基础),在消除胚系变异的基础上,利用规则和过滤策略输出高置信度的体细胞变异。ClairS 名称源自“Clair-Somatic”,法文中“clair”的阳性复数形式(末尾 s 不发音),其 logo 由 DALL-E 2 根据“DNA 序列中形似字母 S 的遗传变异”提示生成。

在典型的 ONT Q20+ 化学试剂下,针对 HCC1395 肿瘤(50× 覆盖度)和匹配的正常样本(25×),以高置信度真集(Fang et al., 2021)为基准,ClairS 在 VAF ≥ 0.05 时 SNV 的召回率和精确率分别达到 86.86% 和 93.01%;VAF ≥ 0.2 时进一步提升至 94.65% 和 96.63%。最新版本 v0.4.4 通过改进模型训练策略、引入真实癌症细胞系数据增强以及支持与 LongPhase-S 等下游分析工具的整合,进一步提高了性能与实用性。

核心知识点

1. 方法学框架

  • 变体分型策略:ClairS 首先利用 Clair3 对正常样本和肿瘤样本分别进行胚系变异识别,然后过滤掉肿瘤样本中与正常样本共享的胚系变异。
  • 双模型集成:同时使用 Clair3 的 pileup 模型(仅依赖目标位点周围的堆积信息)和 full-alignment 模型(利用完整比对信息)进行预测,两个模型的结果以等权重集成,再通过规则和后处理过滤器确定最终变异。
  • 质量控制与标注:支持 --snv_min_qual--indel_min_qual 分别设置 SNV 和 INDEL 的 QUAL 阈值,低于阈值的变异标记为 “LowQual” 或过滤;可结合 LongPhase-S 进行体细胞单倍型重建,识别与体细胞单倍型不一致的假阳性变异并降级为 “LowQual”。

2. 支持平台与模型

ClairS 针对不同测序平台和化学试剂提供预训练模型,常用模型包括:

平台模型名称说明
ONT R10.4.1 (5 kHz)ont_r10_dorado_sup_5khz_ssrs混合真实肿瘤细胞系数据增强的 ssrs 模型(推荐)
ONT R10.4.1 (5 kHz)ont_r10_dorado_sup_5khz_ss仅由合成数据训练的 ss 模型(若训练肿瘤类型缺失时可使用)
ONT R10.4.1 (4 kHz)ont_r10_dorado_sup_4khz旧版 4 kHz 数据模型,不再更新
PacBio Revio (SMRTbell 3.0)hifi_revio_ssrs支持 Revio HiFi 数据的 ssrs 模型
Illumina (NovaSeq/HiSeq)ilmn_ssrs支持 Illumina 短读长数据的 ssrs 模型
  • ssrs 模型:在合成数据预训练基础上,利用多癌种、多覆盖度、多肿瘤纯度的真实细胞系数据(如 HCC1395/BL、HCC1937/BL 等)进行增强训练,包含 BQ 值抖动(jittering)以缓解训练与测试间 BQ 分布偏移问题,性能通常优于 ss 模型。
  • ss 模型:仅使用合成数据训练,适合当肿瘤类型未在 ssrs 训练集中覆盖且对跨癌种泛化有顾虑时的保守选择。

3. 独立版本与关联工具

为覆盖不同应用场景,ClairS 生态系统包括: - ClairS:配对肿瘤-正常体细胞变异检测。 - ClairS-TO:仅肿瘤样本的体细胞变异检测(Tumor-Only)。 - Clair3:胚系变异检测(DNA-seq)。 - Clair3-RNA:长读长 RNA-seq 的胚系变异检测。 - Clair-skills:面向 AI 代码助手(如 Claude Code、Cursor 等)的技能包。

4. 关键性能特征

ONT Q20+ 性能

根据技术报告(v0.4.0, 2024年10月),使用 ssrs 模型时,在不同覆盖度和等位基因频率(AF)范围下,ClairS 均优于 ss 模型和 DeepSomatic v1.7.0,特别在中低覆盖度和低 AF 区域优势明显。

PacBio Revio SNV 性能

  • 数据集:HCC1395/HCC1395BL Revio,SMRTbell 3.0 试剂盒。
  • 正常覆盖度固定 25× 时,ClairS 在不同肿瘤覆盖度(10×、25×、50×、100×)下均能保持高精度和高召回,VAF ≥ 0.05 时平均精确率 > 95%。
  • 肿瘤覆盖度固定 50× 时,ClairS 在不同正常覆盖度(5×、10×、25×、50×)下性能稳定,召回率随正常覆盖度增加而略有提升。

Illumina SNV 性能

  • 数据集:HCC1395/HCC1395BL,NovaSeq 6000 / HiSeq 4000。
  • 肿瘤 50× / 正常 25× 时,多纯度组合的 Precision-Recall 曲线显示 ClairS 可取得较高的综合性能。

5. 版本迭代亮点

  • v0.4.4(2025-11-28):发布 LongPhase-S 后过滤集成文档;明确 5 kHz 模型在 4 kHz 旧数据上的基准性能(作为参考,不推荐混用)。
  • v0.4.4(2025-11-18):更新 ssrs 模型,引入 BQ 抖动,增加多肿瘤/正常覆盖度和纯度训练样本,整体性能较 v0.4.3 稳定提升。
  • v0.4.3:支持通过模型目录下的 model_specific_settings.conf 设置参数(如 snv_min_qualindel_min_qual)。
  • v0.4.2:新增 --snv_min_qual--indel_min_qual 选项,替代旧版 --qual
  • v0.4.1:新增 PacBio Revio 和 Illumina 的 ssrs 模型。
  • v0.4.0:引入 ssrs/ss 双模型体系;使用四种真实癌细胞系训练 ssrs 模型;加入 BQ 抖动;调整 ONT 平台 Indel 最小 AF 要求至 0.1 等。

代码实操

以下为在 Linux 服务器上使用 Docker 运行 ClairS 的典型流程,其他安装方式(Singularity、Conda 等)详见官方仓库。

1. 获取镜像并准备数据

# 拉取最新预构建 Docker 镜像
docker pull hkubal/clairs:latest

# 准备参考基因组文件 (例如 GRCh38)
wget ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/001/405/GCA_000001405.15_GRCh38/seqs_for_alignment_pipelines.ucsc_ids/GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz
gunzip GCA_000001405.15_GRCh38_no_alt_analysis_set.fna.gz
# 肿瘤和正常样本的 BAM 文件需包含合适的标记 (如 SM 标签) 并已排序索引
# 假设文件为 tumor.bam, normal.bam 及对应的 .bai

2. 运行体细胞变异检测

# 设置输入输出路径
TUMOR_BAM=/path/to/tumor.bam
NORMAL_BAM=/path/to/normal.bam
REFERENCE=/path/to/ref.fa
OUTPUT_VCF=/path/to/output.vcf
MODEL="ont_r10_dorado_sup_5khz_ssrs"  # 推荐模型

# 运行 ClairS
docker run -v $(pwd):/data hkubal/clairs:latest \
  run_clairs.sh \
  --tumor_bam /data/tumor.bam \
  --normal_bam /data/normal.bam \
  --ref /data/ref.fa \
  --model ${MODEL} \
  --output /data/output.vcf \
  --snv_min_qual 30 \        # SNV 最小 QUAL 阈值(默认 30)
  --indel_min_qual 30 \      # INDEL 最小 QUAL 阈值(默认 30)
  --threads 16               # 线程数

3. 针对特定平台的模型选择示例

# ONT R10 4 kHz 旧数据
--model ont_r10_dorado_sup_4khz

# PacBio Revio
--model hifi_revio_ssrs

# Illumina
--model ilmn_ssrs

4. 后处理:结合 LongPhase-S 过滤低置信度变异

(需单独安装 LongPhase-S)

# 先使用 LongPhase-S 对 ClairS 的输出进行体细胞单倍型定相
longphase-s --somatic_vcf clairs_output.vcf --tumor_bam tumor.bam --normal_bam normal.bam --ref ref.fa --out phased_somatic

# ClairS 输出的 VCF 中与体细胞单倍型不一致的变异会被标记为 “LowQual”
# 可用 bcftools 筛选 PASS 变异
bcftools view -f PASS clairs_output.vcf > clairs_pass_only.vcf

常见问题

Q1:如何为我的数据选择合适的模型?

A:优先使用 ssrs 模型(如 ont_r10_dorado_sup_5khz_ssrs),它在多癌种真实数据上增强训练,泛化能力更强。当您的肿瘤类型(如罕见癌种)未出现在训练所用的四种细胞系(乳腺癌和肺癌)中,且您担心跨癌种偏差时,可保守选择 ss 模型。对于 PacBio Revio 和 Illumina,直接使用对应的 hifi_revio_ssrsilmn_ssrs 模型。

Q2:我的 ONT 数据是用 4 kHz 试剂盒测的,能否用 5 kHz 模型?

A:不推荐。尽管 v0.4.4 文档给出了 5 kHz 模型在 4 kHz 数据上的基准性能以供参考,但两种化学试剂的信号特征存在差异,通常会导致性能下降。官方建议继续使用专用模型 ont_r10_dorado_sup_4khz,但请注意该模型将不再更新。

Q3:如何调整 SNV 和 Indel 的输出质量阈值?

A:在 v0.4.2 及以上版本,使用 --snv_min_qual--indel_min_qual 分别设置。也可在模型目录的 model_specific_settings.conf 中添加 snv_min_qual=XXindel_min_qual=XX 实现全局默认值。低于阈值的变异仍会出现在 VCF 中,但会被标记为 LowQual 或直接被过滤(取决于输出设置)。

Q4:ClairS 对 Indel 的灵敏度如何?如何优化 Indel 检测?

A:在 ONT 平台上,v0.4.0 起默认最低体细胞等位基因频率(AF)已调整为 0.1。如果您需要检测更低频率的 Indel,可使用 --indel_min_af 降低阈值,但可能增加假阳性。建议在 ONT 数据上结合 --indel_min_qual 提高阈值,或使用 ssrs 模型以获得更好的 Indel 精度。

Q5:如何评估结果的可信度?

A:可通过 QUAL 值、VAF 以及 PASS 标识初步筛选。更严谨的评估建议结合 LongPhase-S 进行体细胞单倍型一致性分析,假阳性变异往往与单倍型冲突。另外,可与独立验证集或正交技术(如靶向深度测序)比较。

速查表

常用命令行选项

选项说明默认值
--tumor_bam肿瘤样本 BAM 文件路径必需
--normal_bam正常样本 BAM 文件路径必需
--ref参考基因组 FASTA 文件必需
--model预训练模型名称必需
--output输出 VCF 文件路径必需
--snv_min_qualSNV 最低 QUAL 值,低于则标记/过滤30
--indel_min_qualINDEL 最低 QUAL 值30
--indel_min_afINDEL 最小等位基因频率ONT: 0.1
--threads并行线程数1

可用模型速查

模型适用平台/化学类型
ont_r10_dorado_sup_5khz_ssrsONT R10.4.1 5 kHz混合增强
ont_r10_dorado_sup_5khz_ssONT R10.4.1 5 kHz纯合成
ont_r10_dorado_sup_4khzONT R10.4.1 4 kHz旧版
hifi_revio_ssrsPacBio Revio混合增强
ilmn_ssrsIllumina NovaSeq/HiSeq混合增强

ONT Q20+ 性能速览(VAF ≥ 0.05,HCC1395, 50×/25×)

指标
SNV 召回率86.86%
SNV 精确率93.01%
当 VAF ≥ 0.2 时 SNV 召回率94.65%
当 VAF ≥ 0.2 时 SNV 精确率96.63%

相关资源链接