View a markdown version of this page

在本地验证工作流程定义 - AWS HealthOmics

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在本地验证工作流程定义

在调用之前,您可以使用工作流语言自己的工具验证工作流程定义 CreateWorkflow 要么 CreateWorkflowVersion。它可以捕获语法错误和引用等无法解决的问题。

本地验证会根据工作流程语言检查您的定义,而不是根据工作流程语言检查您的定义 HealthOmics 要求。对于 linters 来说 HealthOmics 在工作流程创建期间运行,请参阅 工作流程提示器已输入 HealthOmics。

安装验证器

验证器是第三方软件 AWS 无法维护。

  • WDL — 安装 miniwdl,WDL 的本地运行者和开发者工具包。

  • Nextflow — 安装 下一步 v25.10 或更高版本。较早的版本要么没有 nextflow lint 命令或报告没有警告。

  • CWL — 安装 cwltool,CWL 标准的参考实施方案。

注意

你的运行版本可以使用比你使用的 Lint 版本更旧的 Nextflow 版本。这个 nextflow lint 命令使用严格的语法进行解析,您的运行可能不会使用该语法。因此,在重写定义以满足语法查找条件之前,请检查您的运行使用了哪个语法版本,如中所述 指定 Nextflow 语法版本。看怎么样 HealthOmics 选择 Nextflow 版本进行运行,请参阅 Nextflow版本。

运行验证器

对主定义文件运行验证器,对于 Nextflow,对包含该文件的目录运行验证器。

WDL
miniwdl check main-file
Nextflow
nextflow lint definition-directory
CWL
cwltool --validate main-file

对于多文件包,使用与您上传到的 ZIP 存档中相同的相对路径将文件布局在磁盘上 HealthOmics。引用是根据声明它们的文件解析的,而不是你运行命令的目录来解析的。有关主文件要求,请参见 HealthOmics 工作流程定义要求。

通行证 nextflow lint 目录而不是主文件,因此它还会检查 nextflow.config,它无法从主文件中访问。

注意

当你通过时 -format, nextflow lint 重写没有错误的定义文件。使用 v25.10 或更高版本进行格式化可能会生成早期 Nextflow 版本拒绝的语法,因此,除非您的运行使用格式化的版本,否则不要进行格式化。

读取验证结果

miniwdl 和 nextflow lint 当他们报告错误时以非零状态退出,但当他们仅报告警告时以零状态退出,因此请阅读输出而不是依赖退出状态。

  • WDL — miniwdl 要么报告它无法恢复的第一个错误,要么是它加载的每份文档的概述,其中包含任何 lint 发现的内容。

  • Nextflow — Nextflow 使用其文件、行和列报告每个错误和警告,并引用违规行。它以计数有错误的文件和没有错误的文件数结尾,因此,带有警告但没有错误的文件被视为没有错误。要更改报告格式,请传递 -o,例如 -o json。

  • CWL — cwltool 要么报告文件是有效的 CWL,要么报告每个问题的文件、行和列的验证失败。

注意

Nextflow 版本的报告量有所不同。Nextflow v26.04 将警告计入其摘要并将其包含在 -o json 输出。Nextflow v25.10 仅在默认输出中打印警告,并在其摘要或其摘要中不报告任何警告 -o json 输出。