本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始磨合 HealthOmics
开始运行时,可以设置运行存储类型和存储量(用于静态存储)。有关更多信息,请参阅 在 HealthOmics 工作流程中运行存储类型。
您还可以设置运行优先级。优先级对运行的影响取决于运行是否与运行组关联。有关更多信息,请参阅 运行优先级。
如果您创建了一个或多个工作流程版本,则可以在开始运行时指定版本。如果您未指定版本,则 HealthOmics 启动默认工作流程版本。
为输出文件指定 Amazon S3 的位置。如果您同时运行大量工作流程,请 URIs 为每个工作流程使用单独的 Amazon S3 输出以避免存储桶限制。有关更多信息,请参阅 Amazon S3 用户指南中的使用前缀组织对象和优化 Amazon S 3 性能白皮书中的水平扩展存储连接。
注意
您可以在开始运行时指定 IAM 服务角色。或者,控制台可以为您创建服务角色。有关更多信息,请参阅 的服务角色 AWS HealthOmics。
HealthOmics 运行参数
开始运行时,可以在运行参数 JSON 文件中指定运行输入,也可以内联输入参数值。有关管理运行参数 JSON 文件大小的信息,请参阅管理运行参数大小。
HealthOmics 支持以下 JSON 类型的参数值。
JSON 类型 | 键和值示例 | 备注 |
---|---|---|
布尔值 | “b”: true | 值不在引号中,且全部为小写。 |
整数 | “i”: 7 | 值不在引号中。 |
数字 | “f”: 42.3 | 值不在引号中。 |
字符串 | “s”: “字符” | 值用引号表示。对文本值使用字符串类型和 URIs。URI 目标必须是预期的输入类型。 |
array | “a”: [1,2,3] | 值不在引号中。每个数组成员都必须具有由输入参数定义的类型。 |
object | “o”: {“左”: “a”,“右”: 1} | 在 WDL 中,对象映射到 WDL 配对、映射或结构 |
使用控制台开始运行
要启动工作流程,请运行
在左侧导航窗格中,选择 R uns。
-
在 “运行” 页面上,选择 “开始运行”。
-
在运行详细信息面板中,提供以下信息
-
工作流来源-选择 “自有的工作流程” 或 “共享工作流程”。
-
工作流程 ID-与此运行关联的工作流程 ID。
-
工作流程版本(可选)-选择用于此次运行的工作流程版本。如果您未选择版本,则运行将使用工作流程的默认版本。
-
跑步名称-本次跑步的独特名称。
-
运行优先级(可选)-此次运行的优先级。数字越大,优先级越高,优先级最高的任务首先运行。
-
运行存储类型-在此处指定存储类型以覆盖为工作流程指定的默认运行存储类型。静态存储为运行分配固定数量的存储空间。动态存储可根据运行中的每项任务的需要向上和向下扩展。
-
运行存储容量-对于静态运行存储,请指定运行所需的存储量。此条目将覆盖为工作流程指定的默认运行存储量。
-
选择 S3 输出目的地-保存运行输出的 S3 位置。
-
输出存储桶所有者的账户 ID(可选)-如果您的账户不拥有输出存储桶,请输入存储桶所有者的 AWS 账户 ID。此信息是必需的,这样 HealthOmics 才能验证存储桶的所有权。
-
运行元数据保留模式-选择是保留所有运行的元数据,还是让系统在账户达到最大运行次数时删除最旧的运行元数据。有关更多信息,请参阅 运行时 HealthOmics 运行保留模式。
-
-
在服务角色下,您可以使用现有的服务角色或创建新的服务角色。
-
(可选)对于标记,您最多可以为运行分配 50 个标签。
-
选择下一步。
-
在添加参数值页面上,提供运行参数。您可以上传指定参数的 JSON 文件,也可以手动输入值。
-
选择下一步。
-
在 “运行组” 面板中,您可以选择为此次运行指定运行组。有关更多信息,请参阅 创建 HealthOmics 跑步组。
-
在 “运行缓存” 面板中,您可以选择为此次运行指定运行缓存。有关更多信息,请参阅 使用控制台配置带有运行缓存的运行。
-
选择 Review and start run (检查并启动运行)。
-
查看运行配置后,选择开始运行。
使用 API 开始跑步
将启动运行 API 操作与 I AM 角色和您创建的 Amazon S3 存储桶配合使用。此示例将保留模式设置为REMOVE
。有关保留模式的更多信息,请参阅运行时 HealthOmics 运行保留模式。
aws omics start-run --workflow-id
\ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name
workflow id
\ --retention-mode REMOVE
workflow name
作为响应,你会得到以下输出。uuid
是运行所独有的,与一起outputUri
可用于跟踪输出数据的写入位置。
{ "arn": "arn:aws:omics:us-west-2:....:run/1234567", "id": "123456789", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "PENDING" }
如果工作流程的参数模板声明了任何必需的参数,则可以在启动工作流程运行时提供输入的本地 JSON 文件。JSON 文件包含每个输入参数的确切名称和参数的值。
AWS CLI 通过添加到--parameters file://<input_file.json>
您的start-run
请求中引用输入 JSON 文件。有关运行参数的更多信息,请参阅HealthOmics 运行输入。
您可以为运行指定工作流程版本。
aws omics start-run --workflow-id
\ ... --workflow-version-name '1.2.1'
workflow id
您可以覆盖工作流程中指定的默认运行存储类型。
aws omics start-run --workflow-id
\ ... --storage-type STATIC --storage-capacity 2400
workflow id
您也可以使用带有 GPU 工作流程 ID 的启动运行 API,如图所示。
aws omics start-run --workflow-id
\ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name GPUTestRunModel \ --output-uri s3://amzn-s3-demo-bucket1
workflow id
获取有关工作流程运行的信息
您可以将响应中的 ID 与 get-run API 配合使用来检查运行状态,如图所示。
aws omics get-run --id
run id
来自此 API 操作的响应会告诉您工作流程的运行状态。可能的状态是PENDING
、STARTING
RUNNING
、和。COMPLETED
运行时COMPLETED
,您可以在输出 Amazon S3 存储桶outfile.txt
中找到一个名为的输出文件,该文件位于以运行 ID 命名的文件夹中。
get-run API 操作还会返回其他详细信息,例如工作流程是否为PRIVATE
、工作流引擎和加速器详细信息。Ready2Run
以下示例显示了私有工作流程运行时对 get-run 的响应,该工作流程在 WDL 中进行了描述,该工作流程具有 GPU 加速器且未为运行分配任何标签。
{ "arn": "arn:aws:omics:us-west-2:123456789012:run/7830534", "id": "7830534", "uuid":"96c57683-74bf-9d6d-ae7e-f09b097db14a", "outputUri":"s3://bucket/folder/8405154/96c57683-74bf-9d6d-ae7e-f09b097db14a" "status": "COMPLETED", "workflowId": "4074992", "workflowType": "PRIVATE", "workflowVersionName": "3.0.0", "roleArn": "arn:aws:iam::123456789012:role/service-role/OmicsWorkflow-20221004T164236", "name": "RunGroupMaxGpuTest", "runGroupId": "9938959", "digest": "sha256:a23a6fc54040d36784206234c02147302ab8658bed89860a86976048f6cad5ac", "accelerators": "GPU", "outputUri": "s3://amzn-s3-demo-bucket1", "startedBy": "arn:aws:sts::123456789012:assumed-role/Admin/<role_name>", "creationTime": "2023-04-07T16:44:22.262471+00:00", "startTime": "2023-04-07T16:56:12.504000+00:00", "stopTime": "2023-04-07T17:22:29.908813+00:00", "tags": {} }
如图所示,您可以使用列表运行 API 操作查看所有运行的状态。
aws omics list-runs
要查看特定运行的所有已完成任务,请使用 list-run-tasksAPI。
aws omics list-run-tasks --id
task ID
要获取任何特定任务的详细信息,请使用 get-run-task API。
aws omics get-run-task --id <run_id> --task-id
task ID
运行完成后,元数据将发送到流 CloudWatch 下方manifest/run/<run ID>/<run
UUID>
。
以下是清单的示例。
{ "arn": "arn:aws:omics:us-east-1:123456789012:run/1695324", "creationTime": "2022-08-24T19:53:55.284Z", "resourceDigests": { "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict": "etag:3884c62eb0e53fa92459ed9bff133ae6", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta": "etag:e307d81c605fb91b7720a08f00276842-388", "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai": "etag:f76371b113734a56cde236bc0372de0a", "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals": "etag:27fdd1341246896721ec49a46a575334", "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt": "etag:e22f5aeed0b350a66696d8ffae453227" }, "digest": "sha256:a5baaff84dd54085eb03f78766b0a367e93439486bc3f67de42bb38b93304964", "engine": "WDL", "main": "gatk4-basic-joint-genotyping-v2.wdl", "name": "1044-gvcfs", "outputUri": "s3://omics-data/workflow-output", "parameters": { "callset_name": "cohort", "input_gvcf_uris": "s3://omics-data/workflow-input-lists/dragen-gvcf-list.txt", "interval_list": "s3://omics-data/intervals/hg38-mjs-whole-chr.500M.intervals", "ref_dict": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.dict", "ref_fasta": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta", "ref_fasta_index": "s3://omics-data/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai" }, "roleArn": "arn:aws:iam::123456789012:role/OmicsServiceRole", "startedBy": "arn:aws:sts::123456789012:assumed-role/admin/ahenroid-Isengard", "startTime": "2022-08-24T20:08:22.582Z", "status": "COMPLETED", "stopTime": "2022-08-24T20:08:22.582Z", "storageCapacity": 9600, "uuid": "a3b0ca7e-9597-4ecc-94a4-6ed45481aeab", "workflow": "arn:aws:omics:us-east-1:123456789012:workflow/1558364", "workflowType": "PRIVATE" }, { "arn": "arn:aws:omics:us-east-1:123456789012:task/1245938", "cpus": 16, "creationTime": "2022-08-24T20:06:32.971290", "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/gatk", "imageDigest": "sha256:8051adab0ff725e7e9c2af5997680346f3c3799b2df3785dd51d4abdd3da747b", "memory": 32, "name": "geno-123", "run": "arn:aws:omics:us-east-1:123456789012:run/1695324", "startTime": "2022-08-24T20:08:22.278Z", "status": "SUCCESS", "stopTime": "2022-08-24T20:08:22.278Z", "uuid": "44c1a30a-4eee-426d-88ea-1af403858f76" }, ...
如果 CloudWatch 日志中不存在运行元数据,则不会将其删除。您也可以使用运行 ID 通过 CLI 工具重新运行工作流程。了解更多信息并从工具 GitHub 存储库下载该HealthOmics工具
重新运行工作流程运行
以下示例说明如何使用该rerun工具重新运行运行。您需要运行 ID,您可以从 CloudWatch 日志中检索该ID。
omics-rerun 9876543 --name
--retention-mode REMOVE
workflow name
如果运行存在于中 CloudWatch,则您会收到类似于以下内容的响应。
Original request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "sample_rerun", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun request: { "workflowId": "9679729", "roleArn": "arn:aws:iam::123456789012:role/DemoRole", "name": "new test", "parameters": { "image": "123456789012.dkr.ecr.us-west-2.amazonaws.com/default:latest", "file1": "omics://123456789012.storage.us-west-2.amazonaws.com/8647780323/readSet/6389608538" }, "outputUri": "s3://workflow-output-bcf2fcb1" } StartRun response: { "arn": "arn:aws:omics:us-west-2:123456789012:run/9171779", "id": "9171779", "status": "PENDING", "tags": {} }
如果工作流程已不存在,您会收到一条错误消息。