View a markdown version of this page

Téléchargement direct vers un magasin HealthOmics de séquences - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Téléchargement direct vers un magasin HealthOmics de séquences

Nous vous recommandons d'utiliser le gestionnaire HealthOmics de transferts pour ajouter des fichiers à votre magasin de séquences. Pour plus d'informations sur l'utilisation de Transfer Manager, consultez ce GitHub référentiel. Vous pouvez également télécharger vos ensembles de lecture directement dans un magasin de séquences via les opérations d'API de téléchargement direct.

Les ensembles de lecture à téléchargement direct existent en premier dans PROCESSING_UPLOAD l'état. Cela signifie que les parties du fichier sont en cours de téléchargement et que vous pouvez accéder aux métadonnées de l'ensemble de lecture. Une fois les parties chargées et les sommes de contrôle validées, le jeu de lecture devient ACTIVE et se comporte de la même manière qu'un ensemble de lecture importé.

Si le téléchargement direct échoue, l'état de l'ensemble de lecture s'affiche comme suitUPLOAD_FAILED. Vous pouvez configurer un compartiment Amazon S3 comme emplacement de secours pour les fichiers qui ne peuvent pas être chargés. Des emplacements de secours sont disponibles pour les magasins de séquences créés après le 15 mai 2023.

Téléchargement direct vers un magasin de séquences à l'aide du AWS CLI

Pour commencer, lancez un téléchargement en plusieurs parties. Vous pouvez le faire en utilisant le AWS CLI, comme indiqué dans l'exemple suivant.

Pour télécharger directement à l'aide de AWS CLI commands
  1. Créez les parties en séparant vos données, comme illustré dans l'exemple suivant.

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. Une fois que vos fichiers sources sont divisés en plusieurs parties, créez un téléchargement d'ensemble de lecture en plusieurs parties, comme illustré dans l'exemple suivant. Remplacez sequence store ID et les autres paramètres par votre identifiant de magasin de séquences et d'autres valeurs.

    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"

    Vous obtenez les métadonnées uploadID et d'autres dans la réponse. Utilisez le uploadID pour l'étape suivante du processus de téléchargement.

    { "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. Ajoutez vos sets de lecture au téléchargement. Si votre fichier est suffisamment petit, vous ne devez effectuer cette étape qu'une seule fois. Pour les fichiers plus volumineux, vous devez effectuer cette étape pour chaque partie de votre fichier. Si vous chargez une nouvelle partie en utilisant un numéro de pièce précédemment utilisé, elle remplace la partie précédemment chargée.

    Dans l'exemple suivant, remplacez sequence store IDupload ID, et les autres paramètres par vos valeurs.

    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 réponse est un identifiant que vous pouvez utiliser pour vérifier que le fichier chargé correspond au fichier que vous vouliez.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. Continuez à charger les parties de votre fichier, si nécessaire. Pour vérifier que vos sets de lecture ont été chargés, utilisez l'opération d'API list-read-set-upload-parts, comme indiqué ci-dessous. Dans l'exemple suivant, remplacez sequence store ID upload ID, et le part source par votre propre saisie.

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

    La réponse renvoie le nombre de jeux de lecture, la taille et l'horodatage de la dernière mise à jour.

    { "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. Pour afficher tous les téléchargements d'ensembles de lecture en plusieurs parties actifs, utilisez list-multipart-read-set-uploads, comme indiqué ci-dessous. sequence store IDRemplacez-le par l'ID de votre propre magasin de séquences.

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

    Cette API renvoie uniquement les téléchargements d'ensembles de lecture en plusieurs parties qui sont en cours. Une fois les ensembles de lecture ingérésACTIVE, ou si le téléchargement a échoué, le téléchargement ne sera pas renvoyé dans la réponse à l'API list-multipart-read-set-uploads. Pour afficher les ensembles de lecture actifs, utilisez l'API list-read-sets. Un exemple de réponse pour list-multipart-read-set-uploads est illustré ci-dessous.

    { "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. Après avoir chargé toutes les parties de votre fichier, utilisez complete-multipart-read-set-upload pour terminer le processus de téléchargement, comme illustré dans l'exemple suivant. Remplacez sequence store IDupload ID, et le paramètre des pièces par vos propres valeurs.

    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 réponse pour complete-multipart-read-set-upload correspond aux ID des ensembles de lecture pour vos ensembles de lecture importés.

    { "readSetId": "0000000001" }
  7. Pour arrêter le téléchargement, utilisez abort-multipart-read-set-upload avec l'ID de téléchargement pour terminer le processus de téléchargement. Remplacez sequence store ID et upload ID par vos propres valeurs de paramètres.

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. Une fois le téléchargement terminé, récupérez vos données du jeu de lecture à l'aide de la commande get-read-set, comme illustré ci-dessous. Si le téléchargement est toujours en cours, get-read-set renvoie des métadonnées limitées et les fichiers d'index générés ne sont pas disponibles. Remplacez sequence store ID et les autres paramètres par votre propre entrée.

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. Pour vérifier les métadonnées, y compris l'état de votre téléchargement, utilisez l'opération d'API get-read-set-metadata.

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

    La réponse inclut des détails de métadonnées tels que le type de fichier, l'ARN de référence, le nombre de fichiers et la longueur des séquences. Il inclut également le statut. Les statuts possibles sont PROCESSING_UPLOADACTIVE, et. 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" }

Configurer un emplacement de secours

Lorsque vous créez ou mettez à jour un magasin de séquences, vous pouvez configurer un compartiment Amazon S3 comme emplacement de secours pour les fichiers qui ne peuvent pas être chargés. Les parties de fichier de ces ensembles de lecture sont transférées vers l'emplacement de secours. Des emplacements de secours sont disponibles pour les magasins de séquences créés après le 15 mai 2023.

Créez une politique de compartiment Amazon S3 pour accorder un accès en HealthOmics écriture à l'emplacement de secours Amazon S3, comme illustré dans l'exemple suivant :

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

Si le compartiment Amazon S3 pour les journaux de secours ou d'accès utilise une clé gérée par le client, ajoutez les autorisations suivantes à la politique de clé :

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