View a markdown version of this page

开始跑步 HealthOmics - AWS HealthOmics

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

开始跑步 HealthOmics

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

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

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

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

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

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

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

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

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

使用控制台开始运行

开始运行向导有四个步骤:

  1. 指定运行细节

  2. 添加参数值

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

  4. 查看并开始运行

开始跑步

  1. 打开 HealthOmics 控制台

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

  3. 选择 “开始运行”

步骤 1:指定运行细节

提供以下设置:

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

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

步骤 2:添加参数值

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

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

运行参数值

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

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

JSON 类型 示例密钥和值 注意
布尔值 “b”: 真的 值不在引号中,全部为小写。
integer “我”: 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 运行输入

提供请求 ID

您可以为每次跑步提供独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

启用临时存储

要为运行启用临时存储,请将开始运行LOCAL时设置--scratch-storage-mode为。 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 引擎设置

指定 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 引擎版本固定

您可以选择特定的 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 配置文件是在您的工作流程中定义的一组名为执行设置。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 引擎版本和语法解析器:

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

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

配置优先级

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

  1. nextflow.config默认

  2. 精选 Nextflow

  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