View a markdown version of this page

在本機驗證工作流程定義 - AWS HealthOmics

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在本機驗證工作流程定義

您可以在呼叫 CreateWorkflow或 之前,使用工作流程語言自己的工具來驗證工作流程定義CreateWorkflowVersion。它會攔截語法錯誤和無法解決的參考等問題。

本機驗證會根據工作流程語言檢查您的定義,而不是 HealthOmics 要求。如需 HealthOmics 在工作流程建立期間執行的 linter,請參閱 HealthOmics 中的工作流程文字。

安裝驗證器

驗證程式是 AWS 未維護的第三方軟體。

  • WDL – 安裝 miniwdl,這是適用於 WDL 的本機執行器和開發人員工具組。

  • Nextflow – 安裝 Nextflow v25.10 或更新版本。舊版沒有 nextflow lint命令或報告沒有警告。

  • CWL – 安裝 cwltool,這是 CWL 標準的參考實作。

注意

您的執行可以使用比您使用的版本更舊的 Nextflow 版本。nextflow lint 命令會剖析您的執行可能不會使用的嚴格語法。因此,在您重寫定義以滿足語法調查結果之前,請檢查執行使用的語法版本,如 中所述指定 Nextflow 語法版本。如需 HealthOmics 如何選取執行的 Nextflow 版本,請參閱 Nextflow 版本。

執行驗證程式

針對主要定義檔案執行驗證程式,或針對包含驗證程式的目錄執行 Nextflow。

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

對於多檔案套件,將檔案放在磁碟上,其相對路徑與上傳至 HealthOmics 的 ZIP 封存中具有的路徑相同。參考會相對於宣告它們的檔案解析,而不是您執行命令的目錄。如需主要檔案需求,請參閱 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輸出中不報告任何警告。