View a markdown version of this page

Direkter Upload in einen HealthOmics Sequenzspeicher - AWS HealthOmics

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Direkter Upload in einen HealthOmics Sequenzspeicher

Wir empfehlen, den HealthOmics Transfer Manager zu verwenden, um Dateien zu Ihrem Sequenzspeicher hinzuzufügen. Weitere Informationen zur Verwendung von Transfer Manager finden Sie in diesem GitHub Repository. Sie können Ihre Lesesätze auch direkt über die API-Operationen zum direkten Hochladen in einen Sequenzspeicher hochladen.

Lesesätze für den direkten Upload sind zuerst im PROCESSING_UPLOAD Status vorhanden. Das bedeutet, dass die Teile der Datei gerade hochgeladen werden und Sie auf die Metadaten des Lesesatzes zugreifen können. Nachdem die Teile hochgeladen und die Prüfsummen validiert wurden, wird der Lesesatz zu einem importierten Lesesatz ACTIVE und verhält sich genauso wie er sich verhält.

Schlägt der direkte Upload fehl, wird der Status des Lesesatzes als angezeigt. UPLOAD_FAILED Sie können einen Amazon S3-Bucket als Fallback-Speicherort für Dateien konfigurieren, die nicht hochgeladen werden können. Ersatzspeicherorte sind für Sequenzspeicher verfügbar, die nach dem 15. Mai 2023 erstellt wurden.

Direkter Upload in einen Sequenzspeicher mit dem AWS CLI

Starten Sie zunächst einen mehrteiligen Upload. Sie können dies tun, indem Sie die verwenden AWS CLI, wie im folgenden Beispiel gezeigt.

Zum direkten Upload mit AWS CLI commands
  1. Erstellen Sie die Teile, indem Sie Ihre Daten trennen, wie im folgenden Beispiel gezeigt.

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. Nachdem Ihre Quelldateien in Teilen vorliegen, erstellen Sie einen mehrteiligen Lesesatz-Upload, wie im folgenden Beispiel gezeigt. Ersetzen Sie sequence store ID und die anderen Parameter durch Ihre Sequenzspeicher-ID und andere Werte.

    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"

    Sie erhalten die uploadID und andere Metadaten in der Antwort. Verwenden Sie das uploadID für den nächsten Schritt des Upload-Vorgangs.

    { "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. Fügen Sie Ihre Lesesätze zum Upload hinzu. Wenn Ihre Datei klein genug ist, müssen Sie diesen Schritt nur einmal ausführen. Bei größeren Dateien führen Sie diesen Schritt für jeden Teil Ihrer Datei durch. Wenn Sie ein neues Teil unter Verwendung einer zuvor verwendeten Artikelnummer hochladen, wird das zuvor hochgeladene Teil überschrieben.

    Im folgenden Beispiel ersetzen Sie sequence store ID und upload ID die anderen Parameter durch Ihre Werte.

    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

    Die Antwort ist eine ID, mit der Sie überprüfen können, ob die hochgeladene Datei mit der von Ihnen beabsichtigten Datei übereinstimmt.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. Fahren Sie bei Bedarf mit dem Hochladen der Teile Ihrer Datei fort. Um zu überprüfen, ob Ihre Lesesätze hochgeladen wurden, verwenden Sie den API-Vorgang list-read-set-upload-parts, wie im Folgenden gezeigt. Ersetzen sequence store ID Sie im folgenden Beispiel, und das durch Ihre eigene Eingabe. upload ID part source

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

    Die Antwort gibt die Anzahl der Lesesätze, die Größe und den Zeitstempel der letzten Aktualisierung zurück.

    { "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. Um alle aktiven Multipart-Readset-Uploads anzuzeigen, verwenden Sie list-multipart-read-set-uploads, wie im Folgenden gezeigt. sequence store IDErsetzen Sie es durch die ID für Ihren eigenen Sequenzspeicher.

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

    Diese API gibt nur mehrteilige Leseset-Uploads zurück, die gerade ausgeführt werden. Wenn die aufgenommenen Lesesätze abgeschlossen sind oder wenn der Upload fehlgeschlagen istACTIVE, wird der Upload nicht in der Antwort an die API list-multipart-read-set-uploads zurückgegeben. Verwenden Sie die List-Read-Sets-API, um aktive Lesesätze anzuzeigen. Eine Beispielantwort für list-multipart-read-set-uploads wird im Folgenden gezeigt.

    { "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. Nachdem Sie alle Teile Ihrer Datei hochgeladen haben, verwenden Sie complete-multipart-read-set-upload, um den Upload-Vorgang abzuschließen, wie im folgenden Beispiel gezeigt. Ersetzen Siesequence store ID, und den Parameter für upload ID Teile durch Ihre eigenen Werte.

    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"}]'

    Die Antwort für complete-multipart-read-set-upload sind die Leseset-IDs für Ihre importierten Lesesätze.

    { "readSetId": "0000000001" }
  7. Um den Upload zu beenden, verwenden Sie abort-multipart-read-set-upload mit der Upload-ID, um den Upload-Vorgang zu beenden. Ersetzen Sie und durch Ihre eigenen Parameterwerte. sequence store ID upload ID

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. Nachdem der Upload abgeschlossen ist, rufen Sie Ihre Daten mithilfe von get-read-set aus dem Lesesatz ab, wie im Folgenden gezeigt. Wenn der Upload noch verarbeitet wird, gibt get-read-set begrenzte Metadaten zurück, und die generierten Indexdateien sind nicht verfügbar. Ersetzen Sie sequence store ID und die anderen Parameter durch Ihre eigene Eingabe.

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. Verwenden Sie die API-Operation get-read-set-metadata, um die Metadaten, einschließlich des Status Ihres Uploads, zu überprüfen.

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

    Die Antwort enthält Metadatendetails wie den Dateityp, den Referenz-ARN, die Anzahl der Dateien und die Länge der Sequenzen. Sie beinhaltet auch den Status. Mögliche Status sind PROCESSING_UPLOADACTIVE, undUPLOAD_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" }

Konfigurieren Sie einen Ausweichort

Wenn Sie einen Sequenzspeicher erstellen oder aktualisieren, können Sie einen Amazon S3-Bucket als Fallback-Speicherort für Dateien konfigurieren, die nicht hochgeladen werden können. Die Dateibestandteile für diese Lesesätze werden an den Fallback-Speicherort übertragen. Ersatzspeicherorte sind für Sequenzspeicher verfügbar, die nach dem 15. Mai 2023 erstellt wurden.

Erstellen Sie eine Amazon S3-Bucket-Richtlinie, um HealthOmics Schreibzugriff auf den Amazon S3-Fallback-Speicherort zu gewähren, wie im folgenden Beispiel gezeigt:

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

Wenn der Amazon S3-Bucket für Fallback- oder Zugriffsprotokolle einen vom Kunden verwalteten Schlüssel verwendet, fügen Sie der Schlüsselrichtlinie die folgenden Berechtigungen hinzu:

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