Agent Skills
返回列表
💻

Nextflow 可复现数据流水线

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/nextflow。

技能介绍

要解决什么问题

数据密集型工作流(尤其是生物信息学)往往卡在三个地方:执行环境不一致(本机能跑、集群上挂)、调度与并行要手写、以及失败后从头重跑浪费算力。Nextflow 用通道连接 process 任务,由数据依赖推断顺序与并行度;配合容器与 -resume 缓存,同一套 .nf 可通过 nextflow.config 的 profile 在本地、SLURM/SGE 等 HPC 或 AWS/Google/Azure Batch、Kubernetes 上切换,而不改业务脚本。

技能如何帮你做事

本 skill 分两条主线:运行已有 nf-core 或自定义流水线,以及开发模块/子工作流。

  • 运行侧:先用 -profile test(可与 docker/singularity/conda 组合,容器类 profile 互斥)做冒烟;流水线参数用 --input、--outdir 等,nf-core 通常吃 samplesheet CSV;-resume 复用缓存,-r 固定发布版本。可用 nf-core pipelines launch 做 schema 校验与参数文件生成。
  • 开发侧:DSL2 下的 process(input/output/指令与 script)、channel 与 operator、带 take/main/emit 的 workflow、include 模块;nf-core 约定含 meta map、ext.args、stub: 与 nf-test。
  • 配置与扩展:executor、资源标签、withName/withLabel、容器引擎选型见 skill 内 references(configuration、containers、running-pipelines、testing 等)。

适用边界与注意点

需要 Bash 与 Java 17+;建议固定 NXF_VER 与流水线 -r 版本,科学可复现运行不要追 latest。每个 process 应自带容器/Conda 环境,勿依赖主机全局工具。Nextflow 26.04 起默认严格语法:优先 channel.of、显式闭包参数、def 与命名 emit,可用 nextflow lint 自查。

使用场景

  • 研究所 SLURM 集群上,用 samplesheet CSV 启动 nf-core 流水线并固定 `-r` 发布版本
  • 自定义 `.nf` 或 nextflow.config 报错时,对照 process/channel 逻辑与 executor 配置排查失败任务
  • 编写 nf-core 模块前用 `nf-core modules install` 复用现有模块,并用 nf-test 与 lint 在提交前自测
  • 真实样本跑通前,用 `-profile test,docker`(或 singularity/conda)做环境冒烟再切生产 profile

适合人员

  • 负责把测序下机数据接入标准分析流程、并在 HPC 上保证可复现运行的生信工程师
  • 向 nf-core/modules 或自有仓库维护 DSL2 模块与子工作流、需对齐 meta map 与 ext.args 约定的流水线开发者
  • 在本地、批调度集群与云 Batch/K8s 之间为同一流水线切换 profile 与容器的科学计算或平台维护者
  • 用 nextflow_schema.json、params-file 管理多样本批量参数并协调 `-resume` 与资源标签的项目或实验室负责人