AWS HealthOmics のシーケンスストアからファイルを取り出す方法

ファイルの取り出しはマネージメントコンソール非対応です。
2023.10.21

AWS HealthOmics の HealthOmics Storage のシーケンスストアからファイルを取り出す(エクスポート)手順の備忘録です。マネージメントコンソールからのファイル取り出しには対応しておらず、AWS CLI または SDK を利用することになります。AWS CLI でファイルを取り出す機会があったのでまとめました。

Inventory icons created by Freepik - Flaticon

シーケンスストアからファイルの取り出し手順

HealthOmics Storage にファイルを保存する方法はブログを参照ください。本ブログはファイルの取り出し(エクスポート)を行います。

エクスポートジョブ実行

エクスポートジョブの実行コマンドしないとファイルを取り出せないのです。必要な引数が結構あり、事前に ID 確認が必要です。

  • --role-arn: ご自身の環境の HealthOmics Storage 用の IAM ロールに置き換えてください
  • --destination: 出力先の S3 バケットのパス(URI)を指定します
aws omics start-read-set-export-job \
    --sequence-store-id [シーケンスストアの ID] \
    --destination s3://[S3 バケット名]/ \
    --role-arn arn:aws:iam::123456789012:role/OmicsStorageServiceRole \
    --sources readSetId=[リードセットの ID]

シーケンスストアの ID、リードセットの ID はマネージメントコンソールから確認しました。

コマンド実行例

aws omics start-read-set-export-job \
    --sequence-store-id 7280775986 \
    --destination s3://omics-work/ \
    --role-arn arn:aws:iam::123456789012:role/OmicsStorageServiceRole \
    --sources readSetId=3692807290

実行結果

{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "SUBMITTED",
    "creationTime": "2023-10-17T06:40:11.291000+00:00"
}

ジョブの実行状況確認

エクスポートジョブの進捗確認も AWS CLI から行う必要があります。エクスポートジョブ実行の実行結果に表示されたid:の値が引数として必要です。

aws omics get-read-set-export-job --id [実行結果からジョブ ID を確認] --sequence-store-id [シーケンスストアの ID]

コマンド実行例

aws omics get-read-set-export-job --id 9408553428 --sequence-store-id 7280775986

エクスポートジョブ実行直後に確認すると実行中(IN_PROGRESS)でした。

実行結果

{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "IN_PROGRESS",
    "statusMessage": "The job is currently in progress.",
    "creationTime": "2023-10-17T06:40:11.291000+00:00",
    "readSets": [
        {
            "id": "3692807290",
            "status": "IN_PROGRESS",
            "statusMessage": "The source job is currently in progress."
        }
    ]
}

少し待ってから改めて確認コマンド実行すると完了(COMPLETED)していました。

実行結果

{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "COMPLETED",
    "statusMessage": "The job completed successfully.",
    "creationTime": "2023-10-17T06:40:11.291000+00:00",
    "completionTime": "2023-10-17T06:41:21.213000+00:00",
    "readSets": [
        {
            "id": "3692807290",
            "status": "FINISHED",
            "statusMessage": "The source job has completed successfully."
        }
    ]
}

エクスポートジョブの実行と、実行確認は以上です。

ファイルの確認

出力先に指定した S3 バケットを確認します。ジョブ ID のディレクトリが切られています。

インポートジョブで取り込んだときに指定したソースの番号(source1)のディレクトリ配下に保存していたシーケンスストアファイルを確認できました。

おわりに

久々にシーケンスストアストアからファイルを取り出そうとしたら引数の指定に戸惑ったので書き残しました。