HealthOmics シーケンスストアへの直接アップロード - AWS HealthOmics

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

HealthOmics シーケンスストアへの直接アップロード

HealthOmics Transfer Manager を使用して、シーケンスストアにファイルを追加することをお勧めします。Transfer Manager の使用の詳細については、この GitHub リポジトリを参照してください。直接アップロード API オペレーションを使用して、読み取りセットをシーケンスストアに直接アップロードすることもできます。

直接アップロードの読み取りセットは、 PROCESSING_UPLOAD 状態で最初に存在します。つまり、ファイルパーツは現在アップロード中であり、読み取りセットメタデータにアクセスできます。パートがアップロードされ、チェックサムが検証されると、読み込みセットは になり、インポートされた読み込みセットと同じようにACTIVE動作します。

直接アップロードが失敗した場合、読み取りセットのステータスは と表示されますUPLOAD_FAILED。アップロードに失敗したファイルのフォールバックの場所として Amazon S3 バケットを設定できます。フォールバックロケーションは、2023 年 5 月 15 日以降に作成されたシーケンスストアで利用できます。

を使用してシーケンスストアに直接アップロードする AWS CLI

開始するには、マルチパートアップロードを開始します。これを行うには AWS CLI、次の例に示すように、 を使用します。

AWS CLI コマンドを使用して直接アップロードするには
  1. 次の例に示すように、データを分離してパートを作成します。

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. ソースファイルがパートになったら、次の例に示すように、マルチパートリードセットアップロードを作成します。sequence store ID とその他のパラメータをシーケンスストア ID とその他の値に置き換えます。

    aws omics create-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --name upload name \ --source-file-type FASTQ \ --subject-id subject ID \ --sample-id sample ID \ --description "FASTQ for HG00146" "description of upload" \ --generated-from "1000 Genomes""source of imported files"

    レスポンスで uploadIDおよびその他のメタデータを取得します。アップロードプロセスの次のステップuploadIDには、 を使用します。

    { "sequenceStoreId": "1504776472", "uploadId": "7640892890", "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "name": "HG00146", "description": "FASTQ for HG00146", "creationTime": "2023-11-20T23:40:47.437522+00:00" }
  3. 読み取りセットをアップロードに追加します。ファイルが十分に小さい場合は、このステップを 1 回だけ実行する必要があります。大きなファイルの場合は、ファイルの各部分に対してこのステップを実行します。以前に使用したパート番号を使用して新しいパートをアップロードすると、以前にアップロードしたパートが上書きされます。

    次の例では、sequence store IDupload ID、およびその他のパラメータを値に置き換えます。

    aws omics upload-read-set-part \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --part-source SOURCE1 \ --part-number part number \ --payload source1/source1_part_aa.fastq.gz

    レスポンスは、アップロードされたファイルが意図したファイルと一致することを確認するために使用できる ID です。

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. 必要に応じて、ファイルの一部のアップロードを続行します。読み取りセットがアップロードされたことを確認するには、以下に示すように listlist-read-set-upload-parts API オペレーションを使用します。次の例では、sequence store ID 、、 upload IDpart sourceを独自の入力に置き換えます。

    aws omics list-read-set-upload-parts \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --part-source SOURCE1

    レスポンスは、読み取りセットの数、サイズ、および最後に更新された時刻のタイムスタンプを返します。

    { "parts": [ { "partNumber": 1, "partSize": 104857600, "partSource": "SOURCE1", "checksum": "MVMQk+vB9C3Ge8ADHkbKq752n3BCUzyl41qEkqlOD5M=", "creationTime": "2023-11-20T23:58:03.500823+00:00", "lastUpdatedTime": "2023-11-20T23:58:03.500831+00:00" }, { "partNumber": 2, "partSize": 104857600, "partSource": "SOURCE1", "checksum": "keZzVzJNChAqgOdZMvOmjBwrOPM0enPj1UAfs0nvRto=", "creationTime": "2023-11-21T00:02:03.813013+00:00", "lastUpdatedTime": "2023-11-21T00:02:03.813025+00:00" }, { "partNumber": 3, "partSize": 100339539, "partSource": "SOURCE1", "checksum": "TBkNfMsaeDpXzEf3ldlbi0ipFDPaohKHyZ+LF1J4CHk=", "creationTime": "2023-11-21T00:09:11.705198+00:00", "lastUpdatedTime": "2023-11-21T00:09:11.705208+00:00" } ] }
  5. アクティブなマルチパートリードセットのアップロードをすべて表示するには、以下に示すように list-multipart-read-set-uploads を使用します。を独自のシーケンスストアの ID sequence store IDに置き換えます。

    aws omics list-multipart-read-set-uploads --sequence-store-id sequence store ID

    この API は、進行中のマルチパートリードセットアップロードのみを返します。取り込まれた読み取りセットが になった後ACTIVE、またはアップロードが失敗した場合、アップロードは list-multipart-read-set-uploads API へのレスポンスでは返されません。アクティブな読み取りセットを表示するには、list-read-sets API を使用します。list-multipart-read-set-uploads のレスポンスの例を以下に示します。

    { "uploads": [ { "sequenceStoreId": "1234567890", "uploadId": "8749584421", "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "name": "HG00146", "description": "FASTQ for HG00146", "creationTime": "2023-11-29T19:22:51.349298+00:00" }, { "sequenceStoreId": "1234567890", "uploadId": "5290538638", "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383", "name": "HG00146", "description": "BAM for HG00146", "creationTime": "2023-11-29T19:23:33.116516+00:00" }, { "sequenceStoreId": "1234567890", "uploadId": "4174220862", "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "generatedFrom": "1000 Genomes", "referenceArn": "arn:aws:omics:us-west-2:123456789012:referenceStore/8168613728/reference/2190697383", "name": "HG00147", "description": "BAM for HG00147", "creationTime": "2023-11-29T19:23:47.007866+00:00" } ] }
  6. ファイルのすべての部分をアップロードしたら、次の例に示すように、complete-multipart-read-set-upload を使用してアップロードプロセスを完了します。パートの sequence store IDupload ID、および パラメータを独自の値に置き換えます。

    aws omics complete-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID \ --parts '[{"checksum":"gaCBQMe+rpCFZxLpoP6gydBoXaKKDA/Vobh5zBDb4W4=","partNumber":1,"partSource":"SOURCE1"}]'

    complete-multipart-read-set-upload のレスポンスは、インポートされたリードセットIDs です。

    { "readSetId": "0000000001" }
  7. アップロードを停止するには、アップロード ID で abort-multipart-read-set-upload を使用してアップロードプロセスを完了します。sequence store ID と を独自のパラメータ値upload IDに置き換えます。

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. アップロードが完了したら、次に示すように get-read-set を使用して読み取りセットからデータを取得します。アップロードがまだ処理中の場合、get-read-set は制限されたメタデータを返し、生成されたインデックスファイルは使用できなくなります。sequence store ID と他のパラメータを独自の入力に置き換えます。

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. アップロードのステータスを含むメタデータを確認するには、get-read-set-metadata API オペレーションを使用します。

    aws omics get-read-set-metadata --sequence-store-id sequence store ID --id read set ID

    レスポンスには、ファイルタイプ、リファレンス ARN、ファイル数、シーケンスの長さなどのメタデータの詳細が含まれます。また、 ステータスも含まれます。可能なステータスは、PROCESSING_UPLOADACTIVE、および ですUPLOAD_FAILED

    { "id": "0000000001", "arn": "arn:aws:omics:us-west-2:555555555555:sequenceStore/0123456789/readSet/0000000001", "sequenceStoreId": "0123456789", "subjectId": "mySubject", "sampleId": "mySample", "status": "PROCESSING_UPLOAD", "name": "HG00146", "description": "FASTQ for HG00146", "fileType": "FASTQ", "creationTime": "2022-07-13T23:25:20Z", "files": { "source1": { "totalParts": 5, "partSize": 123456789012, "contentLength": 6836725, }, "source2": { "totalParts": 5, "partSize": 123456789056, "contentLength": 6836726 } }, 'creationType": "UPLOAD" }

フォールバックの場所を設定する

シーケンスストアを作成または更新するときに、アップロードに失敗したファイルのフォールバックの場所として Amazon S3 バケットを設定できます。これらの読み取りセットのファイル部分は、フォールバックの場所に転送されます。フォールバックロケーションは、2023 年 5 月 15 日以降に作成されたシーケンスストアで利用できます。

次の例に示すように、Amazon S3 バケットポリシーを作成して、Amazon S3 フォールバックロケーションへの書き込みアクセスを HealthOmics に付与します。 Amazon S3

{ "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }

フォールバックログまたはアクセスログの Amazon S3 バケットがカスタマーマネージドキーを使用している場合は、キーポリシーに次のアクセス許可を追加します。

{ "Sid": "Allow use of key", "Effect": "Allow", "Principal": { "Service": "omics.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }