翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
HealthOmics のワークフローリンター
HealthOmics は、作成時に WDL ワークフローと Nextflow DSL2 ワークフローを自動的にリントします。組み込みの linters は、実行が失敗する原因となるワークフロー定義ファイルのエラーを検出します。Lint の検出結果はGetWorkflowレスポンスの statusMessageフィールドに表示されます。
WDL ワークフローの場合、lint の検出結果はブロックされています。エラーが検出された場合、ワークフローは ACTIVE に移行しません。Nextflow DSL2 ワークフローの場合、lint の検出結果はノンブロッキングです。ワークフローは検出結果に関係なく ACTIVE に移行します。
HealthOmics には、ワークフローを作成する前にローカルで実行できる外部 linter も用意されています。これらの linter には、追加の HealthOmics 固有のルールを含めることができます。
組み込み linters
HealthOmics は、 CreateWorkflowまたは を呼び出すと、組み込みの linters サーバー側で実行されますCreateWorkflowVersion。
WDL 組み込みリンティング
WDL の場合、ワークフローを作成すると HealthOmics は自動的に linter を実行します。WDL リンティングがブロックされています。linter がエラーを検出した場合、ワークフローは ACTIVE に移行しません。linter 出力は、GetWorkflowレスポンスの statusMessageフィールドにあります。次の CLI コマンドを使用して、ステータス出力を取得します (作成した WDL ワークフローのワークフロー ID を使用します)。
aws omics get-workflow —id123456—query 'statusMessage'
Nextflow 組み込みリンティング
HealthOmics は、サポートされているすべての Nextflow DSL2 バージョン中CreateWorkflowおよび CreateWorkflowVersion で、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 はノンブロッキングモードで動作します。検出結果によってワークフローが ACTIVE になるのを防ぐことはできません。ワークフロー作成プロセスを中断することなく、いつでも結果を確認できます。
注記
組み込みの Nextflow linter は、作成時にワークフロー定義構文を検証します。これは、Nextflow v26.04 で使用できる厳密な構文パーサーとは異なります。このパーサーは、 によって制御engineSettings.syntaxVersionされ、ランタイムの動作に影響します。linter は、ワークフローが実行時に使用するパーサーに関係なく、すべての DSL2 バージョンで作成時に実行されます。
Nextflow lint 出力を取得するには
Lint の検出結果は、GetWorkflowレスポンスの statusMessageフィールドに構造化 JSON として表示されます。次の CLI コマンドを使用して、lint 出力を取得します。
aws omics get-workflow --id1234567--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– エラーオブジェクトの配列。各エラーには、filename、startLine、startColumn、および が含まれますmessage。 -
warnings– 警告オブジェクトの配列。各警告には、エラーオブジェクトと同じフィールドが含まれます。 -
truncated– lint 出力がフィールドサイズ制限を超えたときに表示される条件付きフラグ。切り捨てが発生すると、警告が最初に削除されます。ワークフローは有効なトリミングされたレポートで ACTIVE のままになります。
推奨事項
lint の検出結果に対処するには、次のワークフローをお勧めします。
statusMessageフィールドで lint の検出結果を確認します。ワークフロー定義ファイルのエラーを修正します。
ワークフローを再作成して、クリーンリントレポートを生成します。
外部 linters
次の外部 linter を使用できます。
-
WDL – Amazon ECR Public Gallery で WDL linter
を実行するためのパブリック Amazon ECR イメージ。 -
Nextflow – Amazon ECR Public Gallery で Nextflow の Linter ルール
を実行するパブリック Amazon ECR イメージ。GitHub の linter-rules-for-nextflow リポジトリからソースコードにアクセスできます。 -
CWL – 利用できません。
次のリストでは、組み込み linter と外部 linter の区別について説明します。
-
組み込み linters –
CreateWorkflowおよび 中にサーバー側を実行しますCreateWorkflowVersion。WDL の場合、検出結果はブロックされます。Nextflow DSL2 の場合、検出結果はノンブロッキングです。WDL および Nextflow DSL2 ワークフローにのみ適用されます。 -
外部 linters – ワークフローの作成前にローカルで を実行します。HealthOmics 固有の追加の互換性ルールを含めることができます。パブリック Amazon ECR イメージとして使用できます。