View a markdown version of this page

Caricamento diretto su un archivio di HealthOmics sequenze - AWS HealthOmics

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Caricamento diretto su un archivio di HealthOmics sequenze

Ti consigliamo di utilizzare HealthOmics Transfer Manager per aggiungere file al tuo archivio di sequenze. Per ulteriori informazioni sull'uso di Transfer Manager, consultate questo GitHub repository. Puoi anche caricare i tuoi set di lettura direttamente in un archivio di sequenze tramite le operazioni API di caricamento diretto.

I set di lettura con caricamento diretto sono i primi nello PROCESSING_UPLOAD stato. Ciò significa che le parti del file sono attualmente in fase di caricamento ed è possibile accedere ai metadati del set di lettura. Dopo il caricamento delle parti e la convalida dei checksum, il set di lettura diventa ACTIVE e si comporta come un set di lettura importato.

Se il caricamento diretto non riesce, lo stato del set di lettura viene visualizzato come. UPLOAD_FAILED Puoi configurare un bucket Amazon S3 come posizione di riserva per i file che non vengono caricati. Le posizioni di riserva sono disponibili per gli archivi di sequenze creati dopo il 15 maggio 2023.

Caricamento diretto su un archivio di sequenze utilizzando AWS CLI

Per iniziare, avvia un caricamento in più parti. Puoi farlo usando il AWS CLI, come mostrato nell'esempio seguente.

Per il caricamento diretto utilizzando AWS CLI comandi
  1. Crea le parti separando i dati, come mostrato nell'esempio seguente.

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. Una volta che i file di origine sono stati suddivisi in parti, create un caricamento del set di lettura in più parti, come mostrato nell'esempio seguente. Sostituisci sequence store ID e gli altri parametri con l'ID del tuo archivio di sequenza e altri valori.

    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"

    Ottieni questi uploadID e altri metadati nella risposta. Usa il uploadID per la fase successiva del processo di caricamento.

    { "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. Aggiungi i tuoi set di lettura al caricamento. Se il file è sufficientemente piccolo, è necessario eseguire questo passaggio una sola volta. Per i file più grandi, esegui questo passaggio per ogni parte del file. Se si carica una nuova parte utilizzando un numero di parte utilizzato in precedenza, la parte caricata in precedenza viene sovrascritta.

    Nell'esempio seguente sequence store IDupload ID, sostituisci e gli altri parametri con i tuoi valori.

    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

    La risposta è un ID che puoi utilizzare per verificare che il file caricato corrisponda al file desiderato.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. Se necessario, continua a caricare le parti del file. Per verificare che i set di lettura siano stati caricati, utilizza l'operazione API list-read-set-upload-parts, come mostrato di seguito. Nel seguente esempio, sostituiscisequence store ID , e poi con il tuo input. upload ID part source

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

    La risposta restituisce il numero di set di lettura, la dimensione e il timestamp dell'ultimo aggiornamento.

    { "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. Per visualizzare tutti i caricamenti di set di lettura in più parti attivi, usa list-multipart-read-set-uploads, come mostrato di seguito. sequence store IDSostituisci con l'ID del tuo archivio di sequenze.

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

    Questa API restituisce solo i caricamenti di set di lettura in più parti in corso. Una volta inseriti i set di lettura o se il caricamento non è riuscitoACTIVE, il caricamento non verrà restituito nella risposta all'API list-multipart-read-set-uploads. Per visualizzare i set di lettura attivi, utilizza l'API list-read-sets. Di seguito è riportato un esempio di risposta per 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. Dopo aver caricato tutte le parti del file, usa complete-multipart-read-set-upload per concludere il processo di caricamento, come mostrato nell'esempio seguente. Sostituiscisequence store ID, e il parametro per upload ID le parti con valori personalizzati.

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

    La risposta per complete-multipart-read-set-upload sono gli ID dei set di lettura per i set di lettura importati.

    { "readSetId": "0000000001" }
  7. Per interrompere il caricamento, utilizza abort-multipart-read-set-upload con l'ID di caricamento per terminare il processo di caricamento. sequence store IDupload IDSostituisci and con i tuoi valori di parametro.

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. Una volta completato il caricamento, recupera i dati dal set di lettura utilizzando get-read-set, come mostrato di seguito. Se il caricamento è ancora in fase di elaborazione, get-read-set restituisce metadati limitati e i file di indice generati non sono disponibili. Sostituisci sequence store ID e gli altri parametri con il tuo input.

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. Per controllare i metadati, incluso lo stato del caricamento, utilizza l'operazione API get-read-set-metadata.

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

    La risposta include dettagli sui metadati come il tipo di file, l'ARN di riferimento, il numero di file e la lunghezza delle sequenze. Include anche lo stato. Gli stati possibili sono PROCESSING_UPLOADACTIVE, eUPLOAD_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" }

Configurare una posizione alternativa

Quando crei o aggiorni un archivio di sequenze, puoi configurare un bucket Amazon S3 come posizione di riserva per i file che non vengono caricati. Le parti di file per questi set di lettura vengono trasferite nella posizione di riserva. Le posizioni di riserva sono disponibili per gli archivi di sequenze creati dopo il 15 maggio 2023.

Crea una policy sui bucket di Amazon S3 per concedere l'accesso in HealthOmics scrittura alla posizione di fallback di Amazon S3, come mostrato nell'esempio seguente:

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

Se il bucket Amazon S3 per il fallback o i log di accesso utilizza una chiave gestita dal cliente, aggiungi le seguenti autorizzazioni alla policy chiave:

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