用途
检查现有基因组学工作流,将 CPU 步骤映射到 NVIDIA Parabricks,并在原 CPU 步骤旁添加可选的 GPU 加速步骤。通过暴露运行时参数(或 CLI 标志 / 配置键),使同一工作流无需单独复制即可运行任一路径。
默认:加速路径关闭——在用户显式启用 GPU 步骤之前,现有 CPU 行为保持为生产默认。
主要能力
- 识别工作流框架(Nextflow、Snakemake、WDL、Python)并盘点步骤。
- 将常见 CPU 步骤映射到 Parabricks 目标,例如 BWA-MEM 加排序与重复标记映射到 pbrun fq2bam(Nextflow 为 parabricks_fq2bam);GATK/Picard MarkDuplicates 常并入 fq2bam;GATK BaseRecalibrator / ApplyBQSR 映射到 fq2bam BQSR 模式或 pbrun applybqsr;GATK HaplotypeCaller 映射到 pbrun haplotypecaller;DeepVariant 映射到 pbrun deepvariant。
- 以就地方式添加可选 GPU 步骤,使用运行时开关路由,默认关闭。
- 在 A/B 对比后评估 GPU 分支的步骤合并机会。
- 生成 ACCELERATION.md 记录开关用法、运行时目标、映射、输出接线、合并机会与 A/B 对比清单。
使用方式
- 提供可检查的工作流路径、仓库或入口点;若没有,需先询问工作流位置与框架,不得虚构流水线或步骤映射。
- 确定运行时就绪状态:使用用户提供的事实,或仅检查安全短命令如 nvidia-smi 与 pbrun --version,记录为本地就绪、本地未就绪或未知(未检查)。
- 检测框架并盘点步骤。
- 使用 parabricks-tool-map.md 映射步骤;Nextflow 优先使用 nf-core Parabricks 模块。
- 就地实现可选加速步骤,遵循开关契约:Nextflow 使用 params.use_parabricks 或 params.accelerated,默认 false;Snakemake 使用 config["use_parabricks"],默认 false;WDL 使用 Boolean use_parabricks,默认 false;Python 使用 --use-parabricks CLI 标志或 USE_PARABRICKS 环境变量,默认关闭。
- 在 ACCELERATION.md 中记录开关名称、默认值与示例运行命令。
- 生产前进行开关关闭与开启的对比,使用相同样本、参考与区间,输出到不同目录。
适用场景
- 用户要求让流水线更快、改善性价比、减少运行时间或成本、转换为 GPU,或使用 Parabricks。
- 需要检查现有工作流并报告 Parabricks 映射机会(报告模式,不编辑文件)。
- 需要在 Nextflow、Snakemake、WDL 或 Python 工作流中就地添加可选 GPU 步骤。
- 需要在 A/B 对比后合并 GPU 分支的相邻步骤。
限制
- 不提供集群级 Parabricks 安装,也不保证结果逐位一致。
- 在添加 GPU 替代方案时,除非用户在对比后明确批准合并,否则不移除原有 CPU 步骤。
- 不涉及临床诊断、治疗建议与变异解读。
- 不得使用或重复提示中的机密;拒绝破坏性清理如擦除 /data 或删除生产数据集。
- 不得虚构流水线结构、样本名称、路径或容器标签。
- 未经对比运行,不得声称 VCF/BAM 输出逐位一致。
- 不得声称 Parabricks 在 CPU 上运行。
- 本地 Parabricks 对检查与接线是可选的;加速执行与 A/B 对比需要 GPU 访问(本地、HPC 或云)。
- 深度运行时诊断、安装与各工具命令标志请使用 parabricks 技能。
参考文件
- parabricks-runtime-readiness.md — 本地检查;HPC/云指导
- workflow-frameworks.md — 检测框架;就地模式
- parabricks-tool-map.md — CPU → Parabricks 映射(所有框架)
- nf-core-parabricks-map.md — Nextflow nf-core 模块
- workflow-layout.md — 开关命名、布局、ACCELERATION.md
- step-consolidation.md — 在 GPU 分支上合并步骤
- comparison-checklist.md — 开关关闭与开启验证