本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HealthOmics 工作流程定义要求
工作 HealthOmics 流定义文件必须满足以下要求:
-
任务必须定义 input/output 参数、Amazon ECR 容器存储库和运行时规范,例如内存或 CPU 分配。
-
验证您的 IAM 角色是否具有所需的权限。
-
您的工作流程可以访问来自 Amazon S3 等 AWS 资源的输入数据。
-
您的工作流程可以在需要时访问外部存储库服务。
-
-
在工作流程定义中声明输出文件。要将中间运行文件复制到输出位置,请将其声明为工作流输出。
-
输入和输出位置必须与工作流程位于同一区域。
-
HealthOmics 存储工作流输入必须处于
ACTIVE状态。 HealthOmics 不会导入带有ARCHIVED状态的输入,从而导致工作流程失败。有关 Amazon S3 对象输入的信息,请参阅HealthOmics 运行输入。 -
如果您的 ZIP 存档包含单个工作流程定义或名为 “main” 的文件,则工作流程的main位置是可选的。
-
路径示例:
workflow-definition/main-file.wdl
-
-
在从 Amazon S3 或本地驱动器创建工作流程之前,请创建工作流程定义文件和任何依赖关系(例如子工作流程)的 zip 存档。
-
我们建议您在工作流程中声明亚马逊 ECR 容器作为验证亚马逊 ECR 权限的输入参数。
其他 Nextflow 注意事项:
-
/bin
Nextflow 工作流程定义可能包括一个包含可执行脚本的 /bin 文件夹。此路径具有对任务的只读访问权限和可执行权限。依赖这些脚本的任务应使用使用使用相应脚本解释器构建的容器。最佳做法是直接给口译员打电话。例如:
process my_bin_task { ... script: """ python3 my_python_script.py """ } -
includeConfig
Nextflow-based 工作流定义可以包括 nextflow.config 文件,这些文件有助于抽象参数定义或流程资源配置文件。要支持在多个环境中开发和执行 Nextflow 管道,请使用使用 includeConfig 指令添加到全局配置中的 HealthOmics-specific 配置。要保持可移植性,请使用以下代码将工作流程配置为仅在 HealthOmics 运行时包含文件:
// at the end of the nextflow.config file if ("$AWS_WORKFLOW_RUN") { includeConfig 'conf/omics.config' } -
Reports
HealthOmics 支持 Nextflow 执行报告、时间表、跟踪和 DAG 报告。将每份报告配置为在下方写入其输出,
/mnt/workflow/output/以便将其 HealthOmics 导出到运行的 Amazon S3 输出位置。有关更多信息,请参阅 生成 Nextflow 执行报告。 -
自动语法验证 — 对于 WDL 和 Nextflow,在工作流程创建期间 HealthOmics 运行内置语法。有关更多信息,请参阅 工作流程提示器已输入 HealthOmics。
其他 CWL 注意事项:
-
Container image uri interpolation
HealthOmics 允许的 dockerPull 属性成为内联 javaScript 表达式。 DockerRequirement 例如:
requirements: DockerRequirement: dockerPull: "$(inputs.container_image)"这允许您指定容器镜像 URI 作为工作流程的输入参数。
-
Javascript expressions
JavaScript 表达式必须
strict mode兼容。 -
Operation process
HealthOmics 不支持 CWL 操作流程。