View a markdown version of this page

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 GitHub repositorio. También puedes subir tus conjuntos de lectura directamente a un almacén de secuencias mediante las operaciones de la API de carga directa.

Los conjuntos de lectura de carga directa son los primeros 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 que se cargan las partes y se validan las sumas de comprobación, el conjunto de lectura pasa a ser un conjunto de lectura importado ACTIVE y se comporta de la misma manera que él.

Si se produce un error en la carga directa, 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 cargan. Las ubicaciones de respaldo están disponibles para los almacenes de secuencias creados después del 15 de mayo de 2023.

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

Para empezar, inicia una carga multiparte. Para ello, utilice el AWS CLI, como se muestra en el siguiente ejemplo.

Para subir de forma directa, utilice AWS CLI Comandos de la de
  1. Crea 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 conjunto de lectura multiparte, como se muestra en el siguiente ejemplo. Reemplace sequence store ID y los demás parámetros por su ID de 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á estos uploadID y otros metadatos en la respuesta. Usa el 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ñade tus conjuntos de lectura a la subida. Si el 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 subes una nueva parte con un número de pieza usado anteriormente, se sobrescribe la parte cargada anteriormente.

    En el siguiente ejemplo sequence store IDupload ID, reemplaza y los demás parámetros por tus 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 puedes usar para comprobar que el archivo subido coincide con el archivo que querías.

    { "checksum": "984979b9928ae8d8622286c4a9cd8e99d964a22d59ed0f5722e1733eb280e635" }
  4. Continúa 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, y por su propia sequence store ID entradaupload ID. part source

    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 leídos, el tamaño y la marca de tiempo de la ú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 subidas de conjuntos de lectura multiparte activas, usa list-multipart-read-set-uploads, como se muestra a continuación. Sustitúyelo por el identificador de tu propio almacén de secuencias. sequence store ID

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

    Esta API solo muestra las subidas de conjuntos de lectura en varias partes que estén en curso. Una vez ingeridos los conjuntos de lecturaACTIVE, o si la carga ha fallado, la carga no se devolverá en la respuesta a la API list-multipart-read-set-uploads. Para ver los conjuntos de lectura 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 subir todas las partes del archivo, usa complete-multipart-read-set-upload para finalizar el proceso de carga, como se muestra en el siguiente ejemplo. Sustituyasequence store ID, y el parámetro de las upload ID partes por sus propios valores.

    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 son los ID de los conjuntos de lectura de los conjuntos de lectura importados.

    { "readSetId": "0000000001" }
  7. Para detener la subida, utiliza abort-multipart-read-set-upload con el identificador de subida para finalizar el proceso de subida. sequence store IDupload IDSustituya y 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 completada la carga, recupere los datos del conjunto leído mediante get-read-set, como se muestra a continuación. Si la carga aún se está procesando, get-read-set devuelve metadatos limitados y los archivos de índice generados no están disponibles. Reemplace sequence store ID y los demás parámetros con su propia entrada.

    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 subida, utiliza la operación de la API get-read-set-metadata.

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

    La respuesta incluye detalles de los 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 alternativa 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 alternativas están disponibles para los almacenes de secuencias creados después del 15 de mayo de 2023.

Cree una política de cubos 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 bucket de Amazon S3 para los registros de respaldo o acceso utiliza una clave gestionada 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": "*" }