View a markdown version of this page

工作流程提示器已输入 HealthOmics - AWS HealthOmics

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

工作流程提示器已输入 HealthOmics

HealthOmics 在创建过程中自动执行 WDL 和 Nextflow DSL2 工作流程。内置 linter 可检测工作流程定义文件中可能导致运行失败的错误。Lint 的发现出现在GetWorkflow回应statusMessage字段中。

对于 WDL 工作流程,lint 发现会阻塞——如果检测到错误,工作流程不会转换为 ACTIVE。对于 Nextflow DSL2 工作流程,lint 发现是非阻塞性的,无论发现什么,工作流程都会过渡到 ACTIVE。

HealthOmics 还提供了可在创建工作流程之前在本地运行的外部 linter。这些 linter 可以包括其他 HealthOmics-specific 规则。

Built-in linters

HealthOmics 当你调CreateWorkflow用或时在服务器端运行内置 linters。CreateWorkflowVersion

WDL 内置 Linting

对于 WDL,在创建工作流程时 HealthOmics 会自动运行 linter。WDL linting 处于阻塞状态 — 如果 linter 检测到错误,则工作流程不会转换为 ACTIVE。你可以在GetWorkflow响应statusMessage字段中找到 linter 输出。使用以下 CLI 命令检索状态输出(使用您创建的 WDL 工作流的工作流 ID):

aws omics get-workflow —id 123456 —query 'statusMessage'

Nextflow 内置毛绒

HealthOmics 在所有支持的 Nextflow DSL2 版本期间CreateWorkflow以及CreateWorkflowVersion所有支持的 Nextflow DSL2 版本中自动运行 Nextflow 内置的严格 DSL2 linter (nf-lang/v2):

  • Nextflow v22.04(仅限 DSL2)

  • Nextflow v23.10

  • Nextflow v24.10

  • Nextflow v25.10

  • NextfLOW v26.04

注意

内置的 linter 仅适用于 DSL2 工作流程。DSL1 工作流程不受限制。

Nextflow linter 在非阻塞模式下运行。调查结果不会阻止工作流程变为活跃状态。您可以随时查看调查结果,而不会中断工作流程创建过程。

注意

内置的 Nextflow linter 会在创建时验证您的工作流程定义语法。它与 Nextflow v26.04 中可用的严格语法解析器不同,后者受运行时行为控制engineSettings.syntaxVersion并影响运行时行为。无论工作流程在运行时使用哪个解析器,linter 都会在创建时在所有 DSL2 版本上运行。

检索 Nextflow lint 输出

Lint 的发现结果在GetWorkflow响应statusMessage字段中以结构化 JSON 的形式显示。使用以下 CLI 命令检索 lint 输出:

aws omics get-workflow --id 1234567 --query 'statusMessage'

以下示例显示了 Nextflow linter 的 JSON 输出:

{ "advisory": "Linting findings are from the strict Nextflow DSL2 (nf-lang/v2) linter and reflect the syntax that will be required in Nextflow 25/26 strict mode. On Nextflow 23/24 (legacy grammar) findings are advisory only.", "summary": { "errors": 2, "filesWithErrors": 1, "filesWithoutErrors": 0, "filesFormatted": 0, "warnings": 0, "filesWithWarnings": 0, "filesWithoutWarnings": 2 }, "errors": [ { "filename": "nextflow-lint-legacy.nf", "startLine": 24, "startColumn": 5, "message": "`for` loops are no longer supported" }, { "filename": "nextflow-lint-legacy.nf", "startLine": 24, "startColumn": 10, "message": "`i` is not defined" } ], "warnings": [] }

Lint 输出字段

JSON 输出包含以下字段:

  • advisory— 解释调查结果的特定版本适用性。在 Nextflow v22.04、v23.10 和 v24.10(传统语法)上,调查结果仅供参考。在 Nextflow v25.10 和 v26.04 上,调查结果反映了严格的模式语法要求。

  • summary— 包含工作流程中所有文件的错误和警告的汇总计数。

  • errors— 错误对象数组。每个错误都包含filenamestartLine、startColumn、和message。

  • warnings— 警告对象数组。每个警告都包含与错误对象相同的字段。

  • truncated— 当 lint 输出超过字段大小限制时出现的条件标志。当发生截断时,首先删除警告。使用有效的修剪报告后,工作流程将保持活动状态。

建议

我们建议使用以下工作流程来解决 Lint 发现的问题:

  1. 查看实statusMessage地调查结果。

  2. 修复工作流程定义文件中的错误。

  3. Re-create 生成干净的 lint 报告的工作流程。

外部闪光灯

以下外部笔芯可用:

  • WDL— 一个公开的亚马逊 ECR 图片,用于在亚马逊 ECR 公共画廊上运行 WDL linter。

  • Nextflow— 一个公开的亚马逊 ECR 镜像,用于在亚马逊 ECR 公共画廊上运行 Nextflow 的 Linter 规则。你可以访问上的 lin ter-rules-for-nextflow 存储库中的源代码。 GitHub

  • CWL— 不可用。

以下列表描述了内置和外部 linter 之间的区别:

  • Built-in linters — 在和期间在CreateWorkflow服务器端运行。CreateWorkflowVersion对于 WDL 来说,调查结果令人困惑。对于 Nextflow DSL2,调查结果是非阻塞性的。仅适用于 WDL 和 Nextflow DSL2 工作流程。

  • 外部 linter — 在创建工作流程之前在本地运行。可以包括其他 HealthOmics-specific 兼容性规则。作为亚马逊 ECR 公开镜像提供。