HealthOmics での実行の開始 - AWS HealthOmics

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HealthOmics での実行の開始

実行を開始すると、実行ストレージタイプとストレージ量 (静的ストレージの場合) を設定できます。詳細については、「HealthOmics ワークフローでストレージタイプを実行する」を参照してください。

また、実行優先度も設定します。優先度が実行に与える影響は、実行が実行グループに関連付けられているかどうかによって異なります。詳細については、「実行優先度」を参照してください。

1 つ以上のワークフローバージョンを作成している場合は、実行の開始時にバージョンを指定できます。バージョンを指定しない場合、HealthOmics はデフォルトのワークフローバージョンを開始します。

出力ファイルの Amazon S3 の場所を指定します。大量のワークフローを同時に実行する場合は、バケットのスロットリングを避けるために、ワークフローごとに個別の Amazon S3 出力 URIs を使用します。詳細については、Amazon S3 ユーザーガイド」の「プレフィックスを使用してオブジェクトを整理する」および「Amazon S3 パフォーマンスの最適化」ホワイトペーパーの「ストレージ接続を水平方向にスケールする」を参照してください。 Amazon S3

注記

実行を開始するときに IAM サービスロールを指定します。必要に応じて、コンソールでサービスロールを作成できます。詳細については、「のサービスロール AWS HealthOmics」を参照してください。

HealthOmics 実行パラメータ

実行を開始するときは、実行パラメータ JSON ファイルで実行入力を指定するか、パラメータ値をインラインで入力できます。実行パラメータ JSON ファイルのサイズを管理する方法については、「」を参照してください実行パラメータサイズの管理

HealthOmics は、パラメータ値に対して次の JSON タイプをサポートしています。

JSON タイプ キーと値の例 メモ
boolean "b":true 値は引用符ではなく、すべて小文字です。
integer 「i」: 7 値は引用符で囲まれていません。
数値 「f」:42.3 値は引用符で囲まれていません。
文字列 「s"characters」 値は引用符で囲まれています。テキスト値と URIs。URI ターゲットは、予想される入力タイプである必要があります。
配列 「a」:[1,2,3] 値は引用符で囲まれていません。配列メンバーには、それぞれ入力パラメータで定義された型が必要です。
オブジェクト "o":{"left"a"、"right":1} WDL では、オブジェクトは WDL ペア、マップ、または構造体にマッピングされます。

コンソールを使用した実行の開始

実行を開始するには
  1. HealthOmics コンソールを開きます。

  2. 必要に応じて、左側のナビゲーションペイン (≡) を開きます。[実行] を選択します。

  3. Runs ページで、Start run を選択します。

  4. 実行の詳細パネルで、次の情報を入力します。

    • ワークフローソース - 所有ワークフローまたは共有ワークフローを選択します。

    • ワークフロー ID - この実行に関連付けられたワークフロー ID。

    • ワークフローバージョン (オプション) - この実行に使用するワークフローバージョンを選択します。バージョンを選択しない場合、実行はワークフローのデフォルトバージョンを使用します。

    • 実行名 - この実行の固有の名前。

    • 実行優先度 (オプション) - この実行の優先度。数値が大きいほど優先度が高くなり、最も優先度の高いタスクが最初に実行されます。

    • Run storage type - ワークフローに指定されたデフォルトの実行ストレージタイプを上書きするには、ここでストレージタイプを指定します。静的ストレージは、実行に一定量のストレージを割り当てます。動的ストレージは、実行中のタスクごとに必要に応じてスケールアップおよびスケールダウンします。

    • ストレージ容量の実行 - 静的実行ストレージの場合は、実行に必要なストレージの量を指定します。このエントリは、ワークフローに指定されたデフォルトの実行ストレージ量を上書きします。

    • Select S3 output destination - 実行出力が保存される S3 の場所。

    • 出力バケット所有者のアカウント ID (オプション) - アカウントが出力バケットを所有していない場合は、バケット所有者の AWS アカウント ID を入力します。この情報は、HealthOmics がバケットの所有権を検証できるようにするために必要です。

    • メタデータ保持モードの実行 - アカウントが最大実行数に達したときに、すべての実行のメタデータを保持するか、最も古い実行メタデータを削除するかを選択します。詳細については、「HealthOmics 実行の保持モードを実行する」を参照してください。

  5. サービスロールでは、既存のサービスロールを使用するか、新しいサービスロールを作成できます。

  6. (オプション) タグの場合、実行に最大 50 個のタグを割り当てることができます。

  7. [次へ] を選択します。

  8. パラメータ値の追加ページで、実行パラメータを指定します。パラメータを指定する JSON ファイルをアップロードするか、値を手動で入力できます。

  9. [次へ] を選択します。

  10. グループの実行パネルでは、オプションでこの実行の実行グループを指定できます。詳細については、「HealthOmics 実行グループの作成」を参照してください。

  11. キャッシュの実行パネルでは、オプションでこの実行の実行キャッシュを指定できます。詳細については、「コンソールを使用した実行キャッシュを使用した実行の設定」を参照してください。

  12. [Review and start run] を選択します。

  13. 実行設定を確認したら、実行の開始を選択します。

API を使用して実行を開始する

作成した IAM ロールと Amazon S3 バケットで Start-run API オペレーションを使用します。この例では、保持モードを に設定しますREMOVE。保持モードの詳細については、「」を参照してくださいHealthOmics 実行の保持モードを実行する

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name workflow name \ --retention-mode REMOVE

応答として、次の出力を取得します。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 ファイルには、各入力パラメータの正確な名前と パラメータの値が含まれています。

start-run リクエスト--parameters file://<input_file.json>に を追加して AWS CLI 、 の入力 JSON ファイルを参照します。実行パラメータの詳細については、「」を参照してください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

次に示すように、GPU ワークフロー ID で Start-run API を使用することもできます。

aws omics start-run --workflow-id workflow id \ --role-arn arn:aws:iam::1234567892012:role/service-role/OmicsWorkflow-20221004T164236 \ --name GPUTestRunModel \ --output-uri s3://amzn-s3-demo-bucket1

実行に関する情報を取得する

次に示すように、get-run API でレスポンスの ID を使用して、実行のステータスを確認できます。

aws omics get-run --id run id

この API オペレーションからのレスポンスは、ワークフロー実行のステータスを示します。可能なステータスは、PENDINGSTARTINGRUNNING、および です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

実行が完了すると、メタデータはストリーム の 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 ログにメタデータが存在しない場合、実行メタデータは削除されません。

実行の再実行

HealthOmics rerunツールを使用して、完了した実行を再実行できます。このツールは、CloudWatch Logs マニフェストから実行情報を取得します。HealthOmics rerun Tool GitHub リポジトリからツールをダウンロードします。 HealthOmics GitHub

次の例は、 rerun ツールの使用方法を示しています。

aws-healthomics-rerun 9876543

実行が 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": {} }