本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
HealthOmics 工作流程定義語言的版本支援
HealthOmics 支援以 Nextflow、WDL 或 CWL 撰寫的工作流程定義檔案。下列各節提供有關 HealthOmics 版本支援這些語言的資訊。
WDL 版本支援
HealthOmics 支援版本 1.0、1.1 和 WDL 規格的開發版本。
每個 WDL 文件都必須包含版本陳述式,以指定其遵循的規格版本 (主要和次要)。如需版本的詳細資訊,請參閱 WDL 版本控制
WDL 規格的 1.0 和 1.1 版不支援 Directory
類型。若要將 Directory
類型用於輸入或輸出,請在檔案development的第一行將版本設定為 :
version development # first line of .wdl file ... remainder of the file ...
CWL 版本支援
HealthOmics 支援 CWL 語言的 1.0、1.1 和 1.2 版。
您可以在 CWL 工作流程定義檔案中指定語言版本。如需 CWL 的詳細資訊,請參閱 CWL 使用者指南
Nextflow 版本支援
HealthOmics 支援三個 Nextflow 穩定版本。Nextflow 通常會每六個月發行一個穩定的版本。HealthOmics 不支援每月的「邊緣」版本。
HealthOmics 支援每個版本中發行的功能,但不支援預覽功能。
支援的版本
HealthOmics 支援下列 Nextflow 版本:
-
Nextflow v22.04.01 DSL 1 和 DSL 2
-
Nextflow v23.10.0 DSL 2 (預設)
-
Nextflow v24.10.8 DSL 2
若要將工作流程遷移至最新支援的版本 (v24.10.8),請遵循 Nextflow 升級指南
從 Nextflow v23 遷移到 v24 時有一些重大變更,如 Nextflow 遷移指南的以下章節所述:
偵測和處理 Nextflow 版本
HealthOmics 會偵測您指定的 DSL 版本和 Nextflow 版本。它會根據這些輸入自動決定要執行的最佳 Nextflow 版本。
DSL 版本
HealthOmics 會在工作流程定義檔案中偵測請求的 DSL 版本。例如,您可以指定:nextflow.enable.dsl=2
。
HealthOmics 預設支援 DSL 2。如果您的工作流程定義檔案中指定 ,它會提供與 DSL 1 的回溯相容性。
-
如果您指定 DSL 2,HealthOmics 會執行 Nextflow v23.10.0,除非您指定 Nextflow v22.04.0 或 v24.10.8。
-
如果您指定 DSL 1,HealthOmics 會執行 Nextflow v22.04 DSL1 (唯一支援執行 DSL 1 的版本)。
-
如果您未指定 DSL 版本,或 HealthOmics 因任何原因無法剖析 DSL 資訊 (例如工作流程定義檔案中的語法錯誤),HealthOmics 會預設為 DSL 2 並執行 Nextflow v23.10.0。
-
若要將工作流程從 DSL 1 升級到 DSL 2,以利用最新的 Nextflow 版本和軟體功能,請參閱從 DSL 1 遷移
。
Nextflow 版本
如果您提供此檔案,HealthOmics 會在 Nextflow 組態檔案 (nextflow.config) 中偵測請求的 Nextflow 版本。我們建議您在檔案結尾新增 nextflowVersion
子句,以避免來自包含組態的任何意外覆寫。如需詳細資訊,請參閱 Nextflow 組態
您可以使用下列語法指定 Nextflow 版本或一系列版本:
// exact match manifest.nextflowVersion = '1.2.3' // 1.2 or later (excluding 2 and later) manifest.nextflowVersion = '1.2+' // 1.2 or later manifest.nextflowVersion = '>=1.2' // any version in the range 1.2 to 1.5 manifest.nextflowVersion = '>=1.2, <=1.5' // use the "!" prefix to stop execution if the current version // doesn't match the required version. manifest.nextflowVersion = '!>=1.2'
HealthOmics 會處理 Nextflow 版本資訊,如下所示:
-
如果您使用 = 來指定 HealthOmics 支援的確切版本,HealthOmics 會使用該版本。
-
如果您使用 !指定確切的版本或不支援的版本範圍,HealthOmics 會引發例外狀況並使執行失敗。如果您想要嚴格處理版本請求,請考慮使用此選項,如果請求包含不支援的版本,則快速失敗。
-
如果您指定某個版本範圍,HealthOmics 會使用該範圍中最新的支援版本,除非該範圍包含 v24.10.8。在此情況下,HealthOmics 會提供較舊版本的偏好設定。例如,如果範圍同時涵蓋 v23.10.0 和 v24.10.8,HealthOmics 會選擇 v23.10.0。
-
如果沒有請求的版本,或者請求的版本無效或因任何原因無法剖析:
-
如果您指定 DSL 1,HealthOmics 會執行 Nextflow v22.04。
-
否則,HealthOmics 會執行 Nextflow v23.10.0。
-
您可以擷取 HealthOmics 用於每次執行的 Nextflow 版本相關資訊:
-
執行日誌包含 HealthOmics 用於執行之實際 Nextflow 版本的相關資訊。
-
HealthOmics 會在執行日誌中新增警告,如果沒有與您請求的版本直接相符,或者需要使用與您指定的版本不同的版本。
-
對 GetRun API 操作的回應包含欄位 (
engineVersion
),其中包含 HealthOmics 用於執行的實際 Nextflow 版本。例如:"engineVersion":"22.04.0"