Clair3 是一款针对长读长测序数据设计的小型变异调用器(variant caller),旨在通过深度学方法实现高效、准确的小变异(SNP和Indel)检测。相比前代工具 PEPPER (r0.4),Clair3 (v0.1) 在 ≤30 倍覆盖度的 ONT(Oxford Nanopore Technologies)数据中,展现出更优的 SNP F1 分数和 Indel F1 分数,同时运行速度提升约 4 倍。其核心优势在于融合了 pileup 和 full-alignment 两种输入模式,为深度学模型提供更全面的特征,从而平衡检测精度与计算效率。
Clair3 采用模块化设计,部署与集成简便,适用于各类长读长测序数据的变异分析场景。项目开源,代码托管于 GitHub。
假设 Clair3 *** Docker 镜像托管于 Docker Hub(实际使用时需以 GitHub 项目文档为准),可通过以下命令拉取:
bashdocker pull hku-bal/clair3:latest
若需构建本地镜像,可从 GitHub 仓库 克隆代码后,基于项目根目录的 Dockerfile 构建:
bashgit clone [***] cd Clair3 docker build -t clair3:local .
docker run)Clair3 的核心功能通过命令行工具实现,基本调用需指定输入 BAM 文件、参考基因组 FASTA 文件及输出目录。以下为典型运行示例:
bashdocker run -it --rm \ -v /path/to/local/data:/data \ # 挂载本地数据目录至容器内/data hku-bal/clair3:latest \ run \ # 主命令(具体子命令以***文档为准) --bam /data/input.bam \ # 输入长读长比对文件(BAM格式,需索引) --ref /data/reference.fasta \ # 参考基因组FASTA文件(需索引) --output /data/output_vcf \ # 输出目录(存放VCF及中间文件) --threads 8 \ # 线程数(根据宿主机CPU核心数调整) --model ont \ # 测序平台模型(如ont/pacbio,默认ont) --coverage 30 # 数据覆盖度(用于模型参数优化,默认自动推断)
参数说明:
-v /path/to/local/data:/data:将本地数据目录(含 BAM、参考基因组等)挂载至容器内 /data,确保容器可访问输入文件;--bam:输入 BAM 文件路径(容器内路径,需对应挂载目录),必须包含索引文件(.bai);--ref:参考基因组 FASTA 文件路径(容器内路径),必须包含索引文件(.fai);--output:输出目录路径(容器内路径),结果文件(如 VCF)将保存至该目录;--threads:并行计算线程数,建议根据宿主机 CPU 核心数设置(如 8-16);--model:指定测序平台模型(ont 或 pacbio),用于加载预训练权重;--coverage:输入数据的预期覆盖度(如 20、30),辅助模型优化检测阈值。对于需要长期运行或集成至流程的场景,可通过 docker-compose.yml 简化部署:
yamlversion: '3' services: clair3: image: hku-bal/clair3:latest volumes: - /local/data:/data # 本地数据目录挂载 - /local/models:/models # (可选)自定义模型权重目录挂载 command: > run --bam /data/sample.bam --ref /data/hg38.fasta --output /data/clair3_results --threads 12 --model ont --coverage 25 --min_af 0.05 # (可选)最小等位基因频率阈值 environment: - TMPDIR=/tmp # 临时文件目录(默认/tmp,可自定义) restart: no # 非长期运行任务,完成后退出
启动命令:
bashdocker-compose up
Clair3 的主要功能通过子命令 run 实现,关键参数如下(详细列表请参考 GitHub 文档):
| 参数名 | 描述 | 可选值/示例 | 默认值 |
|---|---|---|---|
--bam | 输入长读长比对文件(BAM格式,需索引) | /data/input.bam | 无(必填) |
--ref | 参考基因组FASTA文件(需索引) | /data/ref.fasta | 无(必填) |
--output | 输出目录路径 | /data/output | 无(必填) |
--threads | 并行线程数 | 8, 16 | 4 |
--model | 测序平台模型(预训练权重) | ont, pacbio | ont |
--coverage | 预期数据覆盖度(用于优化模型参数) | 20, 30 | 自动推断 |
--min_af | 最小等位基因频率(过滤低频率变异) | 0.01, 0.05 | 0.01 |
--region | 目标染色体区域(如 chr1:1000-2000,限制作图范围) | chr20 | 全基因组 |
容器运行时可通过环境变量调整基础配置:
TMPDIR:临时文件目录(默认 /tmp),若需指定更大空间的临时目录,可设置为 /data/tmp(需提前在挂载目录中创建);CUDA_VISIBLE_DEVICES:若容器支持 GPU 加速(需使用带 CUDA 的镜像变体),可通过该变量指定使用的 GPU 设备(如 0,1)。Clair3 输出目录(--output 指定)包含以下关键文件:
calls.vcf.gz:压缩的变异检测结果 VCF 文件(包含 SNP 和 Indel 信息);calls.vcf.gz.tbi:VCF 索引文件(用于快速检索);log.txt:运行日志(包含参数、进度及异常信息);intermediate/:中间文件目录(可删除以节省空间)。.bai 索引,FASTA 文件需生成 .fai 索引(可通过 samtools index 和 samtools faidx 生成);--model 参数,否则可能影响检测精度;docker run hku-bal/clair3:latest --version 查看。docs/ 目录来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429