scientific-agent-skills 实战指南:用 Nextflow 可复现地运行 nf-core 与自定义流水线

发布时间:2026/9/11 14:02:41
scientific-agent-skills 实战指南:用 Nextflow 可复现地运行 nf-core 与自定义流水线 scientific-agent-skills 实战指南用 Nextflow 可复现地运行 nf-core 与自定义流水线【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南以仓库scientific-agent-skills中 nextflow 技能包 的 running-pipelines.md 为核心系统讲解如何查找、启动、配置与排错 nf-core 流水线及自定义 Nextflow 工作流。读完你将掌握标准运行模式test冒烟测试 正式运行、samplesheet 输入约定、-params-file参数管理、容器与 profile 选择、iGenomes 参考基因组、机构级配置、离线/隔离环境运行以及基于.nextflow.log、-resume与报告文件的监控排错方法。从哪开始在 nf-core 生态中查找流水线nf-core 是一个社区维护的 Nextflow 流水线仓库提供了大量面向生物学与生信分析的生产级工作流。运行任何流水线之前第一步是找到合适的流水线并了解其参数契约。nf-core toolsv3 将子命令分组在pipelines/modules/subworkflows下提供了专门的检索命令nf-core pipelines list # 列出全部 nf-core 流水线按活跃度排序 nf-core pipelines list rna # 按关键词搜索如 rna nf-core pipelines info rnaseq # 查看某条流水线的详细信息nf-core pipelines list支持--json输出与--sort排序每条流水线的官方页面会文档化其参数、samplesheet 格式与输出目录。在本仓库中tests/skill-requirements.toml 的[skills.nextflow]一节声明了packages [nf-core]意味着该技能运行环境的基准依赖就是 nf-core 工具链完整的nf-coreCLI 参考包括pipelines create/launch/download/lint/schema、modules install/create/test、subworkflows install等命令见 nf-core-tools.md。标准运行模式从冒烟测试到正式运行无论运行哪条 nf-core 流水线都遵循同一个两步模式第 1 步用内置小数据集冒烟测试环境。testprofile 附带微型测试数据用于快速验证 Nextflow 引擎、容器引擎与网络通路是否正常nextflow run nf-core/rnaseq -r 3.14.0 -profile test,docker --outdir test_results第 2 步正式运行。固定版本-r、选择容器引擎、提供 samplesheetnextflow run nf-core/pipeline \ -r version \ # 固定 release保证可复现 -profile docker \ # 或 singularity / conda --input samplesheet.csv \ # 要处理的样本 --outdir results \ # 结果输出目录nf-core 强制要求 -resume # 重跑时复用缓存要点说明nextflow run nf-core/rnaseq会自动从 GitHub 拉取流水线到~/.nextflow/assets即$NXF_HOME/assets。也可以先用nextflow pull nf-core/rnaseq预取/更新再用-r固定到某个 tag。-profile单横线选择配置文件--input/--genome/--outdir双横线是流水线自身参数二者含义不同。本技能的 SKILL.md 中同样强调容器/基础设施类 profiledocker、singularity、conda互斥一次只能选一个。-resume复用上一次运行的缓存结果-r version固定 release 以实现可复现。交互式命令构建器nf-core pipelines launch与其手工拼接长命令不如让工具按 schema 逐项引导。nf-core pipelines launch会遍历流水线的每一个参数依据其nextflow_schema.json校验并写出可复用的nf-params.jsonnf-core pipelines launch nf-core/rnaseq nextflow run nf-core/rnaseq -profile docker -params-file nf-params.json从源码结构看该命令由nextflow_schema.json驱动——nextflow_schema.json是描述流水线全部参数的 JSON-Schema 文件它同时支撑 CLI/-params-file校验经由nf-schema插件、nf-core pipelines launch的图形化引导与自动文档生成见 developing.md。Samplesheets流水线的输入契约nf-core 流水线通过--input接收一个CSV samplesheet而不是零散文件——这让样本元数据显式化、可审计。具体列名因流水线而异以各流水线文档为准典型 RNA-seq 表sample,fastq_1,fastq_2,strandedness CONTROL_REP1,s3://.../ctrl_1.fastq.gz,s3://.../ctrl_2.fastq.gz,auto TREAT_REP1,/data/treat_1.fastq.gz,/data/treat_2.fastq.gz,auto约定与行为单端数据将fastq_2留空即可。路径可以是本地路径也可以是远程 URIS3/GCS/httpsNextflow 会自动 stage 数据。校验由nf-schema/nf-validation插件完成列或值错误时会快速失败并给出清晰报错。在开发侧samplesheet 本身由流水线assets/目录下的 schema如assets/schema_input.json约束见 developing.md。参数与 params 文件让命令行可复现、可评审参数有三种传递方式后者覆盖前者config 文件 → -params-file → --cli 标志。凡是稍微复杂的运行都建议用params 文件——它可复现、可评审、可纳入版本控制nf-core pipelines create-params-file nf-core/rnaseq # 生成带文档注释的 YAML nextflow run nf-core/rnaseq -profile docker -params-file params.yml --outdir results# params.yml input: samplesheet.csv outdir: results genome: GRCh38 aligner: star_salmon配套背景在 configuration.md 中nextflow.config的加载与合并遵循递增优先级——$NXF_HOME/config~/.nextflow/config→ 项目目录的nextflow.config→ 启动目录的nextflow.config→ 每个-c custom.config可重复而 CLI--param/-params-file覆盖 config 中的参数如果改用-C file则只加载该文件、忽略其他所有来源。这一优先级模型解释了为何-params-file天然拥有高于 config 的覆盖权。Profiles 与容器环境选择的原则容器引擎只选一个-profile docker本地/CI、-profile singularityHPC、-profile conda最后手段。testprofile内置小数据集必须与某个引擎组合使用例如-profile test,docker。profile 可以逗号分隔组合顺序有影响后者生效再用-c custom.config叠加站点级配置用withName选择器做单进程微调详见 configuration.md。本技能包对容器引擎的取舍有更系统的说明containers.mdDocker 适合本地开发/CISingularity/Apptainer 适合无 root、共享文件系统的 HPC 集群学术圈最常见Conda/Mamba 是最不具可复现性的方案求解器漂移、无 OS 隔离发布科研成果时优先用容器。同时务必注意两个常见陷阱同时启用两个引擎会报错或产生意外行为Docker 产生 root 属主输出文件时需设置runOptions -u $(id -u):$(id -g)。参考基因组与 iGenomes用与不用许多流水线接受--genome KEY如GRCh38、GRCm38、R64-1-1并自动从 AWS iGenomes 拉取参考数据。备选方案自行提供参考显式传入--fasta、--gtf、--star_index等参数——为了控制和可复现性这是推荐做法加--save_reference可保留构建好的索引供复用。本地镜像 iGenomes设置--igenomes_base指向本地路径用于离线使用。彻底关闭 iGenomes 逻辑--igenomes_ignore。陷阱提示AWS iGenomes 的注释数据明显过时人类 GTF 大约停留在 Ensembl release 75 / 2015 年且其 GRCh38 来自NCBI而非软屏蔽soft-masked的 Ensembl 组装。若要使用最新或软屏蔽参考请自行提供--fasta/--gtf。机构级配置直接对接 HPC 与云nf-core/configs 为许多 HPC 系统和云环境提供了现成 profileexecutor、队列、容器缓存、资源限制。使用方式nextflow run nf-core/rnaseq -profile crick,singularityNextflow 会从中心仓库自动拉取该机构配置。自定义机构配置的完整选项参考本仓库的 configuration.md——其中 executors 一节覆盖了local默认、slurm、sge/uge、lsf、pbs/pbspro、awsbatch、google-batch、azurebatch、k8s等平台并给出 SLURM 示例process.executor slurmqueueclusterOptions以及executor.queueSize/submitRateLimit节流参数。若要指向本地或私有配置仓库离线场景用--custom_config_base。离线 / 隔离air-gapped环境运行在无外网的科学计算环境如涉密或内网 HPC运行流水线需要预先打好流水线 配置 容器三件套# 在有网的机器上打包流水线、配置与容器 nf-core pipelines download nf-core/rnaseq \ --revision 3.14.0 \ --container-system singularity \ # 预先将镜像转为 SIF --compress none \ --outdir nf-core-rnaseq # 传输整个目录后在离线机器上 export NXF_OFFLINEtrue export NXF_SINGULARITY_CACHEDIR/shared/sif nextflow run nf-core-rnaseq/3_14_0 -profile singularity --input ... --outdir results更精细的做法避免把镜像复制进包内改而共享镜像缓存设置$NXF_SINGULARITY_CACHEDIR并传--container-cache-utilisation amend。同时还应预置参考基因组并设置对应--*_index/igenomes_base参数、固定所有插件版本、export NXF_OFFLINEtrue。与离线相关的环境变量在 configuration.md 中有完整清单NXF_OFFLINEtrue禁用网络调用、NXF_SINGULARITY_CACHEDIR/NXF_APPTAINER_CACHEDIR指定 SIF 缓存目录、NXF_CONDA_CACHEDIR缓存 conda 环境。在 HPC 上务必设置共享的NXF_SINGULARITY_CACHEDIR让所有作业复用镜像拉取避免拉取风暴与配额爆掉。监控与排错一次失败运行的标准处置流程日志每次运行会在终端打印实时的任务表live task table完整的.nextflow.log位于启动目录。任务失败时错误信息会给出该任务的工作目录work dir进入其中检查.command.sh、.command.out、.command.err与.exitcode四个文件即可定位失败原因。Resume修复问题后加-resume重跑跳过已成功的任务。其缓存机制是每个任务对输入文件内容/元数据、脚本文本、容器与关键指令求哈希哈希未变则复用缓存输出详见 configuration.md 的缓存调试章节可用nextflow log run -f hash,name,status,workdir检查任务或对比两次运行的cache hash。报告加-with-report -with-trace -with-timeline分别产出资源占用 HTML 报告、逐任务 tab 分隔 trace、执行时间线用于画像资源用量并合理调整请求各观测 flag 见 configuration.md。常见失败内存不足exit 137→ 通过withName/withLabel或自定义 config 提高内存缺少输入列 → 修正 samplesheet容器拉取失败 → 检查引擎/profile 与缓存目录Java/Nextflow 版本不对 → 设置NXF_VER并用nextflow info核对。Nextflow 需要Java 1717–25 受支持安装与版本固定方式见 SKILL.md。Seqera Platform以-with-tower配合TOWER_ACCESS_TOKEN运行即可获得 Web 监控面板或直接从 Seqera Platform 启动流水线。把运行经验沉淀为本仓库技能的一部分本仓库将该指南封装为nextflow技能包skills/nextflow其文档矩阵分工明确本文对应的 running-pipelines.md 覆盖运行现有流水线编写/修改.nf脚本与 DSL2 语言见 language.mdnextflow.config、profiles、executors、缓存与 CLI 见 configuration.md容器引擎选型见 containers.md开发 nf-core 风格流水线/模块见 developing.mdnf-test 测试见 testing.mdnf-coreCLI 完整参考见 nf-core-tools.md。综合来看一条可复现的流水线运行应当满足四个习惯先跑-profile test冒烟、全部版本固定-r、NXF_VER、镜像 tag、用 samplesheet params 文件而非散乱参数、失败后依据 work dir 与报告文件定向修复并-resume。这套工作流让任何 AI Agent 都能像一名熟练的生信工程师一样把 nf-core 生态与自定义 Nextflow 流水线稳定地跑在笔记本、HPC 与云端。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考