View a markdown version of this page

Acceso a los conjuntos de HealthOmics lectura con los URI de Amazon S3 - 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.

Acceso a los conjuntos de HealthOmics lectura con los URI de Amazon S3

Puede usar las rutas de URI de Amazon S3 para acceder a los conjuntos de lectura de su almacén de secuencias activo.

Con la ruta de URI de Amazon S3, puede usar las operaciones de Amazon S3 para enumerar, compartir y descargar sus conjuntos de lectura. El acceso a través de las API de S3 acelera la colaboración y la integración de herramientas, dado que muchas herramientas del sector ya están diseñadas para leer desde S3. Además, puede compartir el acceso a las API de S3 con otras cuentas y proporcionar acceso de lectura a los datos entre regiones.

HealthOmics no admite el acceso de URI de Amazon S3 a los conjuntos de lectura archivados. Al activar un conjunto de lectura, se restaura en la misma ruta de URI cada vez.

Cuando los datos se cargan en HealthOmics las tiendas, dado que la URI de Amazon S3 se basa en los puntos de acceso de Amazon S3, puede integrarla directamente con las herramientas estándar del sector que leen las URI de Amazon S3, como las siguientes:

  • Aplicaciones de análisis visual como Integrative Genomics Viewer (IGV) o UCSC Genome Browser.

  • Flujos de trabajo comunes con extensiones de Amazon S3, como CWL, WDL y Nextflow.

  • Cualquier herramienta que pueda autenticar y leer desde los puntos de acceso los URI de Amazon S3 o leer los URI prefirmados de Amazon S3.

  • Las utilidades de Amazon S3, como Mountpoint o. CloudFront

Amazon S3 Mountpoint le permite utilizar un bucket de Amazon S3 como sistema de archivos local. Para obtener más información sobre Mountpoint e instalarlo para su uso, consulte Mountpoint para Amazon S3.

Amazon CloudFront es un servicio de red de entrega de contenido (CDN) creado para ofrecer un alto rendimiento, seguridad y comodidad para los desarrolladores. Para obtener más información sobre el uso de Amazon CloudFront, consulta la CloudFront documentación de Amazon. Para configurar CloudFront un almacén de secuencias, ponte en contacto con el AWS HealthOmics equipo.

La cuenta raíz del propietario de los datos está habilitada para las acciones S3:GetObject y S3:List Bucket en el prefijo del almacén de secuencias. S3:GetObjectTagging Para que un usuario de la cuenta acceda a los datos, debes crear una política de IAM y adjuntarla al usuario o rol. Para ver una política de ejemplo, consulte Permisos de acceso a los datos mediante Amazon S3 URIs.

Puede utilizar las siguientes operaciones de la API de Amazon S3 en los conjuntos de lectura activos para enumerar y recuperar sus datos. Puede acceder a los conjuntos de lectura archivados a través de los URI de Amazon S3 una vez que se hayan activado.

  • GetObject— Recupera un objeto de Amazon S3.

  • HeadObject— La operación HEAD recupera los metadatos de un objeto sin devolver el objeto en sí. Esta operación es útil si solo desea los metadatos de un objeto.

  • ListObjects y ListObject v2: devuelve algunos o todos los objetos de un bucket (hasta 1000).

  • CopyObject— Crea una copia de un objeto que ya está almacenado en Amazon S3. HealthOmicsadmite copiar en un punto de acceso de Amazon S3, pero no escribir en un punto de acceso.

HealthOmics los almacenes de secuencias mantienen la identidad semántica de los archivos mediante ETags. A lo largo del ciclo de vida de un archivo, la ETag de Amazon S3, que se basa en la identidad bit a bit, puede cambiar; sin embargo, la HealthOmics ETag permanece igual. Para obtener más información, consulte HealthOmics Las etiquetas electrónicas y la procedencia de los datos.

Estructura de URI de Amazon S3 almacenada HealthOmics

Todos los archivos con URI de Amazon S3 tienen etiquetas omics:subjectId de omics:sampleId recursos. Puede usar estas etiquetas para compartir el acceso mediante políticas de IAM siguiendo un patrón como. "s3:ExistingObjectTag/omics:subjectId": "pattern desired"

La estructura de archivos es la siguiente:

.../account_id/sequenceStore/seq_store_id/readSet/read_set_id/files.

En el caso de los archivos importados a los almacenes de secuencias desde Amazon S3, el almacén de secuencias intenta mantener el nombre de la fuente original. Cuando los nombres entran en conflicto, el sistema añade la información del conjunto de lectura para garantizar que los nombres de los archivos sean únicos. Por ejemplo, en el caso de los conjuntos de lectura fastq, si ambos nombres de archivo son iguales, para que sean únicos, sourceX se inserta antes de .fastq.gz o .fq.gz. En el caso de una carga directa, los nombres de los archivos siguen los siguientes patrones:

  • Para FASTQ: read_set_name _ .fastq.gz sourcex

  • uBAM/BAMPara read_set_name /CRAM —. file extensioncon extensiones de .bam o. .cram Un ejemplo es NA193948.bam.

En el caso de los conjuntos de lectura que son BAM o CRAM, los archivos de índice se generan automáticamente durante el proceso de ingesta. Para los archivos de índice generados, se aplica la extensión de índice adecuada al final del nombre del archivo. Tiene el patrón <name of the Source the index is on>.<file index extension>. Las extensiones de índice son .bai o.crai.

Uso de IGV alojado o local para acceder a los conjuntos de lectura

El IGV es un navegador de genomas que se utiliza para analizar archivos BAM y CRAM. Requiere tanto el archivo como el índice porque solo muestra una parte del genoma a la vez. El IGV se puede descargar y usar localmente, y hay guías para crear un IGV alojado en AWS. La versión web pública no es compatible porque requiere CORS.

El IGV local se basa en la AWS configuración local para acceder a los archivos. Asegúrese de que el rol usado en esa configuración tenga una política adjunta que habilite los GetObject permisos KMS:Decrypt y s3: para el URI s3 de los conjuntos de lectura a los que se está accediendo. Después, en IGV, puedes usar «Archivo > cargar desde URL» y pegar el URI de la fuente y el índice. Como alternativa, las URL prefirmadas se pueden generar y utilizar de la misma manera, lo que evitará la configuración de AWS. Tenga en cuenta que el CORS no es compatible con el acceso a las URI de Amazon S3, por lo que no se admiten las solicitudes que dependen del CORS.

El ejemplo de AWS Hosted IGV se basa en AWS Cognito para crear las configuraciones y los permisos correctos dentro del entorno. Asegúrese de crear una política que habilite los GetObject permisos KMS:Decrypt y s3: sobre la URI de Amazon S3 de los conjuntos de lectura a los que se accede y añada esta política a la función asignada al grupo de usuarios de Cognito. Después, en IGV, puede usar «Archivo > cargar desde URL» e introducir el URI de la fuente y el índice. Como alternativa, las URL prefirmadas se pueden generar y utilizar de la misma manera, lo que evita la configuración de AWS.

Tenga en cuenta que el almacén de secuencias no aparecerá en la pestaña «Amazon» porque solo muestra los depósitos de su propiedad en la región en la que está configurado el AWS perfil.

Uso de Samtools o HTSlib en HealthOmics

HTSLib es la biblioteca principal que comparten varias herramientas, como Samtools, RSAMTools y otras. PySam Utilice la versión 1.20 o posterior de HTSLib para obtener una compatibilidad perfecta con los puntos de acceso de Amazon S3. Para las versiones anteriores de la biblioteca HTSLib, puede utilizar las siguientes soluciones alternativas:

  • Establezca la variable de entorno para el host HTS Amazon S3 con:. export HTS_S3_HOST="s3.region.amazonaws.com"

  • Genere una URL prefirmada para los archivos que desea usar. Si se utiliza un BAM o un CRAM, asegúrese de que se genere una URL prefirmada tanto para el archivo como para el índice. Después de eso, ambos archivos se pueden usar con las bibliotecas.

  • Usa Mountpoint para montar el almacén de secuencias o el prefijo del conjunto de lectura en el mismo entorno en el que utilizas las bibliotecas HTSLib. Desde aquí, se puede acceder a los archivos mediante rutas de archivos locales.

Uso de Mountpoint HealthOmics

Mountpoint para Amazon S3 es un cliente de archivos sencillo y de alto rendimiento para montar un bucket de Amazon S3 como un sistema de archivos local. Con Mountpoint para Amazon S3, sus aplicaciones pueden acceder a los objetos almacenados en Amazon S3 mediante operaciones de archivo como la apertura y la lectura. Mountpoint para Amazon S3 traduce automáticamente estas operaciones en llamadas a la API de objetos de Amazon S3, lo que permite a sus aplicaciones acceder al almacenamiento elástico y al rendimiento de Amazon S3 a través de una interfaz de archivos.

Mountpoint se puede instalar siguiendo las instrucciones de instalación de Mountpoint. Mountpoint usa el perfil de AWS local de la instalación y funciona a nivel de prefijo de Amazon S3. Asegúrese de que el perfil que está utilizando tenga una política que habilite los permisos s3:GetObject, s3: ListBucket y kms:Decrypt para el prefijo URI de Amazon S3 de los conjuntos de lectura o del almacén de secuencias al que se está accediendo. Después, el bucket se puede montar mediante la siguiente ruta:

mount-s3 access point arn local path to mount --prefix prefix to sequence store or read set --region region

Utilizándolo CloudFront con HealthOmics

Amazon CloudFront es un servicio de red de entrega de contenido (CDN) diseñado para ofrecer un alto rendimiento, seguridad y comodidad para los desarrolladores. Los clientes que quieran usarlo CloudFront deben trabajar con el equipo de servicio para activar la CloudFront distribución. Colabore con su equipo de cuentas para interactuar con el equipo HealthOmics de servicio.