View a markdown version of this page

Importer des ensembles de lecture dans un magasin de HealthOmics 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.

Importer des ensembles de lecture dans un magasin de HealthOmics séquences

Après avoir créé votre magasin de séquences, créez des tâches d'importation pour télécharger des ensembles de lecture dans le magasin de données. Vous pouvez charger vos fichiers depuis un compartiment Amazon S3, ou vous pouvez les charger directement à l'aide des opérations d'API synchrones. Votre compartiment Amazon S3 doit se trouver dans la même région que votre magasin de séquences.

Vous pouvez télécharger n'importe quelle combinaison d'ensembles de lecture alignés et non alignés dans votre magasin de séquences. Toutefois, si l'un des ensembles de lecture de votre importation est aligné, vous devez inclure un génome de référence.

Vous pouvez réutiliser la politique d'accès IAM que vous avez utilisée pour créer le Reference Store.

Les rubriques suivantes décrivent les principales étapes à suivre pour importer un ensemble de lecture dans votre magasin de séquences, puis obtenir des informations sur les données importées.

Charger des fichiers sur Amazon S3

L'exemple suivant montre comment déplacer des fichiers vers votre compartiment Amazon S3.

aws s3 cp s3://1000genomes/phase1/data/HG00100/alignment/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam s3://your-bucket aws s3 cp s3://1000genomes/phase3/data/HG00146/sequence_read/SRR233106_1.filt.fastq.gz s3://your-bucket aws s3 cp s3://1000genomes/phase3/data/HG00146/sequence_read/SRR233106_2.filt.fastq.gz s3://your-bucket aws s3 cp s3://1000genomes/data/HG00096/alignment/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram s3://your-bucket aws s3 cp s3://gatk-test-data/wgs_ubam/NA12878_20k/NA12878_A.bam s3://your-bucket

L'échantillon BAM et l'échantillon CRAM utilisés dans cet exemple nécessitent des références génomiques différentes, Hg19 etHg38. Pour en savoir plus ou pour accéder à ces références, consultez The Broad Genome References dans le Registre des données ouvertes sur AWS.

Création d’un fichier manifeste

Vous devez également créer un fichier manifeste au format JSON pour modéliser la tâche d'importation import.json (voir l'exemple suivant). Si vous créez un magasin de séquences dans la console, vous n'avez pas besoin de spécifier le sequenceStoreId ouroleARN. Votre fichier manifeste commence donc par l'sourcesentrée.

API manifest

L'exemple suivant importe trois ensembles de lecture à l'aide de l'API : un FASTQBAM, un et unCRAM.

{ "sequenceStoreId": "3936421177", "roleArn": "arn:aws:iam::555555555555:role/OmicsImport", "sources": [ { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam" }, "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/0123456789/reference/0000000001", "name": "HG00100", "description": "BAM for HG00100", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz", "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz" }, "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", // NOTE: there is no reference arn required here "name": "HG00146", "description": "FASTQ for HG00146", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram" }, "sourceFileType": "CRAM", "subjectId": "mySubject", "sampleId": "mySample", "referenceArn": "arn:aws:omics:us-west-2:555555555555:referenceStore/0123456789/reference/0000000001", "name": "HG00096", "description": "CRAM for HG00096", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam" }, "sourceFileType": "UBAM", "subjectId": "mySubject", "sampleId": "mySample", // NOTE: there is no reference arn required here "name": "NA12878_A", "description": "uBAM for NA12878", "generatedFrom": "GATK Test Data" } ] }
Console manifest

Cet exemple de code est utilisé pour importer un seul ensemble de lecture à l'aide de la console.

[ { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam" }, "sourceFileType": "BAM", "subjectId": "mySubject", "sampleId": "mySample", "name": "HG00100", "description": "BAM for HG00100", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz", "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz" }, "sourceFileType": "FASTQ", "subjectId": "mySubject", "sampleId": "mySample", "name": "HG00146", "description": "FASTQ for HG00146", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://your-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram" }, "sourceFileType": "CRAM", "subjectId": "mySubject", "sampleId": "mySample", "name": "HG00096", "description": "CRAM for HG00096", "generatedFrom": "1000 Genomes" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam" }, "sourceFileType": "UBAM", "subjectId": "mySubject", "sampleId": "mySample", "name": "NA12878_A", "description": "uBAM for NA12878", "generatedFrom": "GATK Test Data" } ]

Vous pouvez également télécharger le fichier manifeste au format YAML.

Démarrage de la tâche d'importation

Pour démarrer la tâche d'importation, utilisez la AWS CLI commande suivante.

aws omics start-read-set-import-job --cli-input-json file://import.json

Vous recevez la réponse suivante, qui indique une création d'emplois réussie.

{ "id": "3660451514", "sequenceStoreId": "3936421177", "roleArn": "arn:aws:iam::111122223333:role/OmicsImport", "status": "CREATED", "creationTime": "2022-07-13T22:14:59.309Z" }

Surveiller la tâche d'importation

Une fois la tâche d'importation lancée, vous pouvez suivre sa progression à l'aide de la commande suivante. Dans l'exemple suivant, remplacez sequence store id par l'ID de votre magasin de séquences et remplacez-le job import ID par l'ID d'importation.

aws omics get-read-set-import-job --sequence-store-id sequence store id --id job import ID

Vous trouverez ci-dessous les statuts de toutes les tâches d'importation associées à l'ID de magasin de séquences spécifié.

{ "id": "1234567890", "sequenceStoreId": "1234567890", "roleArn": "arn:aws:iam::111122223333:role/OmicsImport", "status": "RUNNING", "statusMessage": "The job is currently in progress.", "creationTime": "2022-07-13T22:14:59.309Z", "sources": [ { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/HG00100.chrom20.ILLUMINA.bwa.GBR.low_coverage.20101123.bam" }, "sourceFileType": "BAM", "status": "IN_PROGRESS", "statusMessage": "The job is currently in progress." "subjectId": "mySubject", "sampleId": "mySample", "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/3242349265/reference/8625408453", "name": "HG00100", "description": "BAM for HG00100", "generatedFrom": "1000 Genomes", "readSetID": "1234567890" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/SRR233106_1.filt.fastq.gz", "source2": "s3://amzn-s3-demo-bucket/SRR233106_2.filt.fastq.gz" }, "sourceFileType": "FASTQ", "status": "IN_PROGRESS", "statusMessage": "The job is currently in progress." "subjectId": "mySubject", "sampleId": "mySample", "name": "HG00146", "description": "FASTQ for HG00146", "generatedFrom": "1000 Genomes", "readSetID": "1234567890" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/HG00096.alt_bwamem_GRCh38DH.20150718.GBR.low_coverage.cram" }, "sourceFileType": "CRAM", "status": "IN_PROGRESS", "statusMessage": "The job is currently in progress." "subjectId": "mySubject", "sampleId": "mySample", "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/3242349265/reference/1234568870", "name": "HG00096", "description": "CRAM for HG00096", "generatedFrom": "1000 Genomes", "readSetID": "1234567890" }, { "sourceFiles": { "source1": "s3://amzn-s3-demo-bucket/NA12878_A.bam" }, "sourceFileType": "UBAM", "status": "IN_PROGRESS", "statusMessage": "The job is currently in progress." "subjectId": "mySubject", "sampleId": "mySample", "name": "NA12878_A", "description": "uBAM for NA12878", "generatedFrom": "GATK Test Data", "readSetID": "1234567890" } ] }

Trouvez les fichiers de séquences importés

Une fois la tâche terminée, vous pouvez utiliser l'opération d'API list-read-sets pour rechercher les fichiers de séquences importés. Dans l'exemple suivant, remplacez-le sequence store id par votre identifiant de magasin de séquences.

aws omics list-read-sets --sequence-store-id sequence store id

Vous recevez la réponse suivante.

{ "readSets": [ { "id": "0000000001", "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/01234567890/readSet/0000000001", "sequenceStoreId": "1234567890", "subjectId": "mySubject", "sampleId": "mySample", "status": "ACTIVE", "name": "HG00100", "description": "BAM for HG00100", "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/01234567890/reference/0000000001", "fileType": "BAM", "sequenceInformation": { "totalReadCount": 9194, "totalBaseCount": 928594, "generatedFrom": "1000 Genomes", "alignment": "ALIGNED" }, "creationTime": "2022-07-13T23:25:20Z" "creationType": "IMPORT", "etag": { "algorithm": "BAM_MD5up", "source1": "d1d65429212d61d115bb19f510d4bd02" } }, { "id": "0000000002", "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000002", "sequenceStoreId": "0123456789", "subjectId": "mySubject", "sampleId": "mySample", "status": "ACTIVE", "name": "HG00146", "description": "FASTQ for HG00146", "fileType": "FASTQ", "sequenceInformation": { "totalReadCount": 8000000, "totalBaseCount": 1184000000, "generatedFrom": "1000 Genomes", "alignment": "UNALIGNED" }, "creationTime": "2022-07-13T23:26:43Z" "creationType": "IMPORT", "etag": { "algorithm": "FASTQ_MD5up", "source1": "ca78f685c26e7cc2bf3e28e3ec4d49cd" } }, { "id": "0000000003", "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000003", "sequenceStoreId": "0123456789", "subjectId": "mySubject", "sampleId": "mySample", "status": "ACTIVE", "name": "HG00096", "description": "CRAM for HG00096", "referenceArn": "arn:aws:omics:us-west-2:111122223333:referenceStore/0123456789/reference/0000000001", "fileType": "CRAM", "sequenceInformation": { "totalReadCount": 85466534, "totalBaseCount": 24000004881, "generatedFrom": "1000 Genomes", "alignment": "ALIGNED" }, "creationTime": "2022-07-13T23:30:41Z" "creationType": "IMPORT", "etag": { "algorithm": "CRAM_MD5up", "source1": "66817940f3025a760e6da4652f3e927e" } }, { "id": "0000000004", "arn": "arn:aws:omics:us-west-2:111122223333:sequenceStore/0123456789/readSet/0000000004", "sequenceStoreId": "0123456789", "subjectId": "mySubject", "sampleId": "mySample", "status": "ACTIVE", "name": "NA12878_A", "description": "uBAM for NA12878", "fileType": "UBAM", "sequenceInformation": { "totalReadCount": 20000, "totalBaseCount": 5000000, "generatedFrom": "GATK Test Data", "alignment": "ALIGNED" }, "creationTime": "2022-07-13T23:30:41Z" "creationType": "IMPORT", "etag": { "algorithm": "BAM_MD5up", "source1": "640eb686263e9f63bcda12c35b84f5c7" } } ] }

En savoir plus sur un kit de lecture

Pour afficher plus de détails sur un ensemble de lecture, utilisez l'opération GetReadSetMetadata API. Dans l'exemple suivant, remplacez-le sequence store id par votre identifiant de magasin de séquences et remplacez-le read set id par votre identifiant d'ensemble de lecture.

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

Vous recevez la réponse suivante.

{ "arn": "arn:aws:omics:us-west-2:123456789012:sequenceStore/2015356892/readSet/9515444019", "creationTime": "2024-01-12T04:50:33.548Z", "creationType": "IMPORT", "creationJobId": "33222111", "description": null, "etag": { "algorithm": "FASTQ_MD5up", "source1": "00d0885ba3eeb211c8c84520d3fa26ec", "source2": "00d0885ba3eeb211c8c84520d3fa26ec" }, "fileType": "FASTQ", "files": { "index": null, "source1": { "contentLength": 10818, "partSize": 104857600, "s3Access": { "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz" }, "totalParts": 1 }, "source2": { "contentLength": 10818, "partSize": 104857600, "s3Access": { "s3Uri": "s3://accountID-sequence store ID-ajdpi90jdas90a79fh9a8ja98jdfa9jf98-s3alias/592761533288/sequenceStore/2015356892/readSet/9515444019/import_source1.fastq.gz" }, "totalParts": 1 } }, "id": "9515444019", "name": "paired-fastq-import", "sampleId": "sampleId-paired-fastq-import", "sequenceInformation": { "alignment": "UNALIGNED", "generatedFrom": null, "totalBaseCount": 30000, "totalReadCount": 200 }, "sequenceStoreId": "2015356892", "status": "ACTIVE", "statusMessage": null, "subjectId": "subjectId-paired-fastq-import" }

Téléchargez les fichiers de données de l'ensemble de lecture

Vous pouvez accéder aux objets d'un ensemble de lecture actif à l'aide de l'opération d'GetObjectAPI Amazon S3. L'URI de l'objet est renvoyé dans la réponse de GetReadSetMetadata l'API. Pour de plus amples informations, veuillez consulter Accès à des ensembles de HealthOmics lecture avec des URI Amazon S3.

Vous pouvez également utiliser l'opération HealthOmics GetReadSet API. Vous pouvez l'utiliser GetReadSet pour télécharger en parallèle en téléchargeant des parties individuelles. Ces composants sont similaires aux composants Amazon S3. Voici un exemple de téléchargement de la partie 1 à partir d'un ensemble de lecture. Dans l'exemple suivant, remplacez-le sequence store id par votre identifiant de magasin de séquences et remplacez-le read set id par votre identifiant d'ensemble de lecture.

aws omics get-read-set --sequence-store-id sequence store id --id read set id --part-number 1 outfile.bam

Vous pouvez également utiliser le gestionnaire HealthOmics de transfert pour télécharger des fichiers à des fins de HealthOmics référence ou de lecture. Vous pouvez télécharger le gestionnaire HealthOmics de transferts ici. Pour plus d'informations sur l'utilisation et la configuration du gestionnaire de transferts, consultez ce GitHub référentiel.