Carga directa a un almacén HealthOmics de secuencias - AWS HealthOmics

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Carga directa a un almacén HealthOmics de secuencias

Te recomendamos que utilices el Gestor de HealthOmics transferencias para añadir archivos a tu almacén de secuencias. Para obtener más información sobre el uso de Transfer Manager, consulte este GitHubrepositorio. También puede cargar sus conjuntos de lectura directamente a un almacén de secuencias mediante las operaciones de la API de carga directa.

Los conjuntos de lectura con carga directa aparecen primero en PROCESSING_UPLOAD el estado. Esto significa que las partes del archivo se están cargando actualmente y que puede acceder a los metadatos del conjunto de lectura. Una vez cargadas las partes y validadas las sumas de control, el conjunto de lecturas pasa a ser ACTIVE y se comporta igual que un conjunto de lecturas importado.

Si la carga directa falla, el estado del conjunto de lectura se muestra como. UPLOAD_FAILED Puede configurar un bucket de Amazon S3 como ubicación alternativa para los archivos que no se carguen. Las ubicaciones alternativas están disponibles para los almacenes secuenciales creados después del 15 de mayo de 2023.

Carga directamente a un almacén de secuencias mediante el AWS CLI

Para empezar, inicie una carga de varias partes. Para ello, utilice el AWS CLI, como se muestra en el siguiente ejemplo.

Para cargar directamente mediante AWS CLI comandos
  1. Cree las partes separando los datos, como se muestra en el siguiente ejemplo.

    split -b 100MiB SRR233106_1.filt.fastq.gz source1_part_
  2. Una vez que los archivos fuente estén divididos en partes, cree una carga de conjuntos de lectura con varias partes, como se muestra en el siguiente ejemplo. Sustituya sequence store ID y los demás parámetros por el ID del almacén de secuencias y otros valores.

    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"

    Obtendrá los metadatos uploadID y otros en la respuesta. Úsalo uploadID para el siguiente paso del proceso de carga.

    { "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. Añada sus conjuntos de lectura a la carga. Si tu archivo es lo suficientemente pequeño, solo tienes que realizar este paso una vez. Para archivos más grandes, realice este paso para cada parte del archivo. Si carga una pieza nueva utilizando un número de pieza utilizado anteriormente, se sobrescribirá la pieza cargada anteriormente.

    En el siguiente ejemplo, sustituya sequence store IDupload ID, y los demás parámetros por sus valores.

    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 respuesta es un identificador que puede utilizar para comprobar que el archivo cargado coincide con el archivo deseado.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. Continúe cargando las partes del archivo, si es necesario. Para comprobar que los conjuntos de lectura se han cargado, utilice la operación de la API list-read-set-upload-parts, tal y como se muestra a continuación. En el siguiente ejemplo, sustituya sequence store ID upload ID, y por part source su propia entrada.

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

    La respuesta devuelve el número de conjuntos de lectura, el tamaño y la marca de tiempo de su última actualización.

    { "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. Para ver todas las cargas de conjuntos de lectura multiparte activos, usa list-multipart-read-set-uploads, tal y como se muestra a continuación. sequence store IDSustitúyalo por el ID de tu propio almacén de secuencias.

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

    Esta API solo devuelve las cargas de conjuntos de lectura de varias partes que estén en curso. Una vez que se hayan introducido los conjuntos de ACTIVE lecturas, o si la carga ha fallado, la carga no se devolverá en respuesta a la list-multipart-read-set API -uploads. Para ver los conjuntos de lecturas activos, usa la API. list-read-sets A continuación, se muestra un ejemplo de respuesta para 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. Después de cargar todas las partes del archivo, usa complete-multipart-read-set-upload para finalizar el proceso de carga, como se muestra en el siguiente ejemplo. Sustituya sequence store ID y el parámetro de las piezas por sus propios valores. upload 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"}]'

    La respuesta para complete-multipart-read-set-upload es el conjunto de lecturas de IDs los conjuntos de lecturas importados.

    { "readSetId": "0000000001" }
  7. Para detener la carga, usa abort-multipart-read-set-upload con el ID de carga para finalizar el proceso de carga. Sustituya sequence store ID y upload ID por sus propios valores de parámetros.

    aws omics abort-multipart-read-set-upload \ --sequence-store-id sequence store ID \ --upload-id upload ID
  8. Una vez finalizada la carga, recupere los datos del conjunto de lectura mediante get-read-setel siguiente procedimiento. Si la carga aún se está procesando, get-read-setdevuelve metadatos limitados y los archivos de índice generados no están disponibles. Sustituya sequence store ID los demás parámetros por sus propios datos.

    aws omics get-read-set --sequence-store-id sequence store ID \ --id read set ID \ --file SOURCE1 \ --part-number 1 myfile.fastq.gz
  9. Para comprobar los metadatos, incluido el estado de la carga, utiliza la operación de la get-read-set-metadataAPI.

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

    La respuesta incluye detalles de metadatos como el tipo de archivo, el ARN de referencia, el número de archivos y la longitud de las secuencias. También incluye el estado. Los estados posibles son PROCESSING_UPLOADACTIVE, yUPLOAD_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" }

Configure una ubicación alternativa

Al crear o actualizar un almacén de secuencias, puede configurar un bucket de Amazon S3 como ubicación de respaldo para los archivos que no se cargan. Las partes del archivo de esos conjuntos de lectura se transfieren a la ubicación alternativa. Las ubicaciones de respaldo están disponibles para los almacenes de secuencias creados después del 15 de mayo de 2023.

Cree una política de bucket de Amazon S3 para conceder acceso de HealthOmics escritura a la ubicación alternativa de Amazon S3, como se muestra en el siguiente ejemplo:

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

Si el depósito de Amazon S3 para los registros alternativos o de acceso utiliza una clave administrada por el cliente, añada los siguientes permisos a la política de claves:

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