HealthOmics 工作流程定義需求 - AWS HealthOmics

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

HealthOmics 工作流程定義需求

HealthOmics 工作流程定義檔案必須符合下列要求:

  • 任務必須定義輸入/輸出參數、Amazon ECR 容器儲存庫,以及執行時間規格,例如記憶體或 CPU 配置。

  • 確認您的 IAM 角色具有必要的許可。

    • 您的工作流程可以存取來自 AWS 資源的輸入資料,例如 Amazon S3。

    • 您的工作流程可以在需要時存取外部儲存庫服務。

  • 宣告工作流程定義中的輸出檔案。若要將中繼執行檔案複製到輸出位置,請將它們宣告為工作流程輸出。

  • 輸入和輸出位置必須與工作流程位於相同的區域。

  • HealthOmics 儲存工作流程輸入必須處於 ACTIVE 狀態。HealthOmics 不會匯入ARCHIVED狀態為 的輸入,導致工作流程失敗。如需 Amazon S3 物件輸入的資訊,請參閱 HealthOmics 執行輸入

  • 如果您的 ZIP 封存包含單一工作流程定義或名為「主要」的檔案,則工作流程main的位置是選用的。

    • 路徑範例: workflow-definition/main-file.wdl

  • 從 Amazon S3 或本機磁碟機建立工作流程之前,請先建立工作流程定義檔案和任何相依項的 zip 封存檔,例如子工作流程。

  • 建議您將工作流程中的 Amazon ECR 容器宣告為輸入參數,以驗證 Amazon ECR 許可。

其他 Nextflow 考量事項:

  • /bin

    Nextflow 工作流程定義可能包含具有可執行指令碼的 /bin 資料夾。此路徑具有任務的唯讀和可執行存取權。依賴這些指令碼的任務應使用使用適當指令碼解譯器建置的容器。最佳實務是直接呼叫解譯器。例如:

    process my_bin_task { ... script: """ python3 my_python_script.py """ }
  • includeConfig

    以 Nextflow 為基礎的工作流程定義可以包含 nextflow.config 檔案,以協助抽象參數定義或程序資源描述檔。若要支援在多個環境中開發和執行 Nextflow 管道,請使用您使用 includeConfig 指令新增至全域組態的 HealthOmics 特定組態。若要維持可攜性,請使用下列程式碼將工作流程設定為僅在 HealthOmics 上執行時包含 檔案:

    // at the end of the nextflow.config file if ("$AWS_WORKFLOW_RUN") { includeConfig 'conf/omics.config' }
  • Reports

    HealthOmics 不支援引擎產生的 dag、追蹤和執行報告。您可以使用 GetRun 和 GetRunTask API 呼叫的組合,產生追蹤和執行報告的替代方案。

其他 CWL 考量事項:

  • Container image uri interpolation

    HealthOmics 允許 DockerRequirement 的 dockerPull 屬性成為內嵌 javascript 表達式。 DockerRequirement 例如:

    requirements: DockerRequirement: dockerPull: "$(inputs.container_image)"

    這可讓您指定容器映像 URIs做為工作流程的輸入參數。

  • Javascript expressions

    Javascript 表達式必須strict mode合規。

  • Operation process

    HealthOmics 不支援 CWL 操作程序。