View a markdown version of this page

HealthOmics ワークフロー定義をパッケージ化して提供する - AWS HealthOmics

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

HealthOmics ワークフロー定義をパッケージ化して提供する

ワークフローまたはワークフローバージョンを作成するときは、リクエストで送信する ZIP アーカイブ、Amazon S3 の ZIP アーカイブ、または Git ベースのリポジトリの 1 つのソースから定義を指定します。複数の定義ソースを含むリクエストは失敗します。このトピックのパラメータは、 オペレーションCreateWorkflowと CreateWorkflowVersionオペレーションの両方に適用されます。詳細な手順については、プライベートワークフローを作成する「」および「」を参照してくださいワークフローバージョンを作成する。

注記

HealthOmics は、ワークフローの作成時に一部のワークフロー定義をリントします。リントされるエンジン、検出結果がワークフローをブロックするかどうか、およびそれらの読み取り方法については、「」を参照してくださいHealthOmics のワークフローlinters。

ワークフロー定義のソースを選択する

このソースを使用する API パラメータ 最大サイズ AWS CLI フラグ
ローカルマシンの ZIP アーカイブ。 definitionZip 4.4 MB --definition-zip fileb://my-definition.zip
Amazon S3 バケットの ZIP アーカイブ。バケットは、ワークフローと同じ AWS リージョンにある必要があります。 definitionUri 100 MB --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip
AWS CodeConnections 接続を介してサポートされている Git ベースのリポジトリ。 definitionRepository 1 GiB リポジトリ、ファイルあたり 100 MiB --definition-repository JSON 値を含む

追加の考慮事項:

ZIP アーカイブレイアウトとメイン定義ファイル

サブワークフロー、、binスクリプトなどnextflow.config、メイン定義がインポートするすべてのファイルを含めます。

定義ファイルは、拡張子が 、、 .wdl .nfなどのサポートされているエンジンと一致するファイルです.cwl。を省略するとmain、HealthOmics はアーカイブのルートに最も近い定義ファイルから選択します。非表示のファイルとフォルダは無視され、アーカイブのより深い定義ファイルは無視されます。自動選択では、アーカイブが 1 つのエンジンの定義ファイルを保持するか、 を設定しているため、1 つのエンジンも必要ですengine。その最も近いレベルのファイルのうち:

  • 定義ファイルが 1 つだけある場合、HealthOmics は名前に関係なくそれを使用します。

  • 複数の がある場合、HealthOmics は main.wdl、、main.nfまたは という名前のものを使用しますmain.cwl。

2 つの場合、HealthOmics はアーカイブを解決できません。リクエスト自体は成功し、ワークフローまたはワークフローバージョンは で開始されますがCREATING、 に移動しFAILED、ステータスメッセージに理由が表示されます。

  • Zip file contains multiple workflow definition types – アーカイブは複数のエンジンの定義ファイルを保持しており、 を設定していませんengine。これは、 を設定するかどうかにかかわらず適用されますmain。を設定するかengine、他のエンジンのファイルを削除します。HealthOmics は、両方のケースが適用されると、最初にこの理由を報告します。

  • Zip file contains multiple top-level workflow definition files – を省略しましたmain。複数の定義ファイルは最も近いレベルにあり、そのうちの 1 つが main.wdl、、main.nfまたは という名前ではありませんmain.cwl。を目的のパスmainに設定します。

メイン定義ファイルを自分で選択するには、アーカイブのルートを基準にして、 main (--main) をパスに設定します。パスは最大 128 文字です。

たとえば、メイン定義ファイルが であるアーカイブの場合workflow-definition/main-file.wdl:

--main workflow-definition/main-file.wdl

engine (--engine) を設定して、複数のエンジンの定義ファイルを保持するアーカイブを解決するか、WDL lenient エンジンを使用します。

次のレイアウトのローカルマシン上のワークフローフォルダを検討してください。

my-workflow/ main.wdl tasks/align.wdl tasks/call-variants.wdl

そのフォルダ内からアーカイブを作成し、 main.wdl および tasksフォルダがアーカイブのルートに配置されます。次のコマンドは、クローンされたリポジトリ内のフォルダなど、非表示のファイルと.gitフォルダも追加します。これらは定義サイズにカウントされるため、 などで不要なものを除外します-x '.*' -x '*/.*'。

cd my-workflow zip -r ../my-definition.zip . cd ..

main.wdl はアーカイブのルートにある唯一の定義ファイルであるため、 を省略できますmain。

main.wdl tasks/align.wdl tasks/call-variants.wdl

アーカイブをインラインまたは Amazon S3 経由で送信する

definitionZip はバイナリパラメータです。を使用すると AWS CLI、アーカイブに fileb://プレフィックスを渡すと、 がファイル AWS CLI を読み取ってエンコードします。 AWS SDKs はエンコードを自動的に行います。API を HTTP 経由で直接呼び出す場合は、アーカイブを base64 でエンコードされた文字列として送信します。

次の例のパラメータテンプレートはオプションです。これを省略すると、HealthOmics はワークフロー定義から実行パラメータを取得します。詳細については、「HealthOmics ワークフローのパラメータテンプレートファイル」を参照してください。

次の AWS CLI 例では、 リクエストで ZIP アーカイブを送信してワークフローを作成します。イタリック体の各値を置き換えます。

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --parameter-template file://my-parameter-template.json

definitionZip の制限を超えるアーカイブの場合はワークフロー定義のソースを選択する、ワークフローと同じリージョンの Amazon S3 バケットにアップロードし、definitionUri代わりに を使用します。斜体の各値を置き換え、バケットを独自の値に置き換えます。

aws s3 cp my-definition.zip s3://amzn-s3-demo-bucket1/my-definition.zip aws omics create-workflow \ --name my-workflow-name \ --definition-uri s3://amzn-s3-demo-bucket1/my-definition.zip \ --parameter-template file://my-parameter-template.json

デフォルトの実行ストレージを設定する

ほとんどのワークフローでは、動的実行ストレージをお勧めします。次のいずれかのケースで静的実行ストレージを選択します。

  • ワークフローは 9.6 TiB を超えるデータを使用し、そのタスクは高い持続的な I/O の恩恵を受けます。

  • 100 を超える分散タスクが共有実行ストレージから一度に読み取られます。

スループット特性や静的実行ストレージのサイズ設定方法など、各実行ストレージタイプの詳細については、HealthOmics ワークフローでストレージタイプを実行する「」および「」を参照してくださいプライベート HealthOmics ワークフローの最適化を実行する。

storageType (--storage-type) および storageCapacity (--storage-capacity) パラメータは、ワークフローを使用する実行のデフォルトを設定します。「」で説明されているように、実行時に両方を上書きできますHealthOmics で実行を開始する。次のようにペアリングします。

  • storageType DYNAMIC – HealthOmics は、ファイルシステムの使用率に基づいて実行ストレージをスケールアップおよびスケールダウンします。を設定しないでくださいstorageCapacity。その場合、リクエストは失敗します。 CreateWorkflow は を報告しYou cannot set the storage capacity for workflows that use DYNAMIC run storage type、 は CreateWorkflowVersionを報告しますYou cannot set the storage capacity for workflow version that use DYNAMIC run storage type。

  • storageType STATIC – HealthOmics は一定量の実行ストレージを割り当てるため、 も GiB storageCapacityで設定します。ワークフローも実行も容量を指定しない場合、実行は 1,200 GiB を使用します。最大はアカウントあたりの制限です。HealthOmics は、静的実行ストレージを 1,200 GiB または 2,400 GiB の倍数としてのみプロビジョニングし、他の値を次にサポートされているサイズに切り上げます。例えば、HealthOmics は 1,200 GiB 未満の容量に対して 1,200 GiB をプロビジョニングします。

次の例では、デフォルトの実行ストレージを 1,200 GiB の静的ストレージに設定します。

aws omics create-workflow \ --name my-workflow-name \ --definition-zip fileb://my-definition.zip \ --storage-type STATIC \ --storage-capacity 1200