View a markdown version of this page

开始跑步 HealthOmics - AWS HealthOmics

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

开始跑步 HealthOmics

开始运行时,您需要指定为运行 HealthOmics 分配的资源。可供使用的设置如下:

  1. 输出位置-指定存储运行输出文件的 Amazon S3 URI。如果您同时运行大量工作流程,请为每个工作流程使用单独的 Amazon S3 输出 URI,以避免存储桶限制。有关更多信息,请参阅 Amazon S3 用户指南中的使用前缀组织对象和优化 Amazon S 3 性能白皮书中的水平扩展存储连接

  2. 服务角色 — 指定一个 IAM 服务角色,该角色授予访问运行所需资源的 HealthOmics权限。或者,控制台可以为您创建服务角色。有关更多信息,请参阅 的服务角色 AWS HealthOmics

  3. 运行存储(可选,默认为 “动态”)-指定运行存储类型和存储量(对于静态存储)。为确保数据隔离和安全 HealthOmics ,请在每次运行开始时配置存储,并在运行结束时取消配置。有关更多信息,请参阅 在 HealthOmics 工作流程中运行存储类型

  4. 运行优先级(可选)-为运行分配优先级。优先级对运行的影响取决于运行是否与运行组关联。有关更多信息,请参阅 运行优先级

  5. 工作流程版本(可选)-为运行选择特定的工作流程版本。如果您未指定版本,则 HealthOmics 启动默认工作流程版本

  6. Nextflow 引擎设置(可选,仅限 Nextflow)— 在运行时为 Nextflow 工作流程指定引擎设置,例如版本和语法解析器。有关更多信息,请参阅 指定下一流引擎设置

  7. 输入参数(可选)-以 JSON 文件或内联值的形式提供工作流程输入参数。必需的参数由工作流的参数模板定义。有关更多信息,请参阅 HealthOmics 运行输入

  8. 请求 ID(可选,仅限 API 和 CLI)— 为每次运行提供唯一的请求编号。请求 ID 是一个等性令牌, HealthOmics 用于识别重复的请求并仅开始运行一次。

使用控制台开始运行

“开始运行” 向导包含四个步骤:

  1. 指定运行细节

  2. 添加参数值

  3. 添加运行组、运行缓存和标签

  4. 查看并开始运行

开始跑步

  1. 打开 HealthOmics 控制台

  2. 如果需要,请打开左侧导航窗格 (►)。选择运行

  3. 选择 “开始运行”。

步骤 1:指定运行详细信息

提供以下设置:

# 设置 必需 说明
1 选择工作流程来源 必填 选择自有工作流程(您拥有的私有工作流程)或共享工作流程(与您共享的工作流程)。
2 工作流程 ID 必填 为此次运行选择工作流程 ID。
3 运行名称 必填项(在 API 和 CLI 上是可选的) 此次运行的描述性名称。最多 127 个字符。工作流程运行后,将自动生成运行 ID。
4 配置 可选 选择一种配置,以指定 Internet 连接的 VPC 设置(子网、安全组),并包括容器注册表映射和 Git 存储库连接。运行开始后无法更改。
5 运行优先级 可选 设置跑步组中跑步的优先级。数字越大意味着优先级越高。仅限整数,范围在 0—1,000 之间。
6 运行存储类型 可选 选择动态存储(默认,推荐)或静态存储。动态存储按任务向上和向下扩展。静态存储可提供固定金额。有关更多信息,请参阅 在 HealthOmics 工作流程中运行存储类型
7 运行存储容量 有条件 仅适用于静态存储。以 GiB 为单位指定金额。
8 选择 S3 输出目的地 必填 交付运行输出的 Amazon S3 地点。格式:s3://bucket/prefix/object
9 输出存储桶所有者的账户 ID 可选 如果您的账户不拥有输出存储桶,请输入存储桶所有者的 AWS 账户 ID。
10 运行元数据保留模式 可选 选择 “保留运行元数据”(默认)或 “自动移除最旧的”。 RETAIN是默认值;在此模式下 HealthOmics 不会删除运行元数据。有关更多信息,请参阅 运行时 HealthOmics 运行保留模式
11 网络访问 可选 选择受限(默认)或虚拟私有云 (VPC)。有关更多信息,请参阅 VPC 联网
12 服务角色 必填 选择现有的服务角色或创建一个新的服务角色。 HealthOmics 需要使用 Amazon S3 和 KMS 的权限。有关更多信息,请参阅 的服务角色 AWS HealthOmics

选择 “下一步” 继续步骤 2。

步骤 2:添加参数值

在此页面上,输入运行的参数值,或选择工作流程作者提供的预定义值。

当您选择 Nextflow 工作流程开始运行时,此步骤的顶部会显示 Nextflow 引擎设置Nextflow 配置文件的其他部分。有关这些设置(支持的值、行为和配置文件优先级)的完整详细信息,请参阅指定下一流引擎设置

运行参数值

提供运行参数。您可以上传 JSON 文件或手动输入值。JSON 文件包含每个输入参数的确切名称和参数的值。

HealthOmics 支持以下 JSON 类型的参数值。

JSON 类型 键和值示例 注意
布尔值 “b”: true 值不在引号中,且全部为小写。
integer “i”: 7 值不在引号中。
数字 “f”: 42.3 值不在引号中。
字符串 “s”: “字符” 值用引号表示。对文本值和 URI 使用字符串类型。URI 目标必须是预期的输入类型。
array “a”: [1,2,3] 值不在引号中。每个数组成员都必须具有由输入参数定义的类型。
object “o”: {“左”: “a”,“右”: 1} 在 WDL 中,对象映射到 WDL 配对、映射或结构

有关更多信息,请参阅HealthOmics 运行输入管理运行参数大小

选择 “下一步” 继续步骤 3。

步骤 3:添加运行组、运行缓存和标签

此页面上的所有设置都是可选的。

# 设置 必需 说明
1 跑步小组 可选 选择现有的运行组或创建一个新的运行组。运行组捆绑包按类别和优先级运行,并设置最大 vCPU 和运行时间。有关更多信息,请参阅 使用 HealthOmics 跑步组
2 运行缓存 可选 使用运行缓存来重用已完成的任务结果,而不是重新计算它们。有关更多信息,请参阅 使用控制台配置带有运行缓存的运行
3 标签 可选 添加多达 50 个键值标签,用于搜索、筛选和成本跟踪。

选择 “下一步” 继续步骤 4。

步骤 4:查看并开始运行

查看之前所有步骤中的运行配置。要修改设置,请选择相关步骤旁边的 “编辑”。准备就绪后,选择 “开始运行”。

使用 API 开始跑步

使用 StartRun API 操作创建并开始运行。

开始基本跑步

以下示例指定工作流程 ID、服务角色和输出 URI。此示例将保留模式设置为REMOVE。有关保留模式的更多信息,请参阅运行时 HealthOmics 运行保留模式

aws omics start-run \ --workflow-id workflow id \ --role-arn arn:aws:iam::123456789012:role/OmicsRole \ --output-uri s3://amzn-s3-demo-bucket/output \ --name "my-workflow-run" \ --retention-mode REMOVE

作为响应,你会得到以下输出。uuid是运行所独有的,与一起outputUri可用于跟踪输出数据的写入位置。

{ "arn": "arn:aws:omics:us-west-2:123456789012:run/1234567", "id": "123456789", "uuid": "96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri": "s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a", "status": "PENDING" }

常用 API 选项

包括参数文件

如果工作流程的参数模板声明了任何必需的参数,则可以在启动工作流程运行时提供输入的本地 JSON 文件。JSON 文件包含每个输入参数的确切名称和参数的值。

AWS CLI 通过添加到--parameters file://<input_file.json>您的start-run请求中引用输入 JSON 文件。有关更多信息,请参阅步骤 2:添加参数值和中支持参数值的 JSON 类型HealthOmics 运行输入

提供请求编号

你可以为每次跑步提供一个唯一的requestId。请求 ID 是一个 HealthOmics 用于捕获重复请求的等性令牌。如果请求 ID 与上一次运行重复,则它不会开始运行。

如果您使用基础架构(例如 Lambda 函数或步骤函数)来协调运行启动,则最佳做法是为每个请求提供唯一的请求 ID。 StartRun 这样可以确保,如果您的基础架构无意中启动了已经启动的运行,则 HealthOmics 不会启动重复运行。

aws omics start-run \ --workflow-id workflow id \ ... \ --request-id "unique-request-id-12345"

选择工作流程版本

您可以为运行指定工作流程版本。如果您未指定版本,则使用默认工作流程版本 HealthOmics 开始运行。

aws omics start-run \ --workflow-id workflow id \ ... \ --workflow-version-name '1.2.1'

覆盖运行存储类型

您可以覆盖工作流程中设置的默认运行存储类型。

aws omics start-run \ --workflow-id workflow id \ ... \ --storage-type STATIC \ --storage-capacity 2400

启用临时存储

要为运行启用临时存储,请--scratch-storage-mode将其设置为开始运行LOCAL时。 HealthOmics 为每个工作流程任务实例安装一个专用的本地存储卷。/tmp

aws omics start-run \ --workflow-id workflow-id \ --role-arn arn:aws:iam::123456789012:role/OmicsServiceRole \ --output-uri s3://amzn-s3-demo-bucket/output-folder/ \ --parameters file:///path/to/parameters.json \ --scratch-storage-mode LOCAL

要禁用特定运行的临时存储(例如,隔离故障),请将设置为。--scratch-storage-mode SHARED

有关更多信息,请参阅 用于工作流程任务的临时存储 HealthOmics

有关 Nextflow 引擎设置(引擎版本、配置文件、语法解析器),请参阅。指定下一流引擎设置

指定下一流引擎设置

对于 Nextflow 工作流程,您可以在 StartRun API 请求中传递engineSettings地图以控制引擎行为,而无需修改工作流程源代码。在控制台上,这些设置可在步骤 2:添加参数值作为单独的部分中找到,该部分显示在 Nextflow 工作流程中。

注意

引擎设置仅适用于 Nextflow 工作流程。如果您在 API 或 CLI 中为 WDL 或 CWL 工作流程指定引擎设置,则这些设置会被静默忽略,并且在响应中不可用。GetRun

支持的密钥

# Key 有效值 行为 版本支持
1 engineVersion "22.04.0"(或"22.04")、"23.10.0"(或"23.10")、"24.10.8"(或"24.10")、"25.10.0"(或"25.10")、"26.04.0"(或"26.04" 将 Nextflow 版本固定在运行中。覆盖从nextflow.config中检测到的版本。接受完整版和短版格式。 所有 Nextflow
2 syntaxVersion "v1"(旧版解析器),"v2"(严格的语法解析器) 选择语法解析器。 v26.04 及更高版本。仅支持早期版本"v1"
3 outputFormat "json", "text", "none" 设置引擎 stdout/stderr 摘要格式。 v26.04 及更高版本(在早期版本中忽略)。
4 agentMode "true", "false" 控制 Nextflow 代理模式。 v26.04 及更高版本(在早期版本中忽略)。
5 profile Comma-separated 个人资料名称,例如 "test,docker" 激活 Nextflow 配置文件。有关更多信息,请参阅 下一页流量配置文件 所有 Nextflow

Nextflow 引擎版本固定

您可以选择特定的 Nextflow 引擎版本来运行您的工作流程,从而实现跨引擎版本的受控迁移。运行时版本覆盖可确保即使工作流定义通过其配置或配置文件指定版本,也优先考虑您在运行时指定的引擎版本。这使您无需修改工作流程源代码即可在多个引擎版本中测试相同的工作流程。

支持的版本:22.04.0(或 22.04)、23.10.0(或 23.10)、24.10.8(或 24.10)、25.10.0(或 25.10)和 26.04.0(或 26.04)。接受完整版和短版格式。

API 和 CLI

在以下位置使用engineVersion密钥--engine-settings

aws omics start-run \ --workflow-id workflow id \ --role-arn arn:aws:iam::123456789012:role/OmicsRole \ --output-uri s3://amzn-s3-demo-bucket/output \ --engine-settings '{"engineVersion":"26.04"}'

控制台

在中步骤 2:添加参数值,从 Nextflow 引擎设置部分的引擎版本下拉列表中选择版本

下一页流量配置文件

Nextflow 配置文件是在您的工作流程中定义的nextflow.config命名执行设置集。您可以在运行时激活一个或多个配置文件以应用特定于环境的设置(例如,开发、测试或生产),而无需修改工作流程源代码。

API 和 CLI

使用中的profile密钥--engine-settings。以逗号分隔的列表形式指定多个配置文件:

aws omics start-run \ --workflow-id workflow id \ --role-arn arn:aws:iam::123456789012:role/OmicsRole \ --output-uri s3://amzn-s3-demo-bucket/output \ --engine-settings '{"profile":"test,docker"}'

控制台

在中步骤 2:添加参数值Nextflow 配置文件部分显示在引擎设置下方。从 “选择配置文件” 下拉列表中选择一个或多个配置文件。控制台显示配置文件应用程序顺序。要删除配置文件,请选择其名称旁边的 ×

个人资料申请顺序

指定多个配置文件时,应用程序顺序取决于 Nextflow 引擎版本和语法解析器:

  • Nextflow v26.04 及更高版本使用严格的语法解析器 (v2) — 配置文件按profile值中指定的顺序(从左到右)或控制台上的选择顺序应用。由于设置冲突,较新的配置文件会覆盖较早的配置文件。

  • 使用旧版解析器 (v1) 的 Nextflow 版本以及 v26.04 及更高版本 — 无论在 API 请求或控制台选择中指定的顺序如何,配置nextflow.config文件均按文件中定义的顺序应用。

配置优先级

Nextflow 按以下顺序解析参数,后面的层会覆盖之前的层:

  1. nextflow.config默认

  2. 选定的下一流配置文件

  3. 预定义值文件

  4. Run-time 参数覆盖

注意

建议 — 为确保配置文件应用程序在运行期间行为保持一致,请在控制台上使用 API 或引擎版本中的engineVersion密钥固定 Nextflow 引擎版本

VPC 联网

您可以在您的虚拟私有云 (VPC) 中运行工作流程,从而允许访问公共互联网、跨区域流量以及与您的 VPC 中的资源进行通信。

要启用 VPC 网络,请执行以下操作:

  1. 创建指定 VPC 子网和安全组的配置。

  2. 使用控制台开始运行时,将网络访问权限设置为虚拟私有云 (VPC),然后在步骤 1 中选择您的配置。

  3. 使用 API 开始运行时,请使用--networking-mode VPC并参考您的配置--configuration-name

有关更多信息,请参阅 将 HealthOmics 工作流程连接到 VPC