本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 HealthOmics 中開始執行
開始執行時,您可以設定執行儲存類型和儲存量 (用於靜態儲存)。如需其他資訊,請參閱 在 HealthOmics 工作流程中執行儲存類型。
您也可以設定執行優先順序。優先順序如何影響執行取決於執行是否與執行群組相關聯。如需其他資訊,請參閱 執行優先順序。
如果您已建立一或多個工作流程版本,您可以在開始執行時指定版本。如果您未指定版本,HealthOmics 會啟動預設工作流程版本。
指定輸出檔案的 Amazon S3 位置。如果您同時執行大量工作流程,請針對每個工作流程使用個別的 Amazon S3 輸出 URIs,以避免儲存貯體調節。如需詳細資訊,請參閱 Amazon S3 使用者指南中的使用字首組織物件,以及最佳化 Amazon S3 效能白皮書中的水平擴展儲存連線。
注意
您可以在開始執行時指定 IAM 服務角色。或者,主控台可以為您建立服務角色。如需詳細資訊,請參閱的服務角色 AWS HealthOmics。
HealthOmics 執行參數
當您開始執行時,您可以在執行參數 JSON 檔案中指定執行輸入,也可以內嵌輸入參數值。如需管理執行參數 JSON 檔案大小的資訊,請參閱 管理執行參數大小。
HealthOmics 支援下列參數值的 JSON 類型。
JSON 類型 | 範例索引鍵和值 | 備註 |
---|---|---|
boolean | "b":true | 值不在引號中,且全部小寫。 |
integer | 「i」:7 | 值不在引號中。 |
number | "f":42.3 | 值不在引號中。 |
string | "s":"字元" | 值以引號表示。針對文字值和 URIs使用字串類型。URI 目標必須是預期的輸入類型。 |
陣列 | "a":【1,2,3】 | 值不在引號中。陣列成員必須各自具有輸入參數定義的類型。 |
object | "o":{"left":"a", "right":1} | 在 WDL 中,物件映射至 WDL 配對、映射或結構 |
使用主控台啟動執行
啟動工作流程執行
-
開啟 HealthOmics 主控台
。 在左側導覽窗格中,選擇執行。
-
在執行頁面上,選擇開始執行。
-
在執行詳細資訊面板中,提供下列資訊
-
工作流程來源 - 選擇擁有的工作流程或共享工作流程。
-
工作流程 ID - 與此執行相關聯的工作流程 ID。
-
工作流程版本 (選用) - 選取要用於此執行的工作流程版本。如果您未選取版本,則執行會使用工作流程預設版本。
-
執行名稱 - 此執行的獨特名稱。
-
執行優先順序 (選用) - 此執行的優先順序。較高的數字會指定較高的優先順序,而最高優先順序的任務會先執行。
-
執行儲存類型 - 在此指定儲存類型,以覆寫為工作流程指定的預設執行儲存類型。靜態儲存會配置執行的固定儲存量。動態儲存會視需要擴展和縮減執行中每個任務的規模。
-
執行儲存容量 - 針對靜態執行儲存,指定執行所需的儲存量。此項目會覆寫為工作流程指定的預設執行儲存量。
-
選取 S3 輸出目的地 - 將儲存執行輸出的 S3 位置。
-
輸出儲存貯體擁有者的帳戶 ID (選用) - 如果您的帳戶不擁有輸出儲存貯體,請輸入儲存貯體擁有者的 AWS 帳戶 ID。需要此資訊,以便 HealthOmics 可以驗證儲存貯體擁有權。
-
執行中繼資料保留模式 - 選擇是否要保留所有執行的中繼資料,或在您的帳戶達到執行次數上限時,讓系統移除最舊的執行中繼資料。如需詳細資訊,請參閱HealthOmics 執行的執行保留模式。
-
-
在服務角色下,您可以使用現有的服務角色或建立新的服務角色。
-
(選用) 對於標籤,您最多可以將 50 個標籤指派給執行。
-
選擇下一步。
-
在新增參數值頁面上,提供執行參數。您可以上傳指定參數的 JSON 檔案,或手動輸入值。
-
選擇下一步。
-
在執行群組面板中,您可以選擇指定此執行的執行群組。如需詳細資訊,請參閱建立 HealthOmics 執行群組。
-
在執行快取面板中,您可以選擇為此執行指定執行快取。如需詳細資訊,請參閱使用主控台設定具有執行快取的執行。
-
選擇 Review and start run (檢閱並開始執行)。
-
檢閱執行組態後,選擇開始執行。
使用 API 開始執行
使用啟動執行 API 操作搭配您建立的 IAM 角色和 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 檔案包含每個輸入參數的確切名稱,以及 參數的值。
將 --parameters file://<input_file.json>
新增至您的start-run
請求 AWS CLI ,以參考 中的輸入 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
您也可以使用啟動 API 搭配 GPU 工作流程 ID,如下所示。
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
、RUNNING
、 STARTING
和 COMPLETED
。當執行為 時COMPLETED
,您可以在輸出 Amazon S3 儲存貯outfile.txt
體中找到名為 的輸出檔案,位於以執行 ID 命名的資料夾中。
get-run API 操作也會傳回其他詳細資訊,例如工作流程是 Ready2Run
還是 PRIVATE
、工作流程引擎和加速器詳細資訊。下列範例顯示私有工作流程執行的 get-run 回應,如使用 GPU 加速器且未指派給執行的標籤的 WDL 中所述。
{ "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": {} }
您可以使用 list-runs API 操作查看所有執行的狀態,如下所示。
aws omics list-runs
若要查看特定執行完成的所有任務,請使用 list-run-tasks API。
aws omics list-run-tasks --id
task ID
若要取得任何特定任務的詳細資訊,請使用 get-run-task API。
aws omics get-run-task --id <run_id> --task-id
task ID
執行完成後,中繼資料會傳送至串流 下的 CloudWatchmanifest/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 工具重新執行工作流程執行。進一步了解並從 HealthOmics Tool GitHub 儲存庫
重新執行工作流程執行
下列範例示範如何使用 rerun工具重新執行執行。您需要可從 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": {} }
如果工作流程不再存在,您會收到錯誤訊息。