ES2960009T3 - Método y sistemas para la compresión eficiente de lecturas de secuencias genómica - Google Patents

Método y sistemas para la compresión eficiente de lecturas de secuencias genómica Download PDF

Info

Publication number
ES2960009T3
ES2960009T3 ES17896462T ES17896462T ES2960009T3 ES 2960009 T3 ES2960009 T3 ES 2960009T3 ES 17896462 T ES17896462 T ES 17896462T ES 17896462 T ES17896462 T ES 17896462T ES 2960009 T3 ES2960009 T3 ES 2960009T3
Authority
ES
Spain
Prior art keywords
reads
class
read
descriptor
descriptors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES17896462T
Other languages
English (en)
Inventor
Mohamed Baluch
Claudio Alberti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Genomsys SA
Original Assignee
Genomsys SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2017/017842 external-priority patent/WO2018071055A1/en
Priority claimed from PCT/US2017/041579 external-priority patent/WO2018071078A1/en
Application filed by Genomsys SA filed Critical Genomsys SA
Priority claimed from PCT/US2017/066863 external-priority patent/WO2018151788A1/en
Application granted granted Critical
Publication of ES2960009T3 publication Critical patent/ES2960009T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Método y aparato para la compresión de datos de secuencia del genoma producidos por máquinas de secuenciación del genoma. Las lecturas de secuencia se codifican alineándolas con respecto a secuencias de referencia preexistentes o construidas; el proceso de codificación se compone de una clasificación de las lecturas en clases de datos seguida de la codificación de cada clase en términos de una multiplicidad de descriptores genómicos. Los descriptores genómicos de un mismo tipo se organizan en bloques que se comprimen aplicando sucesivas etapas de transformación, binarización y codificación entrópica. Se utilizan modelos fuente específicos y codificadores de entropía para cada clase de datos y para cada descriptor asociado. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Método y sistemas para la compresión eficiente de lecturas de secuencias genómica
Campo técnico
Esta divulgación proporciona un método novedoso de representación de datos de secuenciación del genoma que reduce el espacio de almacenamiento utilizado y mejora el rendimiento del acceso al proporcionar nueva funcionalidad que no está disponible con los métodos de representación conocidos de la técnica anterior.
Antecedentes
Una representación adecuada de los datos de secuenciación del genoma es fundamental para permitir aplicaciones de análisis genómico eficientes, tales como la llamada de variantes del genoma y todos los demás análisis realizados con diversos fines mediante el procesamiento de los datos y metadatos de la secuenciación.
La secuenciación del genoma humano se ha vuelto asequible gracias a la aparición de tecnologías de secuenciación de alto rendimiento y bajo coste. Esta oportunidad abre nuevas perspectivas en varios campos que van desde el diagnóstico y tratamiento del cáncer hasta la identificación de enfermedades genéticas, desde la vigilancia de patógenos para la identificación de anticuerpos hasta la creación de nuevas vacunas, fármacos y la personalización de tratamientos personalizados.
Hospitales, proveedores de análisis genómicos, bioinformática y grandes centros de almacenamiento de datos biológicos buscan soluciones de procesamiento de información genómica asequibles, rápidas, fiables e interconectadas que puedan permitir llevar la medicina genómica a escala mundial. Dado que uno de los obstáculos en el proceso de secuenciación es el almacenamiento de datos, cada vez se investigan más métodos para representar los datos de secuenciación del genoma en forma comprimida.
Las representaciones de información del genoma más utilizadas para los datos de secuenciación se basan en los formatos comprimidos FASTQ y SAM. El objetivo es comprimir los formatos de archivo utilizados tradicionalmente (respectivamente FASTQ y sAm para datos alineados y no alineados). Estos archivos están constituidos por caracteres de texto plano y se comprimen, como se mencionó anteriormente, utilizando enfoques de propósito general tales como los esquemas LZ (de Lempel y Ziv, los autores que publicaron las primeras versiones) (los conocidos zip, gzip, etc.). Cuando se utilizan compresores de uso general como gzip, el resultado de la compresión es usualmente una única masa informe de datos binarios. La información en una forma tan monolítica resulta bastante difícil de archivar, transferir y elaborar, especialmente cuando, como en el caso de la secuenciación de alto rendimiento, el volumen de datos es extremadamente grande. El formato BAM se caracteriza por un rendimiento de compresión deficiente debido a que se centra en la compresión del ineficiente y redundante formato SAM en lugar de extraer la información genómica real transportada por los archivos SAM y debido a la adopción de algoritmos de compresión de texto de propósito general tal como gzip en lugar de explotar la naturaleza específica de cada fuente de datos (los datos genómicos en sí).
Un enfoque más sofisticado para la compresión de datos genómicos que se utiliza menos, pero más eficiente que SAM, es CRAM.
La técnica CRAM se divulga, por ejemplo, en una publicación de Internet "Especificación de formato CRAM (versión 3.0)", de fecha 8 de septiembre de 2016 - https://samtools.github.io/hts-specs/CRAMv3.pdf.
CRAM proporciona una compresión más eficiente para la adopción de codificación diferencial con respecto a una referencia (explota parcialmente la redundancia de la fuente de datos), pero aún carece de características como actualizaciones incrementales, soporte para transmisión en directo y acceso selectivo a clases específicas de datos comprimidos.
Estos enfoques generan índices de compresión deficientes y estructuras de datos que son difíciles de navegar y manipular una vez comprimidos. El análisis corriente abajo puede ser muy lento debido a la necesidad de manejar estructuras de datos grandes y rígidas incluso para realizar operaciones simples o acceder a regiones seleccionadas del conjunto de datos genómicos. CRAM se basa en el concepto de registro CRAM. Cada registro CRAM representa una única lectura mapeada o no mapeada codificando todos los elementos necesarios para reconstruirla.
CRAM presenta los siguientes inconvenientes y limitaciones que se resuelven y eliminan mediante la invención descrita en esta divulgación:
1. CRAM no admite la indexación de datos ni el acceso aleatorio a subconjuntos de datos que comparten características específicas. La indexación de datos está fuera del alcance de la especificación (véase la sección 12 de la especificación CRAM v 3.0) y se implementa como un archivo separado. Por el contrario, el enfoque de la invención descrito en esta divulgación emplea un método de indexación de datos que está integrado con el proceso de codificación y los índices están integrados en el flujo de bits codificado (es decir, comprimido).
2. CRAM está construido por bloques de datos centrales que pueden contener cualquier tipo de lecturas mapeadas (lecturas que coinciden perfectamente, lecturas solo con sustituciones, lecturas con inserciones o eliminaciones (también denominadas "indels")). No existe una noción de clasificación de datos y agrupación de lecturas en clases según el resultado del mapeo con respecto a una secuencia de referencia. Esto significa que es necesario inspeccionar todos los datos, incluso si solo se buscan lecturas con características específicas. La invención resuelve dicha limitación clasificando y dividiendo los datos en clases antes de codificarlos.
3. CRAM se basa en el concepto de encapsular cada lectura en un "registro CRAM". Esto implica la necesidad de inspeccionar cada "registro" completo cuando se buscan lecturas caracterizadas por rasgos biológicos específicos (por ejemplo, lecturas con sustituciones, pero sin "indels" o lecturas perfectamente mapeadas).
A la inversa, en la presente invención existe la noción de clases de datos codificadas por separado en bloques de información separados y no existe la noción de registro que encapsule cada lectura. Esto permite un acceso más eficiente a un conjunto de lecturas con características biológicas específicas (por ejemplo, lecturas con sustituciones, pero sin "indels" o lecturas perfectamente mapeadas) sin la necesidad de decodificar cada (bloque de) lectura(s) para inspeccionar sus rasgos.
4. En un registro CRAM cada campo del registro está asociado a una marca específica y cada marca debe tener siempre el mismo significado ya que no existe noción de contexto ya que cada registro CRAM puede contener cualquier tipo de dato diferente. Este mecanismo de codificación introduce información redundante e impide el uso de codificación entrópica basada en contexto eficiente.
En cambio, en la presente invención, no existe la noción de indicador que denota datos porque está intrínsecamente definido por el "bloque" de información al que pertenecen los datos. Esto implica un número muy reducido de símbolos a utilizar y una consiguiente reducción de la entropía de la fuente de información que da como resultado una compresión más eficiente. Esta mejora es posible porque el uso de diferentes "bloques" permite al codificador reutilizar el mismo símbolo en cada bloque con diferentes significados según el contexto. En CRAM cada indicador debe tener siempre el mismo significado ya que no existe noción de contextos y cada registro CRAM puede contener cualquier tipo de dato.
5. En las sustituciones de CRAM, las inserciones y eliminaciones se representan mediante el uso de diferentes elementos de sintaxis, opción que aumenta el tamaño del alfabeto de la fuente de información y produce una mayor entropía de la fuente. Por el contrario, el enfoque de la invención divulgada utiliza un único alfabeto y codificación para sustituciones, inserciones y eliminaciones. Esto simplifica el proceso de codificación y decodificación y produce un modelo de fuente entrópica más baja cuya codificación produce flujos de bits caracterizados por un alto rendimiento de compresión.
La presente invención tiene como objetivo comprimir secuencias genómicas clasificando y dividiendo datos de secuenciación de modo que se minimice la información redundante que se va a codificar y características tales como el acceso selectivo y el soporte para actualizaciones incrementales se habiliten directamente en el dominio comprimido.
Uno de los aspectos del enfoque presentado es la definición de clases de datos y metadatos estructurados en diferentes bloques y codificados por separado. Las mejoras más relevantes de este enfoque con respecto a los métodos existentes consisten en:
1. el aumento del rendimiento de la compresión debido a la reducción de la entropía de la fuente de información constituida al proporcionar un modelo de fuente eficiente para cada clase de datos o metadatos;
2. la posibilidad de realizar accesos selectivos a porciones de los datos y metadatos comprimidos para cualquier fin de procesamiento posterior directamente en el dominio comprimido;
3. la posibilidad de actualizar incrementalmente (es decir, sin necesidad de decodificar y recodificar) datos y metadatos comprimidos con nuevos datos y/o metadatos de secuenciación y/o nuevos resultados de análisis asociados a conjuntos específicos de lecturas de secuenciación.
Breve descripción de los dibujos
La Figura 1 muestra la definición de lectura 1 y lectura 2 en un par de lectura y la definición de nucleótido más a la izquierda y más a la derecha en una lectura mapeada.
La Figura 2 muestra cómo una Unidad de Acceso encapsula descriptores comprimidos que representan lecturas de secuencias mapeadas en un intervalo contiguo de la secuencia de referencia. La información del encabezado se antepone a los descriptores comprimidos para permitir el análisis de datos.
La Figura 3 muestra cómo una Unidad de Acceso de tipo P está compuesta por un encabezado y la multiplexación de bloques de descriptores que representan las posiciones de mapeo de lecturas (pos), la información de complemento inverso (rcomp), la información de emparejamiento en caso de lecturas finales emparejadas (pair ), la longitud de lectura en caso de longitud de lectura variable (rlen) y los indicadores de mapeo (flags). Se utiliza para codificar lecturas de clase P
La Figura 4 muestra el cálculo del descriptor pos para un par de lectura mapeado donde el par de lecturanestá mapeado en la posición Pn y el par de lectura n+1 se asigna en la posición Pm.
La Figura 5 muestra cómo calcular la posición de mapeo absoluta de una base en una Secuencia de Referencia.
La Figura 6 muestra el uso del descriptor rcomp para lecturas finales emparejadas.
La Figura 7 muestra un ejemplo de cómo calcular posiciones no coincidentes en un par de lectura.
La Figura 8 muestra cómo se calculan la Longitud del Registro Genómico y la Distancia de Emparejamiento.
La Figura 9 muestra múltiples alineamientos sin empalmes. La lectura más a la izquierda tiene N alineamientos. N es el primer valor de mmap que se decodificará y señala el número de alineamientos de la primera lectura. Los siguientes N valores del descriptor mmap se decodifican y se utilizan para calcular P, que es el número de alineamientos de la segunda lectura.
La Figura 10 muestra cómo se utilizan los descriptores pos, pair y mmap para codificar múltiples alineamientos sin empalmes. La lectura más a la izquierda tiene N alineamientos.
La Figura 11 muestra múltiples alineamientos con empalmes.
La Figura 12 muestra múltiples alineamientos con empalmes. Uso de los descriptores pos, pair, mmap y msar para representar múltiples alineamientos con empalmes.
La Figura 13 representa un aparato codificador que comprende las etapas de alinear secuencias genómicas con respecto a un genoma de referencia, generar descriptores que representan las secuencias genómicas con respecto al genoma de referencia y comprimir cada bloque de descriptores con un codificador entrópica dedicado.
La Figura 14 muestra el proceso de decodificación de un flujo de bits comprimido que comprende las etapas de demultiplexar el flujo de bits entrante para extraer los descriptores codificados por entropía, decodificación por entropía de cada tipo de descriptores, decodificación de lecturas de secuencias alineadas usando el genoma de referencia.
La Figura 15 muestra cómo los codificadores de datos de clase N, M e I se configuran con vectores de umbrales y generan subclases separadas de clases de datos N, M e I.
La Figura 16 muestra cómo se pueden usar pares de lecturas medio mapeadas (clase HM) para llenar regiones desconocidas de una secuencia de referencia ensamblando cóntigos más largos con lecturas no mapeadas.
La Figura 17 muestra cómo se pueden aplicar transformaciones de referencia para eliminar no coincidencias en las lecturas. En algunos casos, las transformaciones de referencia pueden generar nuevas no coincidencias o cambiar el tipo de no coincidencias encontradas al hacer referencia a la referencia antes de que se haya aplicado la transformación.
La Figura 18 muestra cómo las transformaciones de referencia pueden cambiar la clase a la que pertenecen las lecturas cuando se eliminan todas o un subconjunto de no coincidencias (es decir, la lectura que pertenece a la clase M antes de la transformación se asigna a la Clase P después de que se haya aplicado la transformación de la referencia).
La Figura 19 muestra cómo todas las clases de datos pueden usar la misma referencia transformada para recodificar o se puede usar una transformación diferente para cada clase N, M e I, o cualquier combinación de las mismas.
Resumen
En un primer aspecto, la invención se refiere a un método implementado por ordenador para codificar datos de secuencia del genoma de acuerdo con la reivindicación 1.
En un segundo aspecto, la invención se refiere a un método implementado por ordenador para decodificar datos de secuencia del genoma de acuerdo con la reivindicación 11.
En un tercer aspecto, la invención se refiere a un aparato para codificar datos de secuencia del genoma de acuerdo con la reivindicación 17.
En un cuarto aspecto, la invención se refiere a un aparato para decodificar datos de secuencia del genoma de acuerdo con la reivindicación 18.
En un quinto aspecto, la invención se refiere a medios de almacenamiento que comprenden instrucciones para ejecutar métodos de codificación y decodificación de acuerdo con la reivindicación 19.
Descripción detallada
Las secuencias genómicas o proteómicas a las que se hace referencia en esta invención incluyen, por ejemplo, y sin limitación, secuencias de nucleótidos, secuencias de ácido desoxirribonucleico (ADN), ácido ribonucleico (ARN) y secuencias de aminoácidos. Aunque la descripción en el presente documento es bastante detallada con respecto a la información genómica en forma de una secuencia de nucleótidos, se entenderá que los métodos y sistemas para la compresión también pueden implementarse para otras secuencias genómicas o proteómicas, aunque con algunas variaciones. como entenderá un experto en la técnica.
La información de secuenciación del genoma se genera mediante máquinas de secuenciación de alto rendimiento (HTS) en forma de secuencias de nucleótidos (también conocidas como "bases") representadas por cadenas de letras de un vocabulario definido. El vocabulario más pequeño está representado por cinco símbolos: {A, C, G, T, N} representa los 4 tipos de nucleótidos presentes en el ADN, a saber, adenina, citosina, guanina y timina. En el ARN, la timina se reemplaza por uracilo (U). N indica que la máquina secuenciadora no pudo llamar a ninguna base y, por lo tanto, la naturaleza real de la posición es indeterminada. En caso de que la máquina secuenciadora adopte los códigos de ambigüedad IUPAC, el alfabeto utilizado para los símbolos es (A, C, G, T, U, W, S, M, K, R, Y, B, D, H, V , N o -).
Las secuencias de nucleótidos producidas por máquinas secuenciadoras se denominan"lecturas".Las lecturas de secuencias pueden tener una longitud de entre unas pocas docenas y varios miles de nucleótidos. Algunas tecnologías producen lecturas de secuencias en"pares"donde una lectura es de una cadena de ADN y la segunda es de la otra cadena. Una lectura asociada a otra lectura en un proceso de secuenciación que produce pares se dice que es sucompañero.
El proceso de organizar lecturas de secuencias para identificar regiones de similitud con segmentos de un genoma de referencia de acuerdo con un conjunto de reglas de coincidencia se denomina "alineamiento" o "mapeo". A lo largo de esta divulgación, unsecuencia de referenciaes una secuencia de nucleótidos asociada a un sistema de coordenadas entero monodimensional para el cual cada coordenada entera está asociada a un único nucleótido. Los valores de coordenadas solo pueden ser iguales o mayores que cero. Este sistema de coordenadas en el contexto de esta invención tiene base cero (es decir, el primer nucleótido tiene la coordenada 0 y se dice que está en la posición 0) y aumenta linealmente de izquierda a derecha. Unasecuencia de referenciaes cualquier secuencia en la que se alinean/mapean las secuencias de nucleótidos producidas por máquinas de secuenciación. Un ejemplo de secuencia podría ser en realidad un"genoma de referencia",una secuencia ensamblada por científicos como un ejemplo representativo del conjunto de genes de una especie. Por ejemplo, GRCh37, el genoma humano del Genome Reference Consortium (compilación 37) se deriva de trece voluntarios anónimos de Buffalo, Nueva York. Sin embargo, una secuencia de referencia también podría consistir en una secuencia sintética concebida y construida simplemente para mejorar la compresibilidad de las lecturas con vistas a su procesamiento posterior.
Un elemento común de los enfoques eficientes para la compresión de lecturas de secuencias genómicas es la explotación de la correlación de los datos de la secuencia con respecto a una secuencia de referencia. Incluso si el perfil somático de la población humana es extremadamente diversificado, la porción real del número de nucleótidos que difiere de persona a persona es aproximadamente sólo el 0.1% del número total de nucleótidos que componen un genoma completo. Por tanto, la información genómica específica que caracteriza a cada individuo es muy limitada con respecto a toda la información que porta un genoma completo. Cuando se dispone de un genoma de referencia preexistente, ya sea para secuenciación previa o como referencia de consenso "promedio" publicada, la forma más común a día de hoy de codificar la información es identificar y codificar sólo las diferencias con respecto al genoma de referencia.
Con el fin de hacerlo con lecturas de secuencias sin procesar, generalmente expresadas en forma de archivos de datos FASTQ, un paso preliminar de preprocesamiento es el mapeo de un genoma de referencia. En caso de que no esté disponible un genoma de referencia apropiado, o si el sesgo introducido por el uso de una referencia específica no es deseable, la construcción de una nueva secuencia de referencia mediante el ensamblaje de las lecturas de secuencias disponibles en secuencias más largas llamadascóntigos,es una posible alternativa.
Cuando se mapean lecturas de secuencias en una secuencia de referencia, dicha secuencia de referencia se usa como eje de un sistema de coordenadas monodimensional en donde la posición más a la izquierda se indica como posición 0. Para cada lectura de secuencia, mapeada a una secuencia de referencia, el nucleótido mapeado en la posición de la secuencia de referencia identificada por el número de coordenadas más pequeño generalmente se denomina nucleótido "más a la izquierda", mientras que el nucleótido mapeado en la posición de la secuencia de referencia identificada por el número de coordenadas más grande se conoce como el nucleótido "más a la derecha". Esto se ilustra en la Figura 1. A lo largo de esta divulgación, un nucleótido también se denomina comobase.
Cuando una lectura de secuencia se mapea a una secuencia de referencia, se dice que la coordenada de la base mapeada más a la izquierda representa laposición de mapeode la lectura en la secuencia de referencia.
Una base presente en la lectura alineada y no presente en la secuencia de referencia (también conocida como inserción) y las bases conservadas por el proceso de alineamiento pero no mapeadas en la secuencia de referencia (también conocidas como clips suaves) no tienen posiciones de mapeo.
Cuando una lectura de secuencia no se puede mapear a ninguna posición mapeada de las secuencias de referencia utilizadas de acuerdo con las reglas de coincidencia especificadas, se dice que esno mapeada.
El proceso de construir secuencias genómicas más largas buscando regiones superpuestas entre las lecturas de secuencias se llamaensamblaje.
Una secuencia genómica más larga construida ensamblando lecturas más cortas se llamacóntigo(véase https://en.wikipedia.org/wiki/Cóntigo).
Se dice que las lecturas de secuencias que no logran construir ningún cóntigo durante un proceso de ensamblaje sonno alineadas.
Ungenoma de referenciaestá compuesto por una o más secuencias de referencia y es ensamblado por los científicos como un ejemplo representativo del conjunto de genes de una especie. Por ejemplo, GRCh37, el genoma humano del Genome Reference Consortium (compilación 37) se deriva de trece voluntarios anónimos de Buffalo, Nueva York. Sin embargo, una secuencia de referencia también podría consistir en una secuencia sintética concebida y simplemente construida para mejorar la compresibilidad de las lecturas con vistas a su procesamiento posterior.
En esta divulgación, la lectura que compone un par de lecturas con un mapeo de base en la coordenada más pequeña en una secuencia de referencia se denomina"Lectura 1"mientras que su compañero se conoce como"Lectura 2".
La distancia, expresada como número de nucleótidos (o bases), que separa dos lecturas generadas como un par, por una máquina de secuenciación que utiliza tecnología de secuenciación de última generación, se desconoce y se determina mapeando ambas lecturas que componen el par (es decir, minimizando las funciones de coincidencia apropiadas) a una secuencia de referencia.
A lo largo de esta divulgación, unregistro genómicoes una estructura de datos que codifica una lectura de secuencia única o una lectura de secuencia emparejada asociada opcionalmente con información de alineamiento, identificador de lectura y valores de calidad.
A lo largo de esta divulgación, unaUnidad de acceso(AU) se define como una estructura de datos lógicos que contiene una representación codificada de información genómica o metadatos relacionados para facilitar el acceso y la manipulación del flujo de bits. Es la organización de datos más pequeña que puede decodificarse mediante un dispositivo de decodificación que implementa la invención descrita en esta divulgación.
De acuerdo con el tipo de información codificada, una AU se puede decodificar independientemente de cualquier otra AU o utilizando información contenida en otras AU.
Las AU se pueden clasificar en una multiplicidad de tipos según la naturaleza de los datos de secuencia codificados. Una Unidad de Acceso contiene una secuencia de referencia, o una parte de la misma, o lecturas codificadas o pares de lecturas que pertenecen a una única clase de datos. Una única AU no puede contener dos o más tipos de datos de secuencia. Por ejemplo, una Unidad de Acceso puede contener el cromosoma 1 completo de GRCh37, el genoma humano del Genome Reference Consortium (compilación 37). Otra Unidad de Acceso puede contener la representación codificada de nucleótidos del cromosoma 1 del GRCh37 que se encuentran entre las coordenadas 50'000 y 150'000. Otra Unidad de Acceso puede contener solo lecturas o pares de lecturas que se mapean perfectamente con la secuencia de referencia sin ninguna no coincidencia. Otra Unidad de Acceso puede contener lecturas o pares de lecturas que solo contienen símbolos "N" que no coinciden con respecto a la secuencia de referencia. Otra Unidad de Acceso puede contener lecturas o pares de lectura que contienen cualquier tipo de sustituciones (por ejemplo, una base presente en la lectura o el par de lectura es diferente de la base en la posición de mapeo correspondiente en la secuencia de referencia). Otra Unidad de Acceso puede contener lecturas o pares de lecturas que contienen no coincidencias, inserciones, eliminaciones y bases recortadas suavemente. Otra Unidad de Acceso puede contener solo lectura o pares de lectura que no se mapean en la secuencia de referencia. Otra Unidad de Acceso puede contener sólo pares de lectura en los que una lectura está mapeada y la otra no está mapeada en la secuencia de referencia. Otro tipo de Unidad de Acceso puede contener sólo segmentos codificados de un genoma de referencia compuesto por una o más secuencias de referencia (por ejemplo cromosomas).
La característica esencial de una Unidad de Acceso es que contiene en forma comprimida todos los elementos necesarios para reconstruir la información genómica (lecturas de secuencias o pares de lecturas, secuencias de referencia), información de alineamiento asociada y metadatos de lecturas o pares de lecturas que representa. En otras palabras, para reconstruir completamente las lecturas, los pares de lecturas o la secuencia de referencia y la información asociada transportada por una Unidad de Acceso, solo es necesario recuperar la Unidad de Acceso en sí y, cuando corresponda, las Unidades de Acceso que contienen la secuencia de referencia a la que hace referencia.
En cada Unidad de Acceso, los descriptores enumerados en la siguiente sección que representan la lectura codificada o los pares de lectura se agregan en bloques de datos separados (uno por tipo) para explotar sus propiedades estadísticas homogéneas para lograr una codificación entrópica de alto rendimiento.
Cada Unidad de Acceso contiene el subconjunto comprimido de descriptores que representan lecturas de secuencias o pares de lectura que pertenecen a la misma clase mapeada a una región genómica en una secuencia de referencia. Dicha región genómica en la secuencia de referencia está definida por una coordenada inicial (o posición inicial) y una coordenada final (o posición final).
En las figuras 2 y 3 se ilustra un ejemplo de Unidad de Acceso. Las Unidades de Acceso están compuestas por bloques de descriptores genómicos codificados (descritos en la siguiente sección). Para permitir el transporte a través de una red, los bloques se descomponen en paquetes. Al comprimir lecturas de secuencias genómica, cada Unidad de Acceso contiene un descriptor comprimido que representa lecturas de secuencias mapeadas a un intervalo genómico en la secuencia de referencia o lecturas de secuencias no mapeadas. Las Unidades de Acceso pueden usarse para transportar genomas de referencia o partes de los mismos. Una secuencia de referencia puede codificarse como una única secuencia larga de nucleótidos o dividirse en secuencias más cortas codificadas como lecturas de secuencias genómica no mapeadas.
En el contexto de esta divulgación se aplican las siguientes definiciones:
posición inicial de la unidad de acceso:posición del registro genómico más a la izquierda entre todos los registros genómicos contenidos en la unidad de acceso.
posición final de la unidad de acceso:posición de la base más a la derecha entre todas las bases mapeadas de todos los registros genómicos contenidos en la unidad de acceso.
rango de unidades de acceso:el rango genómico comprendido entre la posición inicial de la unidad de acceso y la posición de registro genómico más a la derecha entre todos los registros genómicos contenidos en la unidad de acceso.
tamaño de la unidad de acceso:Número de registros genómicos contenidos en una unidad de acceso.
región cubierta de la unidad de acceso:rango genómico comprendido entre la posición inicial de la Unidad de Acceso y la posición final de la Unidad de Acceso.
En el contexto de esta divulgación, una o más unidades de acceso están organizadas en una estructura llamadaconjunto de datos genómicos.Unconjunto de datos genómicoses una unidad de compresión que contiene encabezados y unidades de acceso. El conjunto de unidades de acceso que componen elconjunto de datos genómicosconstituye lacarga útil del conjunto de datos genómicos.
Una colección de uno o másconjuntos de datos genómicosse llamagrupo de conjunto de datos.
En el contexto de esta divulgación,descriptores genómicosson elementos de sintaxis que representan parte de la información (y también elementos de una estructura de sintaxis de un formato de archivo y/o un flujo de bits) necesarios para reconstruir (es decir, decodificar) secuencias de referencia codificadas, lecturas de secuencias y la información de mapeo asociada. Los descriptores genómicos divulgados en esta invención se enumeran en la Tabla 3.
De acuerdo con el método divulgado en esta invención, las secuencias de referencia o parte de las mismas, las lecturas de secuencias y la información de alineamiento asociada se codifican usando un subconjunto de los descriptores enumerados anteriormente que luego se codifican por entropía usando una multiplicidad de codificadores entrópica de acuerdo con cada una de las propiedades estadísticas específicas del descriptor. Los bloques de descriptores comprimidos con propiedades estadísticas homogéneas se estructuran en Unidades de Acceso que representan la representación codificada más pequeña de una o más secuencias genómicas que pueden manipularse mediante un dispositivo que implementa la invención descrita en esta divulgación.
Los descriptores genómicos están organizados enbloquesyflujoscomo es definido a continuación.
Unbloquese define como una unidad de datos compuesta por un encabezado y una carga útil, que está compuesta por porciones de descriptores comprimidos del mismo tipo.
Unflujo de descriptoresse define como una secuencia de bloques de descriptores codificados que se utilizan para decodificar un descriptor de una clase de datos específica.
Los dispositivos de secuenciación pueden introducir errores en las lecturas de secuencias tales como:
1. la decisión de omitir una llamada de base debido a la falta de confianza para llamar a una base específica. Esto se denomina base desconocida y se etiqueta como "N" (indicada como falta de coincidencia de "tipo n");
2. el uso de un símbolo incorrecto (es decir, que representa un ácido nucleico diferente) para representar el ácido nucleico realmente presente en la muestra secuenciada; esto se denomina usualmente "error de sustitución" (denotado como falta de coincidencia del "tipo s");
3. la inserción en una lectura de secuencia de símbolos adicionales que no se refieren a ningún ácido nucleico realmente presente; esto suele denominarse "error de inserción" (indicado como falta de coincidencia de "i tipo");
4. la eliminación de una lectura de secuencia de símbolos que representan ácidos nucleicos que están realmente presentes en la muestra secuenciada; esto suele denominarse "error de eliminación" (indicado como falta de coincidencia del "tipo d");
5. la recombinación de uno o más fragmentos en un solo fragmento que no refleja la realidad de la secuencia original; esto usualmente resulta en la decisión de los alineadores de recortar las bases (denotado como falta de coincidencia de "tipo c").
En la secuenciación del genoma el término"cobertura"se utiliza para expresar el nivel de redundancia de los datos de secuencia con respecto a una"secuencia de referencia".La cobertura promedio de los datos de secuenciación del genoma alineado es el número promedio de veces que cada base en cada posición del genoma de referencia está presente en los datos alineados. Por ejemplo, para alcanzar una cobertura de 30x en un genoma humano (3,2 mil millones de bases de largo), una máquina de secuenciación deberá producir un total de 30 x 3,2 mil millones de bases, de modo que en promedio cada posición en la referencia esté "cubierta" 30 veces.
Se dice que la cobertura es:
• parcial (menos de 1X) cuando algunas partes del genoma de referencia no están mapeadas por ninguna lectura de secuencia disponible;
• simple (1X) cuando todos los nucleótidos del genoma de referencia están mapeados por uno y solo un símbolo presente en la lectura de secuencia;
• múltiple (2X, 3X, NX) cuando cada nucleótido del genoma de referencia se mapea varias veces.
Esta invención tiene como objetivo definir un formato de representación de información genómica en donde la información relevante sea accesible y transportable de manera eficiente y se reduzca el peso de la información redundante.
Los principales aspectos innovadores de la invención divulgada son los siguientes.
1 Las lecturas de secuencias se clasifican y dividen en clases de datos según los resultados del alineamiento con respecto a las secuencias de referencia. Dicha clasificación y partición permite el acceso selectivo a datos codificados según criterios relacionados con los resultados del alineamiento y la precisión de la coincidencia.
2 Las lecturas de secuencias clasificadas y los metadatos asociados están representados por descriptores genómicos organizados en bloques con propiedades estadísticas homogéneas que permiten la definición de distintas fuentes de información caracterizadas por una baja entropía de información.
3 La posibilidad de modelar cada fuente de información separada con un modelo de fuente distinto adaptado a las características estadísticas de cada clase y la posibilidad de cambiar el modelo de fuente dentro de cada clase de lecturas y dentro de cada bloque descriptor para cada unidad de datos accesible por separado (Unidades de Acceso). La adopción de los modelos de probabilidad adaptativos de transformación, binarización y contexto apropiados y los codificadores entrópica asociados de acuerdo con las propiedades estadísticas de cada modelo fuente.
4 La definición de correspondencias y dependencias entre los bloques de descriptores para permitir el acceso selectivo a los datos de secuenciación y metadatos asociados sin la necesidad de decodificar todos los bloques de descriptores si no se requiere toda la información.
5 La codificación de cada clase de datos de secuencia y bloques de metadatos asociados con respecto a secuencias de referencia "preexistentes" (también denominadas "externas") o con respecto a secuencias de referencia "transformadas" obtenidas aplicando transformaciones apropiadas a secuencias de referencia "preexistentes" para reducir la entropía de los bloques descriptores de fuentes de información. Dichos descriptores representan las lecturas divididas en las diferentes clases de datos. Después de cualquier codificación de lecturas utilizando los descriptores correspondientes con referencia a una referencia "preexistente" o una secuencia de referencia "preexistente" "transformada", la aparición de diversas no coincidencias se puede utilizar para definir las transformaciones apropiadas a las secuencias de referencia con el fin de encontrar una representación codificada final con baja entropía y lograr una mayor eficiencia de compresión.
6 La construcción de una o más secuencias de referencia (también denominadas referencias "internas" para distinguirlas de las "preexistentes", también denominadas aquí secuencias de referencia "externas") utilizadas para codificar la clase de lecturas que presentan un grado de precisión de coincidencia con respecto a las secuencias de referencia preexistentes que no satisfacen un conjunto de restricciones. Tales restricciones se establecen con el objetivo de que los costes de codificación de representar en forma comprimida la clase de lecturas alineadas con respecto a las secuencias de referencia "internas" y el coste de representar las secuencias de referencia "internas" mismas, sean menores que codificar la clase no alineada de lecturas palabra por palabra, o utilizando las secuencias de referencia "externas" sin o con transformaciones.
7 La transmisión de los parámetros de configuración que gobiernan el proceso de codificación y decodificación por medio de estructuras de datos incrustadas en los datos genómicos comprimidos en forma de información de encabezado. Tales parámetros de configuración se pueden actualizar durante el proceso de codificación para mejorar el rendimiento de la compresión. Estas actualizaciones se transmiten en el contenido comprimido en forma de estructuras de datos de configuración actualizadas.
A continuación, se describirá con mayor detalle cada uno de los aspectos anteriores.
Clasificación de las lecturas de secuencias de acuerdo con reglas de coincidencia.
Las lecturas de secuencias generadas por las máquinas secuenciadoras se clasifican mediante la invención divulgada en seis "clases" diferentes según los resultados coincidentes del alineamiento con respecto a una o más secuencias de referencia "preexistentes".
Al alinear una secuencia de nucleótidos de ADN con respecto a una secuencia de referencia se pueden identificar los siguientes casos:
1. Se encuentra que una región en la secuencia de referencia coincide con la lectura de secuencia sin ningún error (es decir, mapeo perfecto). Se hace referencia a dicha secuencia de nucleótidos como "lectura que coincide perfectamente" o se denomina "Clase P".
2. Se encuentra que una región en la secuencia de referencia coincide con la lectura de secuencia con un tipo y una cantidad de no coincidencias determinadas solo por la cantidad de posiciones en las que la máquina secuenciadora que generó la lectura no pudo llamar a ninguna base (o nucleótido). Este tipo de no coincidencias se indican con una "N", la letra utilizada para indicar una base de nucleótidos indefinida. En esta divulgación, este tipo de no coincidencia se denomina no coincidencia de "tipo n". Estas secuencias pertenecen a lecturas de "Clase N". Una vez que la lectura se clasifica para pertenecer a la "Clase N", es útil limitar el grado de inexactitud de la coincidencia a un límite superior determinado y establecer un límite entre lo que se considera una coincidencia válida y lo que no lo es. Por lo tanto, las lecturas asignadas a la Clase N también están restringidas estableciendo un umbral (MAXN) que define el número máximo de bases indefinidas (es decir, bases denominadas "N") que puede contener una lectura. Dicha clasificación define implícitamente la precisión de coincidencia mínima requerida (o el grado máximo de no coincidencia) que comparten todas las lecturas pertenecientes a la Clase N cuando se refieren a la secuencia de referencia correspondiente, lo que constituye un criterio útil para aplicar búsquedas selectivas de datos a los datos comprimidos.
3. Se encuentra que una región en la secuencia de referencia coincide con la lectura de secuencia con tipos y número de coincidencias determinadas por el número de posiciones en las que la máquina secuenciadora que generó la lectura no pudo llamar a ninguna base de nucleótido, si estaba presente (es decir, no coicidencias "tipo n"), más el número de no coincidencias en las que se ha llamado a una base diferente a la presente en la referencia. Este tipo de no coincidencia denominado "sustitución" también se denomina Variación de Nucleótido Único (SNV) o Polimorfismo de Nucleótido Único (SNP). En esta divulgación, este tipo de no coincidencia también se denomina no coincidencia de "tipo s". Luego se hace referencia a la lectura de secuencia como "M lecturas no coincidentes" y se asigna a la "Clase M". Como en el caso de la "Clase N", también para todas las lecturas que pertenecen a la "Clase M" es útil limitar el grado de inexactitud de coincidencia a un límite superior determinado y establecer un límite entre lo que se considera una coincidencia válida y lo que no es. Por lo tanto, las lecturas asignadas a la Clase M también están restringidas definiendo un conjunto de umbrales, uno para el número "n" de no coincidencias de "tipo n" (MAXN) si están presentes, y otro para el número de sustituciones "s" (MAXS ). Una tercera restricción es un umbral definido por cualquier función de los números "n" y "s", f(n,s). Esta tercera restricción permite generar clases con un límite superior de inexactitud coincidente según cualquier criterio de acceso selectivo significativo. Por ejemplo, y no como limitación, f(n,s) puede ser (n+s)1/2 o (n+s) o cualquier expresión lineal o no lineal que establezca un límite al nivel máximo de inexactitud de coincidencia admitido para una lectura perteneciente a la "Clase M". Dicho límite constituye un criterio muy útil para aplicar las búsquedas selectivas de datos deseadas a los datos comprimidos cuando se analizan lecturas de secuencias para diversos fines porque hace posible establecer un límite adicional para cualquier combinación posible del número de no coincidencias de "tipo n" y no coincidencias "tipo s" (sustituciones) más allá del simple umbral aplicado a un tipo o al otro.
4. Una cuarta clase está constituida por lecturas de secuenciación que presentan al menos una no coincidencia de cualquier tipo entre "inserción", "eliminación" (también conocida comoindels)y "recortado", además, si está presente, cualquier tipo de no coincidencia que pertenezca a la clase N o M. Estas secuencias se denominan "lecturas no coincidentes I" y se asignan a la "Clase I". Las inserciones están constituidas por una secuencia adicional de uno o más nucleótidos no presentes en la referencia, pero sí en la lectura de secuencia. En esta divulgación, este tipo de no coincidencia se denomina no coincidencia de "tipo i". En la literatura, cuando la secuencia insertada está en los bordes de la secuencia, también se la denomina "recortada suavemente" (es decir, los nucleótidos no son coincidentes con la referencia, pero se mantienen en las lecturas alineadas, a diferencia de los nucleótidos "recortados con fuerza" que se descartan). En esta divulgación, este tipo de no coincidencia se denomina no coincidencia de "tipo c". Mantener o descartar nucleótidos es una decisión tomada por la etapa del alineador y no por el clasificador de lecturas divulgado en esta invención que recibe y procesa las lecturas a medida que son determinadas por la máquina secuenciadora o por la siguiente etapa de alineamiento. Las eliminaciones son "agujeros" (nucleótidos faltantes) en la lectura con respecto a la referencia. En esta divulgación, este tipo de no coincidencia se denomina no coincidencia de "tipo d". Como en el caso de las clases "N" y "M", es posible y apropiado definir un límite a la inexactitud de la coincidencia. La definición del conjunto de restricciones para la "Clase I" se basa en los mismos principios utilizados para la "Clase M" y se presenta en la Tabla 1 en las últimas líneas de la tabla. Además de un umbral para cada tipo de no coincidencia admisible para los datos de Clase I, se define una restricción adicional mediante un umbral determinado por cualquier función del número de no coincidencias "n", "s", "d", "i" y "c ", w(n,s,d,i,c). Dicha restricción adicional hace posible generar clases con un límite superior de inexactitud coincidente de acuerdo con cualquier criterio de acceso selectivo significativo definido por el usuario. Por ejemplo, y no como limitación, w(n,s,d,i,c) puede ser (n+s+d+i+c)1/5 o (n+s+d+i+c) o cualquier expresión lineal o no lineal que establezca un límite para la máxima inexactitud de coincidencia. nivel que se admite para una lectura perteneciente a la "Clase I". Dicho límite constituye un criterio muy útil para aplicar las búsquedas selectivas de datos deseadas a los datos comprimidos cuando se analizan lecturas de secuencias para diversos fines porque permite establecer un límite adicional para cualquier combinación posible del número de no coincidencias admisibles en lecturas de "Clase I" más allá del umbral simple aplicado a cada tipo de desajuste admisible.
5. Una quinta clase incluye todas las lecturas que no encuentran ningún mapeo considerado válido (es decir, que no satisfacen el conjunto de reglas de coincidencia que definen un límite superior para la máxima inexactitud de coincidencia como se especifica en la Tabla 1) para cada clase de datos cuando se hace referencia a la secuencia de referencia. Se dice que tales secuencias están "no mapeadas" cuando se hace referencia a las secuencias de referencia y se clasifican como pertenecientes a la "Clase U".
6. En el caso de lecturas de extremos emparejados, se define una sexta clase en la que una lectura del par no puede mapearse en ninguna posición del genoma de referencia (es decir, pertenece a la Clase U) y la otra lectura pertenece a una de las clases P, N, M, I. Dicha clase se denomina "Clase HM" de medio Mapeada.
Clasificación de pares de lectura según reglas de coincidencia.
La clasificación especificada en la sección anterior se refiere a lecturas de secuencias únicas. En el caso de tecnologías de secuenciación que generan lecturas en pares (es decir, Illumina Inc.) en las que se sabe que dos lecturas están separadas por una secuencia desconocida de longitud variable, es apropiado considerar la clasificación del par completo en una única clase de datos. Una lectura que está acoplada con otra se dice que es su "compañera".
Si ambas lecturas emparejadas pertenecen a la misma clase, la asignación a una clase del par completo es la siguiente: el par completo se asigna a la misma clase para cualquier clase (es decir, P, N, M, I, U). En el caso de que las dos lecturas pertenezcan a una clase diferente, pero ninguna de ellas pertenezca a la "Clase U", entonces el par completo se asigna a la clase con mayor prioridad definida según la siguiente expresión:
P < N < M < I
en la el que "Clase P" tiene la prioridad más baja y "Clase I" tiene la prioridad más alta.
En caso de que sólo una de las lecturas pertenezca a la "Clase U" y su compañera a cualquiera de las Clases P, N, M, I, una sexta clase se define como "Clase HM", que significa "Medio mapeada".
La definición de dicha clase específica de lecturas y las reglas de asignación asociadas están motivadas por el hecho de que dichos datos se utilizan para intentar determinar brechas o regiones desconocidas de genomas de referencia (también conocidas como regiones poco conocidas o desconocidas). Dichas regiones se reconstruyen mapeando pares en los bordes utilizando el par leído que se puede mapear en las regiones conocidas. La compañera no mapeada se utiliza luego para construir los llamados "cóntigos" de la región desconocida, como se muestra en la figura 16. Por lo tanto, proporcionar un acceso selectivo solo a ese tipo de pares de lectura reduce en gran medida la carga de cálculo asociada, lo que permite un procesamiento mucho más eficiente de dichos datos originados por grandes cantidades de conjuntos de datos que, utilizando las soluciones más modernas, requerirían ser inspeccionados por completo.
La siguiente tabla resume las reglas de coincidencia aplicadas a las lecturas para definir la clase de datos a la que pertenece cada lectura. Las reglas se definen en las primeras cinco columnas de la tabla en términos de presencia o ausencia de tipos de no coincidencias (no coincidencias de tipo n, s, d, i y c). La sexta columna proporciona reglas en términos de umbral máximo para cada tipo de no coincidencia y cualquier función f(n,s) y w(n,s,d,i,c) de los posibles tipos de no coincidencia.
Tabla 1. Tipo de no coincidencias y conjunto de restricciones que cada una de las lecturas de secuencias debe satisfacer para ser clasificada en las clases de datos definidas en la divulgación de esta invención.
Partición de reglas de coincidencia de datos de lectura de secuencia Clases N, M e I en subclases con diferentes grados de precisión de coincidencia
Las clases de datos de tipo N, M e I, tal como se definen en las secciones anteriores, se pueden descomponer en un número arbitrario de subclases distintas con diferentes grados de precisión de coincidencia. Esta opción es una ventaja técnica importante al proporcionar una granularidad más fina y, como consecuencia, un acceso selectivo mucho más eficiente a cada clase de datos. A modo de ejemplo y no como limitación, dividir la Clase N en un número k de subclases (Subclase N1, ..., Subclase Nk) es necesario definir un vector con los componentes correspondientes MAXN1, MAXN2, ..., MAXN(k-1), MAXN(k), con la condición de que MAXN1 < MAXN2 <... < MAXN(k-1) < MAXN y asigne cada lectura a la subclase clasificada más baja que satisfaga las restricciones especificadas en la Tabla 1 cuando se evalúa para cada elemento del vector. Esto se muestra en la figura 15 donde una unidad de clasificación de datos 1501 contiene codificadores de Clase P, N, M, I, U, HM y codificadores para anotaciones y metadatos. El codificador de clase N está configurado con un vector de umbrales, MAXN1 a MAXNk 1502 que genera k subclases de N datos (1506).
En el caso de las clases de tipo M e I se aplica el mismo principio definiendo un vector con las mismas propiedades para MAXM y MAXTOT respectivamente y usando cada componente del vector como umbral para verificar si las funciones f(n,s) y w( n,s,d,l,c) satisfacen la restricción. Como en el caso de las subclases de tipo N, la asignación se da a la subclase más baja para la cual se cumple la restricción. El número de subclases para cada tipo de clase es independiente y es admisible cualquier combinación de subdivisiones. Esto se muestra en la figura 15 donde un codificador Clase M 1503 y un codificador Clase I 1504 están configurados respectivamente con un vector de umbrales MAXM1 a MAXMj y MAXTOT1 a MAXTOTh. Los dos codificadores generan respectivamente j subclases de datos M (1507) yh subclases de datos I (1508).
Cuando dos lecturas de un par se clasifican en la misma subclase, entonces el par pertenece a la misma subclase.
Cuando dos lecturas de un par se clasifican en subclases de diferentes clases, entonces el par pertenece a la subclase de la clase de prioridad más alta según la siguiente expresión:
N < M < I
donde N tiene la prioridad más baja e I tiene la prioridad más alta.
Cuando dos lecturas pertenecen a diferentes subclases de una de las clases N, M o I, entonces el par pertenece a la subclase con mayor prioridad según las siguientes expresiones:
M2<... < Mj
l,< l2<... < lh
donde el índice más alto tiene la prioridad más alta.
Transformaciones de las secuencias de referencia "externas"
Las no coincidencias encontradas para las lecturas clasificadas en las clases N, M e I se pueden utilizar para crear referencias "transformadas" que se utilizarán para comprimir de manera más eficiente la representación de lectura.
Lecturas clasificadas como pertenecientes a las Clases N, M o I (con respecto a la secuencia de referencia "preexistente" (es decir, "externa") denominada RS0) se puede codificar con respecto a la secuencia de referencia "transformada" RS1 de acuerdo con la aparición de no coincidencias reales con la referencia "transformada". Por ejemplo si lecturaMin perteneciente a la Clase M (denominada como iésima lectura de clase M) que contiene no coincidencias con respecto a la secuencia de referencia RSn, luego después de "transformación" lecturaM in = lecturaPi(n+1) se puede obtener con A(Refn)=Refn+1 donde A es la transformación de la secuencia de referencia RSn a la secuencia de referencia RSn+1.
La Figura 19 muestra un ejemplo de cómo las lecturas que contienen no coincidencias (pertenecientes a la Clase M) con respecto a la secuencia de referencia 1 (RS1) se pueden transformar en lecturas perfectamente coincidentes con respecto a la secuencia de referencia 2 (RS2) obtenida de RS1 modificando las bases correspondientes a las posiciones no coincidentes. Permanecen clasificadas y se codifican junto con las otras lecturas en la misma unidad de acceso de clase de datos, pero la codificación se realiza utilizando solo los descriptores y los valores de descriptor necesarios para una lectura de Clase P Esta transformación se puede denotar como: RS2 = A(RS1)
Cuando la representación de la transformación A que genera RS2 cuando se aplica a RS1 más la representación de las lecturas versus RS2 corresponde a una entropía menor que la representación de las lecturas de clase M versus RS1, es ventajoso transmitir la representación de la transformación A y la representación correspondiente de la lectura versus RS2 porque se consigue una mayor compresión de la representación de los datos.
La codificación de la transformación A para la transmisión en el flujo de bits comprimido requiere la definición de dos elementos de sintaxis adicionales como se define en la tabla siguiente.
La Figura 18 muestra un ejemplo de cómo se aplica una transformación de referencia para reducir el número de no coincidencias que se codificarán en las lecturas mapeadas.
Hay que observar que, en algunos casos, la transformación aplicada a la referencia:
• Puede introducir no coincidencias en las representaciones de las lecturas que no estaban presentes cuando se refieren a la referencia antes de aplicar la transformación.
• Puede modificar los tipos de no coincidencias (una lectura puede contener A en lugar de G mientras que todas las demás lecturas contienen C en lugar de G), pero las no coincidencias permanecen en la misma posición.
• Diferentes clases de datos y subconjuntos de datos de cada clase de datos pueden hacer referencia a las mismas secuencias de referencia "transformadas" o a secuencias de referencia obtenidas aplicando diferentes transformaciones a la misma secuencia de referencia preexistente.
La Figura 19 muestra además un ejemplo de cómo las lecturas pueden cambiar el tipo de codificación de una clase de datos a otra mediante el conjunto apropiado de descriptores (por ejemplo, usando los descriptores de una Clase P para codificar una lectura de una Clase M) después de una transformación de referencia se aplica y la lectura se representa utilizando la referencia "transformada". Esto ocurre, por ejemplo, cuando la transformación cambia todas las bases correspondientes a los no coincidencias de una lectura en las bases realmente presentes en la lectura, transformando así virtualmente una lectura que pertenece a la Clase M (cuando se hace referencia a la secuencia de referencia original no "transformada") en una lectura virtual de Clase P (cuando se hace referencia a la referencia "transformada"). La definición del conjunto de descriptores utilizados para cada clase de datos se proporciona en las siguientes secciones.
La Figura 19 muestra cómo las diferentes clases de datos pueden utilizar la misma referencia "transformada" R1 = Aq(Rq) (1900) para volver a codificar las lecturas o diferentes transformaciones An (1901), Am (1902), A, (1903) se pueden aplicar por separado a cada clase de datos para producir diferentes genomas de referencia R<n>, R<m>, R<i>
Encabezado del conjunto de datos genómicos
Una vez que se completa la clasificación de las lecturas con la definición de las Clases, el procesamiento adicional consiste en definir un conjunto de elementos de sintaxis distintos que representan la información restante que permite la reconstrucción de la secuencia de lectura cuando se representa como mapeada en una secuencia de referencia dada. La estructura de datos de estos elementos de sintaxis requiere el almacenamiento de parámetros y metadatos globales para ser utilizados por el motor de decodificación. Estos datos están estructurados en unEncabezado del conjunto de datos genómicosdescrito en la siguiente tabla. Un conjunto de datos se define como el conjunto de elementos de codificación necesarios para reconstruir la información genómica relacionada con una única secuenciación genómica y todos los análisis siguientes. Si la misma muestra genómica se secuencia dos veces en dos ejecuciones distintas, los datos obtenidos se codificarán en dos conjuntos de datos distintos.
Tabla 2. Encabezado del conjunto de datos genómicos.
Descriptores genómicos
Una lectura de secuencia (es decir, un segmento de ADN) referida a una secuencia de referencia dada puede expresarse completamente opcionalmente usando un subconjunto formado por varias combinaciones de los siguientes descriptores:
Tabla 3. Descriptores genómicos y su significado.
Para la clase U, el descriptorclipsidentifica aquellas partes de las lecturas (normalmente los bordes) que no coinciden, con un conjunto específico de restricciones de precisión coincidentes, con las referencias "internas". El descriptorureadsse utiliza para codificar palabra por palabra las lecturas que no se pueden mapear en ninguna referencia disponible, ya sea una secuencia de referencia preexistente (es decir, "externa" como un genoma de referencia real) o una secuencia de referencia "interna".
Esta clasificación crea grupos de descriptores (elementos de sintaxis) que pueden usarse para representar unívocamente lecturas de secuencias del genoma. La siguiente tabla resume los elementos de sintaxis necesarios para cada clase de lecturas alineadas con referencias "externas" (es decir, "preexistentes") o "internas" (es decir, "construidas"). El asterisco "*" indica descriptores obligatorios siempre presentes en todas las lecturas codificadas para cada clase.
Tabla 4. Descriptores genómicos necesarios para representar cada clase de datos.
Las lecturas que pertenecen a la clase P se caracterizan y pueden reconstruirse perfectamente únicamente con una posición, una información de complemento inverso y una compensación entre parejas en caso de que se hayan obtenido mediante una tecnología de secuenciación que produzca pares apareadas, algunos indicadores y una longitud de lectura. La siguiente sección detalla además cómo se definen estos descriptores para las clases P, N, M e I, mientras que para la clase U se describen en la siguiente sección.
La clase HM se aplica solo a pares de lectura y es un caso especial en donde una lectura pertenece a la clase P, N, M o I y la otra a la clase U.
descrip tor pos
El descriptor pos se utiliza para calcular la posición de mapeo absoluta en una Secuencia de Referencia de la base mapeada más a la izquierda de un Registro Genómico. El valor de cada descriptor pos representa la diferencia entre las coordenadas, en la Secuencia de Referencia, de la base de mapeo más a la izquierda de un Registro Genómico y la anterior. La figura 4 muestra un ejemplo de cálculo del descriptor pos de un par de lectura mapeada.
El primer valor del descriptor pos en cada bloque codificado es siempre 0 ya que no es posible ninguna codificación diferencial para la primera lectura mapeada o par de lectura codificado en una Unidad de Acceso. La posición absoluta de la primera lectura mapeada o par de lectura codificada en una Unidad de Acceso está contenida en el Encabezado de la Unidad de Acceso.
Por lo tanto, la posición absoluta en la Secuencia de Referencia de la base mapeada más a la izquierda del nésimo Registro Genómico se calcula como:
dóndepoes el valor de mapeo recuperado del encabezado de la Unidad de Acceso para el primer Registro Genómico en la Unidad de Acceso.
Para calcular la posición absoluta en una Secuencia de Referencia de una base se aplica la siguiente fórmula:
dónde
• p es la posición absoluta en la Secuencia de Referencia de la base
• pstart es la posición de mapeo del Registro Genómico que cubre la base
• nins es el número de bases insertadas que preceden a la base en el mismo Registro Genómico
• ndel es el número de bases eliminadas que preceden a la base en el mismo Registro Genómico
• dstart es la compensación de la base en el Registro Genómico desde la Posición del Registro Genómico
• delta es la distancia de emparejamiento (con signo) entre dos lecturas en un par de lecturas. Esto debe usarse solo para posiciones en la segunda lectura del Registro Genómico.
NOTAEn el caso de lecturas finales emparejadas, al calcular la compensación dstart desde la Posición del Registro Genómico, las dos lecturas se consideran contiguas. La posición relativa de las lecturas se tiene en cuenta al sumardelta.
En la figura 5 se muestra un ejemplo de cálculo de la posición de mapeo p para una base en una Secuencia de Referencia.
descrip tor rcomp
El descriptor rcomp transmite información sobre elencadenamientode lecturas. Cada bit de un descriptor rcomp decodificado es un indicador que indica si la lectura se realiza en la cadena directa (bit establecido en 0) o inversa (bit establecido en 1). La Figura 6 muestra los valores y la semántica del descriptor rcomp para lecturas finales emparejadas. En la figura, r1 es lectura 1 y r2 es lectura 2. De acuerdo con la posición del mapeo de cada lectura, el descriptor rcomp puede tener cuatro valores diferentes.
Tabla 5. Valores y significado del descriptor rcomp.
descriptor indicadores
El descriptor indicador es un conjunto de indicadores como se describe en la Tabla 6.
Tabla 6. Semántica para cada bit del descriptor indicador.
mmpos
El descriptormmposrepresenta la posición, dentro de una lectura o pares de lectura, de una no coincidencia con respecto a la secuencia de referencia. La posición se representa como una distancia desde la posición de la no coincidencia anterior en el Registro Genómico. La posición de la primera no coincidencia se representa como la distancia desde la base mapeada más a la izquierda en el Registro Genómico.
En el caso de lecturas emparejadas, o en registros generales que contienen más de un segmento genómico, las brechas entre segmentos consecutivos no se consideran en el cálculo de distancias entre no coincidencias consecutivas.
Si el par codificado contiene lectura 1 y lectura 2, las posiciones de no coincidencias en la lectura 2 se compensan con la longitud de la lectura 1. Por ejemplo, en el caso de lecturas con longitud constante igual a 100, si la primera no coincidencia en el par está en la lectura 2 en la posición 44, el primer descriptormmposdecodificado para este Registro Genómico asume el valor 144.
Si al par descrito le falta la lectura 1 (ya sea porque está codificada en otro bloque o porque la lectura 2 no está emparejada), las posiciones no coincidentes no se compensan con la longitud de la lectura 1. Por ejemplo, en el caso de una longitud de lectura fija de 100, si la primera mutación en la lectura 2 está en la posición 44, pero la lectura 2 no está emparejada, el primer descriptormmposdecodificado para este Registro Genómico asume el valor 44. Cada descriptormmposestá asociado a un descriptormmtypeque representa el tipo de no coincidencia que ocurre en la lectura decodificada o en el par de lectura en la posición calculada utilizandommpos.En la figura 7 se proporciona un ejemplo de cómo calcular posiciones no coincidentes en un par de lectura, dondelenies la longitud de read1.
La posición absoluta en una Secuencia de Rreferencia de la iésima no coincidencia en un Registro Genómico se calculará como se muestra en la Tabla 7.
Tabla 7. Cómo calcular la posición absoluta de los no coincidencias en un Registro Genómico.
En la Tabla 7 se definen las siguientes variables:
• mmabsi es la posición absoluta en la Secuencia de Referencia de la iésima no coincidencia en la lectura o par de lecturas
• mmposi es el iésimo valor del descriptormmposen el Registro Genómico
• len1 es la longitud de la lectura 1 en un par de lecturas
• delta es la distancia de emparejamiento entre la lectura 1 y la lectura 2 calculada según lo definido para el descriptorpary se muestra en la figura 5
Secuencias de descriptoresmmposque hacen referencia a un Registro Genómico son terminadas con un valor de terminación reservado que no puede interpretarse como una posición no coincidente.
mmtype
El descriptormmtypeespecifica el tipo de no coincidencia que ocurre en la lectura decodificada en la posición calculada usando el descriptormmposasociado.
El descriptor mmtype no tiene un valor reservado para el terminador ya que cada Registro Genómico contendrá el mismo número de descriptoresmmtypeymmpos.
La Tabla 8 enumera los valores y la semántica correspondiente del descriptormmtypede acuerdo con el alfabeto utilizado.
Tabla 8. Valores del descriptor mmtype y semántica de acuerdo con el alfabeto utilizado clips
El descriptorclipsse utiliza para representar bases recortadas (también conocidas como clips blandos o duros) en lecturas mapeadas o pares de lecturas. Este descriptor codifica clips suaves como secuencias de caracteres ASCII con elementos adicionales para identificar la posición de las bases recortadas en la lectura o el par de lectura. En el caso de clips duros sólo se codifica la posición y el número de bases recortadas. Cada descriptor contiene un identificador de Registro Genómico seguido de información relacionada con la posición de las bases recortadas en el Registro Genómico y las bases recortadas reales en el caso de clips blandos.
La sintaxis y semántica del descriptorclipsse proporciona en la Tabla 9 y la Tabla 10.
Tabla 9. Campos que componen el descriptor clips.
Tabla 10. Sintaxis del descriptor clips.
id_recordes un contador de Registros Genómicos codificados en la Unidad de Acceso actual.
clips_posrepresenta la posición de las siguientes bases recortadas en la lectura o el par de lectura. Los valores de las posiciones tienen el siguiente significado:
soft_clipped_basees uno de los símbolos del alfabeto identificado poralphabet_id.
hard_clipped_basesrepresentan el número de bases recortadas en la posición indicada por el correspondienteclips_pos;
ureads
El descriptorureadsrepresenta una lectura de secuencia textual como una secuencia de caracteres ASCII que pertenecen al alfabeto utilizado actualmente identificado porid_alfabeto.
rlen
El descriptorrlense utiliza sólo en el caso de lecturas de longitud variable cuandoreads_length= 0 en el conjunto de parámetros definido en esta divulgación.
un descriptorrlendecodificado representa la longitud de la secuencia actual leída como número de bases, incluidos los clips suaves.
pair
La información necesaria para reconstruir lecturas emparejadas se codifica utilizando el descriptorpair. La información de emparejamiento que asocia un segmento genómico con otro se puede expresar de tres maneras:
1. Si ambas lecturas están mapeadas en la misma referencia y codificadas en el mismo registro genómico, la distancia de emparejamiento se define como la distancia entre la base mapeada más a la izquierda de Read1 y la base mapeada más a la izquierda de Read2. En la figura 8 se muestra un ejemplo de distancia de emparejamiento.
2. como una posición de mapeo absoluta de la segunda lectura en la misma secuencia de referencia que la primera lectura.
3. como una posición de mapeo absoluta de la segunda lectura en una secuencia de referencia diferente a la de la primera lectura
La información de emparejamiento se codifica como se describe en los puntos 2 y 3 anteriores cuando los dos primeros bytes de un descriptor pair decodificado tienen uno de los valores enumerados en La Tabla 11.
La Figura 8 muestra cómo se define la Longitud del Registro Genómico como el número de posiciones genómicas en una secuencia de referencia que separa la base mapeada más a la izquierda de la base mapeada más a la derecha de una lectura o un par de lecturas. En el caso de pares de lectura, este es el número de posición genómica en la secuencia de referencia que separa la base más a la izquierda de la lectura 1 de la base más a la derecha de su lectura 2 compañera cuando ambas lecturas están mapeadas en la misma secuencia de referencia. La "Distancia de emparejamiento" se define como la diferencia entre la posición más a la izquierda de Read1 y la posición más a la izquierda de Read2. La "Distancia de emparejamiento" se representa como un valor entero con signo del descriptor de par.
Al alinear lecturas con una secuencia de referencia, la lectura 2 se puede mapear a una posición que sea más pequeña (por ejemplo, a la izquierda) que la posición de mapeo de la lectura 1; en este caso, la distancia de emparejamiento utilizada en el caso 1 anterior será negativa. Esto implica que la información sobre elencadenamiento delecturas está codificado en el signo del descriptor de distancia de emparejamiento.
Tabla 11. Valores reservados para los descriptores de distancia de lectura que indican cómo se codificó el par de lectura
Distancia de lecturas
La distancia de lectura se codifica como un entero con signo de 2 bytes, donde:
• el LSB se utiliza para representar el signo (si el bit de signo es 0, el número no es negativo, si el bit de signo es 1, entonces el número es negativo), y
• los 15 bits restantes se utilizan para representar el valor absoluto de la distancia de emparejamiento. Este enfoque permite representar distancias de emparejamiento en un rango de -32766 a 32766. En caso de que las lecturas estén separadas por un espacio mayor, la posición absoluta se codificará en el descriptor del par después del valor especial 0x7ffd o 0x8003 como se define en la Tabla 11 y las dos lecturas se codificarán en dos registros genómicos separados (es decir, el par está "dividido").
Proceso de decodificación para distancia de lecturas
El proceso de decodificación de la distancia de lecturas se muestra a continuación:
mscore
El descriptormscoreproporciona una puntuación por alineamiento. Se utilizará para representar la puntuación de mapeo/alineamiento por lectura generada por alineadores de lecturas de secuencias genómica.
La puntuación se expresará mediante exponente y parte fraccionaria. El número de bits utilizados para representar el exponente y la parte fraccionaria se especifican en los parámetros de codificación (véase Conjunto de parámetros a continuación). La Tabla 12 muestra cómo se especifica esto en IEEE RFC 754 para un exponente de 11 bits y una parte fraccionaria de 52 bits.
La puntuación de cada alineamiento estará representada por:
• Un bit de signo (S)
• 11 bits para el exponente (E)
• 53 bits para la mantisa (M)
Tabla 12. Las puntuaciones de alineamiento se expresan como punto flotante de doble precisión de 64 bits.
valores
Si la base (radix) que se utilizará para el cálculo de las puntuaciones es 10, la puntuación se calcula como: puntuación = -1s x 10E *M
rgroup
El descriptorrgroupidentifica el grupo de lectura al que pertenece el registro genómico. Es un entero de 8 bits sin signo con valores que van de 0 anúm_grupos- 1. La presencia de grupos de lectura en una Unidad de Acceso se señala mediantenúm_grupos> 0 en el Conjunto de Parámetros como se define en el Conjunto de Parámetros definido a continuación.
msar
El descriptormsar(Registro de Alineamiento de Múltiples Segmentos) admite lecturas empalmadas y alineamientos secundarias alternativas que contienen indels o clips suaves.
msartiene como objetivo transmitir información sobre:
• una longitud de segmento mapeada
• una contigüidad de mapeo diferente (es decir, cadena CIGAR) para un alineamiento secundaria y/o lectura empalmada
msarcan se utiliza para representar no coincidencias, inserciones, eliminaciones,encadenamientoy bases recortadas de alineamientos secundarias de una lectura alineada.
Múltiples alineamientos
Los siguientes descriptores están definidos para admitir múltiples alineamientos.
mmap
El descriptormmapse utiliza para señalar en cuántas posiciones se ha alineado la lectura o la lectura más a la izquierda de un par. Un Registro Genómico que contiene múltiples alineamientos está asociado con un descriptormmapmultibyte. Los primeros dos bytes de un descriptormmaprepresenta un entero sin signo N que se refiere a la lectura como un solo segmento (sispliced_read_flag= 0 como se define en esta divulgación) o en su lugar a todos los segmentos en los que se ha empalmado la lectura para las varias alineamientos posibles (sispliced_reads_flag= 1). El valor de N representa el número de valores del descriptorposque están codificados para la plantilla en el registro actual. N va seguido de uno o más enteros sin signo de 8 bits Mi como se describe en esta divulgación.Encadenamiento de alineamientos múltiples
En caso de alineamientos múltiples, el descriptorrcompdefinido en esta divulgación se usa para especificar elencadenamientode cada alineamiento de lectura usando la misma sintaxis especificada anteriormente.
Puntuaciones de alineamientos múltiples
En caso de alineamientos múltiples, unmscorecomo se define en esta divulgación se asigna a cada alineamiento.
Múltiples alineamientos sin empalmes
Si no hay empalmes presentes en la Unidad de Acceso,spliced_reads_flagno está configurado.
En la secuenciación de extremos pares, el descriptormmapestá compuesto por un entero N de 16 bits sin signo seguido de uno o más enteros Mi de 8 bits sin signo donde i asume valores desde 1 hasta el número de alineamientos de lectura completas (aquí, las más a la izquierda). Para cada alineamiento de primera lectura, empalmada o no, Mi se utiliza para señalar cuántos segmentos se utilizan para alinear la segunda lectura (en este caso, sin empalmes, esto es igual al número de alineamientos), y luego cuántos valores del decriptorpairestá codificado para ese alineamiento de la primera lectura.
Los valores de Mi se utilizará para calcular
que indica el número de alineamientos de la segunda lectura.
Un valor especial de Mi(Mi= 0) indica que el iésimo alineamiento de la lectura más a la izquierda está emparejada con un alineamiento de la lectura más a la derecha que ya está emparejada con un késimo alineamiento de la lectura más a la izquierda con k < i (entonces no haynuevoalineamiento detectado, que es consistente con la ecuación anterior). A modo de ejemplo, en los casos más simples:
1. Si hay un único alineamiento para la lectura más a la izquierda y dos alineamientos alternativos para la lectura más a la derecha, N asume el valor 1 y M1 asume el valor 2.
2. Si se detectan dos alineamientos alternativos para la lectura más a la izquierda pero solo uno para la lectura más a la derecha, N asume el valor 2, M1 asume el valor 1 y M2 asume el valor 0.
cuando Mi es 0 , el valor asociado depairse enlazará a un alineamiento de segunda lectura existente; de lo contrario, se generará un error de sintaxis y el alineamiento se considerará roto.
Ejemplo:si la primera lectura tiene dos posiciones de mapeo y la segunda lectura solo una, N es 2, M1 es 1 y M2 es 0 como se dijo antes. Si a esto le sigue otro mapeo secundario alternativo para toda la plantilla, N asume el valor 3 y M3 asume el valor 1.
La Figura 9 ilustra el significado de N, P y Mi en caso de alineamientos múltiples sin empalmes y la Figura 10 muestra cómo los descriptorespos, pairymmapse utilizan para codificar la información de múltiples alineamientos.
Con respecto a 10 se aplica lo siguiente:
• La lectura más a la derecha tiene alineamientos
• Algunos valores deMipueden ser = 0 cuando iésimo alineamiento de la lectura más a la izquierda está emparejada con un alineamiento de la lectura más a la derecha que ya está emparejada con un késimo alineamiento de la lectura más a la izquierda con k <i
• Puede estar presente un valor reservado del descriptor pair para señalar alineamientos que pertenecen a otros rangos de AU. Si está presente, siempre es el primer par de descriptores del registro actual.
Múltiples alineamientos con empalmes
Si el conjunto de datos está codificado con lecturas empalmadas, el descriptormsarpermite la representación de la longitud y elencadenamientode los empalmes como se define en esta divulgación.
Después de haber decodificado los descriptoresmmapy elmsar, el decodificador sabe cuántas lecturas o pares de lecturas se han codificado para representar las múltiples asignaciones y cuántos segmentos componen cada lectura o asignación de pares de lecturas. Esto se muestra en la figura 11 y la figura 12.
Con referencia a la figura 11 se aplica lo siguiente:
• La lectura más a la izquierda tiene N1 alineamientos con N empalmes (N1 <N).
• N representa el número de empalmes presentes en todas los alineamientos de la lectura más a la izquierda y está codificado como el primer valor del descriptormmap.
• La lectura más a la derecha tiene empalmes, donde Mi es el número de empalmes de la lectura mása la derecha que están asociados en un par con el iésimo alineamiento de la lectura más a la izquierda (1 < i < N1). En otras palabras, P representa el número de empalmes de la lectura más a la derecha y se calcula utilizando los N valores que siguen al primer valor del descriptormmap. •
• N1 y N2 representan el número de alineamientos de la primera y segunda lectura y se calculan utilizando los valores N+P del descriptormsar.
Con referencia a la figura 12 se aplica lo siguiente:
• El más a la izquierda tiene N1 alineamientos con N empalmes (N1 <N). Si N1 = N AND N2 = P no habrá empalmes presentes.
p _ y^1
• La lectura más a la derecha tiene Zjl=1m í
empalmes tj 1 < j < P y N2 (N2 < P) alineamientos.
• El número de descriptorespairse pueden calcular como NP = Max(N1, P) M0 dónde
o M0 es el numero de Mi con valor 0
o NP debe incrementarse en 1 en caso de que un descriptor pair especial indique la presencia de alineamientos en otras AU.
Puntuación de alineamiento
El descriptormscorepermite señalar la puntuación de mapeo de un alineamiento. En secuenciación de un solo extremo tendrá N1 valores por plantilla; en la secuenciación de extremos emparejados tendrá un valor para cada alineamiento de la plantilla completa (el número de alineamientos diferentes de la primera lectura, posiblemente el número de alineamientos adicionales de la segunda lectura, es decir, cuando Mi -1 > 0).
Número de puntuaciones = MAX (N1, N2) M0
donde M0 representar el número total de Mi = 0.
El número de puntuaciones asociadas a cada alineamiento está indicado por el parámetro de codificaciónas_depthtal como se define en esta divulgación.
Descriptores para alineamientos múltiples sin empalmes
Tabla 13. Cómo calcular la cantidad de descriptores necesarios para representar múltiples alineamientos en un Registro Genómico en caso de múltiples alineamientos sin empalmes.
Descriptores para múltiples alineamientos con empalmes
La Tabla 14 muestra cómo calcular el número de descriptores necesarios para representar múltiples alineamientos en un Registro Genómico en caso de múltiples alineamientos con empalmes.
Tabla 14. Descriptores utilizados para representar múltiples alineamientos y puntuaciones asociadas.
Múltiples alineamientos en diferentes secuencias
Puede suceder que el proceso de alineamiento encuentre mapeos alternativos a otra secuencia de referencia distinta a aquella donde está ubicado el mapeo primario.
Para pares de lectura que están alineadAs de forma única, un descriptorpairse utilizará para representar las posiciones de lectura absolutas cuando haya, por ejemplo, un alineamiento quimérico con la pareja en otro cromosoma. El descriptorpairse utilizará para señalar la referencia y la posición del siguiente registro que contenga alineamientos adicionales para la misma plantilla. El último registro (por ejemplo, el tercero si las asignaciones alternativas están codificadas en tres AU diferentes) contendrá la referencia y la posición del primer registro.
En caso de que uno o más alineamientos para la lectura más a la izquierda en un par estén presentes en una secuencia de referencia diferente a la relacionada con la AU actualmente codificada, se usará un valor reservado del descriptorpair(no es el mismo que el utilizado para los alineamientos presentes con otra referencia en caso de un alineamiento único). El valor reservado irá seguido del identificador de secuencia de referencia y la posición del alineamiento más a la izquierda entre todas las contenidas en la siguiente AU (es decir, el primer valor decodificado del descriptorposiciónde ese registro).
Múltiples alineamientos con inserciones, eliminaciones y porciones no mapeadas
Cuando un mapeo secundario alternativo no preserva la contigüidad de la región de referencia donde está alineada la secuencia, puede ser imposible reconstruir el mapeo exacto generado por el alineador porque la secuencia real (y luego los descriptores relacionados con no coincidencias como sustituciones o indels) solo está codificado para el alineamiento primario. El descriptormsarse utilizará para representar cómo se asignan los alineamientos secundarios en la secuencia de referencia en caso de que contengan indels y/o clips suaves. Simsarestá representado por el símbolo especial "*" para un alineamiento secundario, el decodificador reconstruirá el alineamiento secundario a partir del alineamiento primario y la posición de mapeo del alineamiento secundario.
Datos sin procesar
Las lecturas sin procesar pertenecen únicamente a la clase U. Están codificados como lecturas no mapeadas en conjuntos de datos alineados. Algunos de los descriptores definidos para lecturas alineadas con una referencia externa o interna se utilizan para codificar lecturas sin procesar. Esto está motivado por el hecho de que las lecturas sin procesar se codifican utilizando secuencias de referencia creadas a partir de los datos que se van a codificar.
unreads
El descriptorunreadsrepresenta una secuencia textual leída como una secuencia de caracteres ASCII que pertenecen al alfabeto utilizado actualmente.
rtype
El descriptorrtypese utiliza para señalar el subconjunto de descriptores utilizados para codificar una lectura no mapeada o un par de lecturas en un registro genómico, como se muestra en la Tabla 15.
El descriptorrtypetambién permite mezclar compresión basada en referencias y sin referencias en el mismo conjunto de datos. En este escenariortype= 0 indica registros codificados basados en referencias, mientras quertype> 0 indica el conjunto de descriptores que se utilizarán para la compresión sin referencia (en este caso, los descriptores se refieren a la referencia calculada, cuando sea necesario).
Tabla 15. Semántica del descriptor rtype.
Binarización de descriptores
En una realización, la presente invención utiliza codificación aritmética binaria adaptativa al contexto (CABAC) para la compresión de los descriptores genómicos. CABAC primero convierte a una representación binaria todos los símbolos que se van a codificar. El proceso de binarización convierte un símbolo con valor no binario (por ejemplo, una posición de mapeo, una longitud de lectura mapeada o un tipo de no coincidencia) en un código binario antes de la codificación aritmética.
La selección de binarizaciones apropiadas adaptadas a las propiedades estadísticas de cada descriptor proporciona mejores relaciones de compresión que los formatos existentes basados en compresores de propósito general aplicados sobre bloques de elementos heterogéneos.
En los siguientes apartados se definen estas variables:
•symVal:valor no binario del descriptor genómico que se va a binarizar.
•cLength:representa el número de bits con los que se binariza el valor.
•cMax:es el valor más grande posible para binarizar. Los valores mayores se truncarán.
Si bien las siguientes tablas de binarización se calculan para valores fijos de estas variables, debe tenerse en cuenta que los presentes principios no se limitan a estos valores y, por lo tanto, también se pueden usar otros valores de acuerdo con los presentes principios.
Cada algoritmo de binarización utilizado en esta divulgación se identifica mediante un identificador como se muestra en la Tabla 16.
Tabla 16. Tipo de binarizaciones y respectivos identificadores.
Codificación binaria (BI)
Esta es una representación binaria estándar mediante la cual cada valor numérico se codifica en su representación binaria. La variable cLength - que se muestra en la Tabla 28 cuando binarization_id = 0 - representa el número de bits con los que se representará el valor.
Binarización unaria truncada (TU)
Una cadena binaria TU es la concatenación desymValunos seguidos de un cero. SisymVal==cMax,el bit 0 final se descarta. La Tabla 17 ilustra las cadenas bin de esta binarización unaria truncada concMax= 3.
Tabla 17. Cadena bin de la binarización unaria truncada con cMax==3.
La sintaxis de este proceso de binarización junto con la decodificación aritmética se describe a continuación.
binValue es el valor binario que puede ser 0 o 1.
Binarización exponencial de Golomb (EG)
El proceso de análisis de descriptores genómicos binarizados utilizando esta técnica comienza con la lectura de los bits que comienzan en la ubicación actual en el flujo de bits hasta el primer bit distinto de cero inclusive, y contando el número de bits iniciales que son iguales a 0.
Este proceso se especifica de la siguiente manera:
La variablesymValse asigna luego de la siguiente manera:
donde la llamada a la función read_bits lee una cantidad de bits de un medio de almacenamiento igual al parámetro pasado como entrada. El valor devuelto por read_bits (leadingZeroBits) se interpreta como una representación binaria de un entero sin signo con el bit más significativo escrito primero.
La Tabla 18 ilustra la estructura del código Exp-Golomb separando la cadena de bits en bits de "prefijo" y "sufijo". Los bits de "prefijo" son aquellos bits que se analizan como se especifica anteriormente para el cálculo de los LeadingZeroBits y se muestran como 0 o 1 en la columna de cadena de bits de la Tabla 18. Los bits "sufijo" son aquellos bits que se analizan en el cálculo de symVal y se muestran como xi en la Tabla 18, con i en el rango de 0 a los leadingZeroBits -1 , inclusive. cada xi es igual a 0 o 1.
Tabla 18. Representaciones binarias para valores de symVal de 0 a 62.
La Tabla 19 ilustra las asignaciones explícitas de cadenas de bits a valores symVal.
Tabla 19. Cadenas de bits Exp-Golomb y symVal en forma explícita.
Dependiendo del descriptor genómico, el valor de un elemento de sintaxis binarizado se decodifica utilizando uno de los siguientes métodos:
• El valor del descriptor genómico decodificado es igual alsymValcorrespondiente al descriptor binarizado
• El valor del descriptor genómico decodificado se calcula aplicando la decodificación Exponential-Golomb de orden 0 con signo como se define, por ejemplo, en https://en.wikipedia.org/wiki/Exponential-Golomb coding convalor simbólicocomo entrada.
Binarización exponencial de Golomb (SEG) firmada
De acuerdo con este método de binarización el descriptor genómico se asocia alsymValordenando el elemento de sintaxis por su valor absoluto en orden creciente y representando el valor positivo para un valor absoluto dado con el menorsymVal.La Tabla 20 muestra la regla de asignación.
Tabla 20. Asignación de elemento de sintaxis a symVal para descriptores genómicos codificados por Exp-Golomb firmados.
Binarización de Golomb exponencial truncada (TEG)
Este proceso de binarización requiere el uso de un parámetro de entrada adicional.tegParamque define cómo se calcula la binarización.
El resultado de este proceso es la binarización TEG del elemento de sintaxis.
Una cadena bin TEG es la concatenación de 1 (en el caso de symVal == 0) o 2 (en el caso de symVal > 0) tipos de binarización:
• La binarización unaria truncada con cMax = tegParam para el valor Min(symVal, tegParam)
• Si symVal !=0, la binarización exponencial de Golomb para el valor
Abs(symVal) - tegParam
La Tabla 21 ilustra las cadenas bin de esta binarización exponencial truncada de Golomb con tegParam ==2.
Tabla 21. Cadena bin de la binarización exponencial truncada de Golomb con tegParam=2.
Binarización de Golomb exponencial truncado (STEG) con signo
Este proceso de binarización requiere el uso de un parámetro de entrada adicional.stegParam.
Una cadena binaria STEG es la concatenación de 1 (en el caso de symVal == 0) o 2 (para otros casos) binarizaciones: 1. La binarización exponencial golomb truncada para Abs(symVal)
2. Si symVal!=0, un indicador de un bit igual a 1 (si symVal<0) o igual a 0 (si symVal>0).
La Tabla 22 ilustra las cadenas bin de esta binarización de Golomb exponencial truncada con signo con stegParam = 2.
Tabla 22. Cadena binaria de la binarización de Golomb exponencial truncada con signo con stegParam = 2.
Binarización unaria truncada p o r unidades divididas (SUTU)
Este proceso de binarización requiere el uso de dos parámetros de entrada.tamaño de unidad divididaysalidaSymSize. salidaSymSizesiempre debe ser múltiplo detamaño de unidad dividida.
La cadena binaria SUTU es una concatenación de binarizaciones TU repetidas, donde cada binarización TU se aplica a porciones devalor simbólicocuales sontamaño de unidad divididabits de largo. En otras palabras,valor simbólicoestá representado por X Cadena binaria obtenida con la binarización TU, donde x = outputSymSize/splitUnitSize. El parámetro cMax para cada cadena binaria se define como cMax =
(1<<splitUnitSize) -1.
La Tabla 23 ilustra las cadenas binarias de binarizaciones unarias truncadas por unidades divididas con splitUnitSize = 2 y outputSymbSize = 8.
Tabla 23. Cadena bin de la binarización unaria truncada por unidades divididas con splitUnitSize = 2, outputSymSize = 8.
La sintaxis de flujo de bits para este proceso de binarización se describe a continuación.
Tabla 24. Proceso de decodificación CABAC para binarización TU.
Binarización unaria truncada p o r unidad dividida firmada (SSUTU)
Este proceso de binarización requiere el uso de dos parámetros de entradaspIitUnitSize y outputSymSize.
La cadena binaria SSUTU se obtiene mediante una extensión del proceso de binarización SUTU con el signo desymValcodificado como un indicador separado.
• La binarización SUTU para el valor Abs(symVal).
• Si symVal !=0, un indicador de un bit igual a 1 (si symVal<0) o igual a 0 (si symVal>0).
La Tabla 25 ilustra las cadenas binarias de la binarización unaria truncada por unidad dividida firmada con splitUnitSize = 2, outputSymbSize = 8.
Tabla 25 Cadena Bin de la binarización unaria truncada por unidades divididas firmadas con splitUnitSize = 2, outputSymSize = 8.
La sintaxis de este proceso de binarización se describe a continuación.
sign_flag representa la decodificación cabac de un bit en la variable de contexto identificada por ctxIdx. decode_cabac_SUTU() representa el proceso de decodificación cabac para la binarización SUTU.
Binarización unaria doble truncada (DTU)
Este proceso de binarización requiere el uso de dos parámetros de entrada.spIitUnitSize y outputSymSize
La cadena binaria DTU es una concatenación de dos binarizaciones, a saber, la binarización TU y la binarización SUTU. El parámetrocMaxse usa para la binarización TU, y los parámetros splitUnitSize y outputSymSize se usan para la binarización SUTU (donde sucMaxse deriva internamente).
• La primera instancia de la binarización TU para el valor Min(Abs(symVal), cMax).
• Si Abs(symVal) > cMax, la segunda instancia de binarización SUTU para el valor Abs(symVal) - cMax.
La Tabla 26 ilustra las cadenas binarias de la binarización unaria truncada doble con cMax = 1, splitUnitSize = 2, outputSymSize = 8.
Tabla 26 Cadena de bin de la binarización unaria truncada doble con cMax = 1, splitUnitSize = 2, outputSymSize = 8.
El proceso de binarización se describe a continuación.
decode_cabac_TU() representa el proceso de decodificación cabac para la binarización TU. decode_cabac_SUTU() representa el proceso de decodificación cabac para la binarización SUTU.
Binarización unaria truncada doble firmada (SDTU)
Este proceso de binarización requiere el uso de dos parámetros de entrada adicionales.spIitUnitSize y outputSymSize..
La cadena binaria SDTU se obtiene mediante una extensión del proceso de binarización DTU con el signo desymValcodificado como un indicador.
• La binarización de DTU para el valor Abs(symVal).
• Si symVal !=0, un indicador de un bit igual a 1 (si symVal<0) o igual a 0 (si symVal>0).
La Tabla 27 ilustra las cadenas bin de binarización unaria truncada doble con cMax = 1, splitUnitSize = 2, outputSymSize = 8.
Tabla 27 Cadena bin de la binarización unaria truncada doble firmada con cMax = 1, spIitUnitSize = 2, outputSymSize = 8.
La sintaxis de este proceso de binarización se describe a continuación.
sign_flag representa la decodificación cabac de un bit en la variable de contexto identificada por ctxIdx. decode_cabac_DTU() representa la decodificación cabac con binarización DTU.
Parámetros de binarización
Cada algoritmo de binarización introducido en las secciones anteriores requiere parámetros de configuración en los extremos de codificación y decodificación. En una realización, dichos parámetros de configuración están encapsulados en una estructura de datos descrita en la Tabla 28. Cada algoritmo de binarización se identifica mediante un identificador como se enumera en la Tabla 16.
Tabla 28. Estructura de parámetros de binarización
En la Tabla 28 se aplica la siguiente semántica:
cMax representa el valor más grande que se va a binarizar. Los valores mayores se truncarán.
cLenght representa el número de bits con los que se binariza el valor.
tegParam representa la variable tegParam definida en esta divulgación para la binarización de TEG. stegParam representa la variable stegParam definida en esta divulgación para la binarización STEG. splitUnitSize representa la variable splitUnitSize definida en esta divulgación para binarizaciones SUTU, SSUTU y DTU.
outputSymSize representa la variable outputSymSize definida en esta divulgación para binarizaciones SUTU, SSUTU DTU y SDTU.
Evidencia de ventaja técnica de la presente invención.
Al aplicar la binarización CABAC indicada a los respectivos descriptores genómicos como se indica en la Tabla 29, el rendimiento de compresión informado en * no es necesaria información adicional ya que ya está disponible en la representación comprimida de acuerdo con los principios de esta divulgación.
Se puede obtener la Tabla 30. La mejora en el rendimiento de compresión del método descrito en esta divulgación se puede apreciar en comparación con los tamaños de archivo correspondientes de los enfoques BAM y CRAM y uno de los mejores compresores en la literatura conocido como DeeZ (véase Numanagic, I., et al "Comparison of highthroughput sequencing data compression tools", Nature Methods (ISSN: 1548-7091), vol. 13, p. 1005-1008 London: Nature Publishing Group, 2016). Debe tenerse en cuenta que el rendimiento de compresión de DeeZ, BAM y CRAM se calcula sumando el tamaño del genoma de referencia comprimido utilizado para el alineamiento a los tamaños de los datos de la secuencia del genoma comprimido. De acuerdo con los principios de la presente divulgación, el genoma de referencia está incrustado en el archivo comprimido. En la práctica actual, dicho genoma de referencia comprimido es un archivo PASTA (texto ASCII) comprimido utilizando compresores de uso general como GZIP, LZMA, Bzip2. En la comparación propuesta, el genoma de referencia hs37d5.fa se comprimió utilizando el comando de Linux xz con opción de máxima compresión (-9).
Binarización aplicada a descriptores.
La Tabla 30 muestra la binarización aplicada a los descriptores genómicos definidos en esta divulgación. Cuando se indica una concatenación de varias binarizaciones, las diferentes binarizaciones se aplican a los diferentes elementos que componen cada descriptor como se define en esta divulgación.
Tabla 29. Binarizaciones asociadas a cada descriptor genómico.
rftp y r ftt
En esta sección se proporciona un ejemplo de binarización de rftp y rftt y se ilustra en la figura 10. A continuación se muestran los descriptores asociados a cinco no coincidencias entre un cóntigo y un genoma de referencia utilizado para el alineamiento:
Cada símbolo de nucleótido está asociado a un código entero:
Después de la transformación los valores se convierten en:
Los valores binarizados para rftp se calcula de la siguiente manera:
1. El valor del terminador se puede binarizar como 0 o 1. Aquí para este ejemplo seleccionamos 0.
2. Si terminador = 0 entonces la binarización no. 6 con splitUnitSize = 4, se utiliza outputSymbolSize = 12 y las siguientes cadenas binarias están asociadas a los valores de rftp
a. 5= 11110
b. 2 = 110
c. 5= 11110
d. 1 = 10
e. 2 = 110
Los valores binarios para rftt se calculan de la siguiente manera:
1. Conociendo el nucleótido presente en el genoma de referencia, eliminar el símbolo correspondiente de los posibles símbolos a codificar. Es decir. para la primera falta de coincidencia del ejemplo, si el símbolo correspondiente en la referencia es una 'G', el espacio de posibles símbolos a codificar es 0, 1, 3, 4.
2. Las frecuencias de los símbolos de los tipos de no coincidencias en los datos que se van a codificar se miden y se indexan de 0 a 3. El índice 0 se ve afectado por la no coincidencia más frecuente y el índice 3 se ve afectado por no coincidencia menos frecuente. En este ejemplo una indexación podría ser: { 0 => 3, 1=> 0, 2=>4, 3=>1}
3. En el ejemplo dado, las cinco no coincidencias se binarizarían utilizando la binarización TU como:
Con el enfoque de binarización mostrado arriba se logran los siguientes resultados de compresión:
Tabla 30. Rendimiento de compresión con respecto a soluciones del estado de la técnica (tamaños en bytes).
Parámetros de codificación
En una realización, los parámetros necesarios para codificar y decodificar cada Unidad de Acceso se encapsulan en una estructura de datos denominada Conjunto de Parámetros como se define en la Tabla 31.
Tabla 31. Parámetros de codificación para descriptores genómicos.
Aparato de codificación
La Figura 13 muestra un aparato de codificación según los principios de esta invención. El aparato de codificación recibe como entrada un genoma de referencia 1302 y secuencias genómicas no alineadas 1300, por ejemplo producidas por un aparato de secuenciación del genoma. Los aparatos de secuenciación del genoma son conocidos en la técnica, como el Illumina HiSeq 2500, los dispositivos Thermo-Fisher Ion Torrent o el Oxford Nanopore MinION. Los datos de secuencia no alineada 1300 se alimentan a una unidad de alineamiento de lectura 1301, que mapea las secuencias en un genoma de referencia 1302. Las secuencias genómicas alineadas 303 luego se alimentan a un compresor 1305 basado en referencia que genera descriptores genómicos 1306 que representan secuencias genómicas tanto mapeadas como no mapeadas. Los descriptores genómicos 1306 generados por el compresor basado en referencia 1305 se binarizan primero mediante varias unidades de binarización 1307 y luego se codifican por entropía mediante varios codificadores entrópica 1308. Los descriptores genómicos codificados por entropía luego se alimentan a un aparato de multiplexación 1310 para construir una o más Unidades de Acceso que componen un flujo de bits comprimido 1311. El flujo de bits multiplexado contiene también estructuras de parámetros de codificación 1304 construidas por un codificador de parámetros de codificación 1309. Cada Unidad de Acceso contiene descriptores codificados por entropía que representan información de alineamiento y lecturas de secuencias que pertenecen a una clase de datos como se define en esta divulgación.
Aparato de decodificación
La Figura 14 muestra un aparato decodificador según los principios de esta divulgación. Una unidad de demultiplexación 1401 recibe un flujo de bits multiplexado 1400 de una red o un elemento de almacenamiento y extrae la carga útil codificada por entropía de las Unidades de Acceso que componen dicho flujo de bits. Los decodificadores entrópica 1402 reciben las cargas útiles extraídas y decodifican los diferentes tipos de descriptores genómicos en sus representaciones binarias. Luego, dichas representaciones binarias se envían a varios decodificadores binarios 1404 que generan descriptores genómicos 1405. Un decodificador de parámetros de codificación 1403 recibe parámetros de codificación multiplexados con la información genómica y los envía a la unidad de decodificación 1406. Los descriptores genómicos 1405 que representan lecturas de secuencias genómicas se alimentan a una unidad de reconstrucción de lecturas de secuencias 1406 que reconstruye las secuencias genómicas alineadas 1407 usando un genoma de referencia disponible 1408.
Las técnicas inventivas aquí descritas pueden implementarse en hardware, software, firmware o cualquier combinación de los mismos. Cuando se implementan en software, estos pueden almacenarse en un medio informático y ejecutarse mediante una unidad de procesamiento de hardware. La unidad de procesamiento de hardware puede comprender uno o más procesadores, procesadores de señales digitales, microprocesadores de uso general, circuitos integrados de aplicaciones específicas u otros circuitos lógicos discretos.
Las técnicas de esta divulgación pueden implementarse en una variedad de dispositivos o aparatos, incluidos teléfonos móviles, computadoras de escritorio, servidores, tabletas y dispositivos similares.

Claims (19)

REIVINDICACIONES
1. Un método implementado por ordenador para codificar datos de secuencia del genoma, comprendiendo dichos datos de secuencia del genoma lecturas de secuencias de nucleótidos, comprendiendo dicho método las etapas de: alinear dichas lecturas con una o más secuencias de referencia creando así lecturas alineadas,
clasificar dichas lecturas alineadas en diferentes clases de acuerdo con reglas de coincidencia especificadas con dicha una o más secuencias de referencia, en donde dicha clasificación comprende:
- clasificar una o más de dichas lecturas alineadas en una primera clase (Clase P) cuando se encuentra que una región en la secuencia de referencia coincide con la lectura alineada sin ninguna no coincidencia;
- clasificar una o más de dichas lecturas alineadas en una segunda clase (Clase N) cuando se encuentra que una región en la secuencia de referencia coincide con la lectura alineada con un tipo y un número de no coincidencias determinadas únicamente por el número de posiciones en las que una máquina secuenciadora que generaba la lectura no pudo llamar a ninguna base;
- clasificar una o más de dichas lecturas alineadas en una tercera clase (Clase M) cuando se encuentra que una región en la secuencia de referencia coincide con la lectura alineada con un tipo y un número de no coincidencias determinadas únicamente por el número de posiciones en las que una máquina secuenciadora que generaba la lectura no pudo llamar a ninguna base, más el número de no coincidencias en las que se ha llamado a un nucleótido diferente al presente en la secuencia de referencia;
- clasificar una o más de dichas lecturas alineadas en una cuarta clase (Clase I) constituida por lecturas alineadas que presentan al menos una no coincidencia de cualquier tipo entre inserción, eliminación y recorte más, si está presente, cualquier tipo de no coincidencia que pertenezca a la segunda clase (Clase N) o tercera clase (Clase M), en donde las inserciones están constituidas por una secuencia adicional de uno o más nucleótidos no presentes en la secuencia de referencia, pero presentes en la lectura alineada, en donde las eliminaciones constituyen nucleótidos faltantes en la lectura alineada con respecto a la secuencia de referencia, y en la que recortado comprende nucleótidos recortados suaves, que representan una secuencia de nucleótidos insertada en los bordes de la lectura alineada que no coinciden con la secuencia de referencia pero que se mantienen en la lectura alineada, y nucleótidos recortados duros, que se descartan de la lectura alineada;
- clasificar una o más de dichas lecturas alineadas en una quinta clase (Clase U) cuando no se encuentra ninguna coincidencia de acuerdo con ninguna de las clases primera a cuarta;
creando así clases de lecturas alineadas, representadas por grupos de descriptores genómicos que representan unívocamente lecturas de secuencias del genoma y que están organizados en bloques con propiedades estadísticas homogéneas,
en donde los descriptores comprenden, para la primera clase (Clase P):
- la posición de mapeo de una lectura en la secuencia de referencia (pos),
- la cadena de ADN o ARN en la que se mapeó la lectura (rcomp), e
- indicadores de mapeo para permitir que el alineador especifique además el resultado del proceso de mapeo; en donde los descriptores comprenden además, para la segunda clase (Clase N):
- la posición de las no coincidencias en lecturas alineadas con respecto a secuencias de referencia (mmpos); en donde los descriptores comprenden además, para la tercera clase (Clase M):
- los tipos de no coincidencias con respecto a secuencias de referencia en las posiciones asociadas (mmtype); en donde los descriptores comprenden además, para la cuarta clase (Clase I):
- un descriptor que señala nucleótidos recortados blandos o duros (clips);
en donde los descriptores comprenden además, para la quinta clase (Clase U):
- lecturas literales de secuencias de bases que no se pueden mapear en ninguna secuencia de referencia disponible (ureads);
codificar dichas lecturas alineadas clasificadas representadas por bloques de descriptores con propiedades estadísticas homogéneas como una multiplicidad de bloques de elementos de sintaxis, y
estructurar dichos bloques de elementos de sintaxis con información de encabezado creando así sucesivas Unidades de Acceso,
en donde dicha codificación comprende además binarizar y codificar por entropía dichos descriptores genómicos, realizándose dicha binarización y codificación por entropía de acuerdo con las propiedades estadísticas específicas de cada descriptor,
en donde dicha binarización y codificación por entropía de descriptores genómicos es tal que la binarización para al menos un descriptor de dichos descriptores es diferente de la binarización para al menos otro descriptor de dichos descriptores.
2. El método de la reivindicación 1, que comprende además codificar uno o más de los siguientes descriptores: descriptor rlen para señalar la longitud de cada lectura de secuencia codificada;
mmap para señalar las múltiples posiciones de mapeo que están asociadas a una única lectura o par de lectura mediante el procedimiento de mapeo;
msar para señalar la identificación de la existencia de lecturas empalmadas (es decir, lecturas que cuando se dividen en fragmentos encuentran posiciones de mapeo con mayores grados de precisión de coincidencia que cuando se mapean como lecturas contiguas únicas mapeadas en una sola posición en una secuencia de referencia). descriptor mscore para señalar una puntuación de mapeo/alineamiento por lectura generada por los alineadores de lecturas de secuencias genómica;
descriptor pair para señalar, en caso de lecturas finales emparejadas, cómo se emparejan las lecturas; descriptor rtype utilizado para señalar el subconjunto de descriptores utilizados para codificar lecturas de secuencias que no se pueden mapear en ninguna posición de la secuencia de referencia con grados específicos de precisión de coincidencia;
descriptor rgroup para indicar a qué grupo de lectura pertenece la lectura;
rftp para señalar la posición de no coincidencias entre un cóntigo y una secuencia de referencia, en donde las posiciones de no coincidencias son terminadas mediante un carácter terminador especial,
rftt para señalar el tipo de no coincidencias entre un cóntigo y una secuencia de referencia.
3. El método de la reivindicación 1 o 2, en donde dichos descriptores se binarizan de la siguiente manera: dicho descriptor pos se binariza utilizando un código unario doble truncado o un único código unario doble truncado; dicho descriptor rcomp se binariza utilizando un código unario truncado;
dichos descriptores flag de mapeo se binarizan usando codificación binaria;
dicho descriptor mmpos para señalar la posición de no coincidencias en lecturas alineadas con respecto a secuencias de referencia se binariza usando un código unario truncado por unidades divididas;
dicho descriptor mmtype para señalar los tipos de no coincidencias con respecto a secuencias de referencia en las posiciones asociadas se binariza utilizando un código unario truncado;
dicho descriptor clips para señalar nucleótidos recortados blandos o duros se binariza utilizando una concatenación de códigos Golomb exponencial truncado con signo, unario truncado, Golomb exponencial con signo y binarios.
4. El método de la reivindicación 2 o la reivindicación 3 cuando depende de la reivindicación 2, en donde uno o más de dichos descriptores están binarizados de la siguiente manera:
dicho descriptor rlen que señala la longitud de cada lectura de secuencia codificada se binariza utilizando un código unario truncado por unidades divididas;
dicho descriptor mmap para señalar las múltiples posiciones de mapeo que están asociadas a una única lectura o par de lecturas mediante el procedimiento de mapeo se binariza utilizando un código unario truncado por unidad dividida; dicho descriptor msar para señalar la identificación de la existencia de lecturas empalmadas se binariza utilizando un código Golomb exponencial firmado;
dicho descriptor mscore para señalar una puntuación de mapeo/alineamiento por lectura generada por alineadores de lecturas de secuencias genómicas se binariza utilizando un código unario truncado;
dicho descriptor pair para señalar, en el caso de lecturas finales emparejadas, cómo se binarizan las lecturas se binariza utilizando una concatenación de codificación binaria y código unario truncado por unidad dividida; dicho descriptor ureads para señalar lecturas que no pudieron alinearse en ninguna posición de la secuencia de referencia se binariza utilizando un código unario truncado;
dicho descriptor rtype usado para señalar el subconjunto de descriptores usados para codificar lecturas de secuencias que no pueden mapearse en ninguna posición de la secuencia de referencia con grados específicos de precisión de coincidencia se binariza usando un código unario truncado;
dicho descriptor rgroup para señalar a qué grupo de lectura pertenece la lectura se binariza utilizando un código unario truncado;
dicho descriptor rftp para señalar la posición de no coincidencias entre un cóntigo y una secuencia de referencia se binariza utilizando una concatenación de codificación binaria y código unario truncado por unidades divididas; y dicho descriptor rftt para señalar el tipo de no coincidencias entre un cóntifo y una secuencia de referencia se binariza utilizando una concatenación de codificación binaria y código unario truncado.
5. El método de una cualquiera de las reivindicaciones anteriores, en donde dichos descriptores se codifican insertando parámetros de configuración en un encabezado de sintaxis.
6. El método de la reivindicación 5, en donde dichos parámetros de configuración se actualizan creando encabezados de sintaxis actualizados para agregarlos al archivo genómico codificado.
7. El método de la reivindicación 5 o 6, en donde dichos parámetros de configuración comprenden uno o más de los siguientes:
un tipo de conjunto de datos para señalar el tipo de datos codificados en Unidades de Acceso que hacen referencia a estos parámetros de configuración;
una longitud de lectura para señalar la longitud en nucleótidos de lecturas de secuencias en caso de longitud de lectura constante;
un parámetro de profundidad de valores de calidad para señalar el número de Valores de Calidad asociados a cada nucleótido codificado;
una profundidad de puntuación de alineamiento para señalar el número de puntuaciones de alineamiento asociadas a cada alineamiento codificado;
un tamaño de terminador para señalar el tamaño en bytes del símbolo de terminador usado para el descriptor mmpos; un valor de terminador para señalar el valor del símbolo de terminador usado para el descriptor mmpos; el número de clases para señalar el número de clases de datos codificados en todas las Unidades de Acceso haciendo referencia a dichos parámetros de configuración; identificadores de clase para señalar los identificadores asociados a cada clase de datos;
el número de descriptores para señalar el número total de descriptores contenidos en las Unidades de Acceso referentes a dichos parámetros de configuración;
identificadores de modo de codificación para los diferentes modos de codificación;
un número de parámetros de grupos para señalar el número de valores diferentes del descriptor rgroup presente en todas las Unidades de Acceso en referencia a los parámetros de configuración actuales;
uno o más parámetros de descripción de grupo para señalar uno o más identificadores de grupo de lectura;
un indicador de alineamientos múltiples para señalar la presencia de alineamientos múltiples en la Unidad de Acceso; y
un indicador de lecturas empalmadas para señalar la presencia de lecturas empalmadas en la Unidad de Acceso.
8. El método de una cualquiera de las reivindicaciones 5 a 7, en donde dichos parámetros de configuración comprenden además un indicador base de firmas múltiples para señalar el uso de firmas múltiples en una Unidad de Acceso que contiene lecturas de secuencias no mapeadas (Clase U), preferiblemente en donde dichos parámetros de configuración comprenden además un tamaño de firma para señalar el tamaño en bits de cada número entero que representa una firma codificada.
9. El método de una cualquiera de las reivindicaciones anteriores, en donde dicha codificación entrópica de dichos descriptores se realiza utilizando una multiplicidad de codificadores entrópica.
10. El método de la reivindicación 9, en donde dicha binarización y codificación entrópica es tal que la codificación entrópica para al menos un descriptor de dichos descriptores es diferente de la codificación entrópica para al menos otro descriptor de dichos descriptores.
11. Un método implementado por ordenador para decodificar datos genómicos codificados, en donde dichos datos de secuencia del genoma comprenden lecturas de secuencias de nucleótidos, comprendiendo dicho método las etapas de:
analizar Unidades de Acceso que contienen dichos datos genómicos codificados para extraer múltiples bloques de descriptores genómicos empleando información de encabezado; y
decodificar dicha multiplicidad de bloques;
en donde dicha decodificación de multiplicidad de bloques comprende decodificación entrópica y desbinarización de descriptores genómicos dispuestos en bloques de datos homogéneos para llevar a cabo una extracción de lecturas alineadas de acuerdo con reglas de coincidencia específicas que definen su clasificación con respecto a una o más secuencias de referencia, en donde:
- cuando una o más de dichas lecturas alineadas se clasifican en una primera clase (Clase P), dicha extracción se lleva a cabo basándose en una región en la secuencia de referencia que coincide con la una o más lecturas alineadas sin ninguna no coincidencia;
- cuando una o más de dichas lecturas alineadas se clasifican en una segunda clase (Clase N), dicha extracción se lleva a cabo basándose en una región en la secuencia de referencia que coincide con la una o más lecturas alineadas con un tipo y un número de no coincidencias determinadas únicamente por el número de posiciones en las que una máquina secuenciadora que genera la lectura no pudo llamar a ninguna base;
- cuando una o más de dichas lecturas alineadas se clasifican en una tercera clase (Clase M), dicha extracción se lleva a cabo basándose en una región en la secuencia de referencia que coincide con la una o más lecturas alineadas con un tipo y un número de no coincidencias determinadas únicamente por el número de posiciones en las que la máquina secuenciadora que generó la lectura no pudo llamar a ninguna base, más el número de no coincidencias en las que se ha llamado a un nucleótido diferente al presente en la secuencia de referencia;
- cuando una o más de dichas lecturas alineadas se clasifican en una cuarta clase (Clase I), dicha extracción se lleva a cabo con base en que dichas una o más lecturas alineadas que presentaqn al menos una no coincidencia de cualquier tipo entre inserción, eliminación y recorte más, si está presente, cualquier tipo de no coincidencias que pertenezca a la segunda clase (Clase N) o tercera clase (Clase M), en donde las inserciones están constituidas por una secuencia adicional de uno o más nucleótidos no presentes en la secuencia de referencia, pero presentes en la lectura alineada, en donde las eliminaciones constituyen nucleótidos faltantes en la lectura alineada con respecto a la secuencia de referencia, y en donde recortado comprende nucleótidos recortados suavemente, que representan una secuencia de nucleótidos insertada en los bordes de la lectura alineada que no coinciden con la secuencia de referencia pero se mantienen en la lectura alineada y nucleótidos recortados duros, que se descartan de la lectura alineada;
- cuando una o más de dichas lecturas alineadas se clasifican en una quinta clase (Clase U), dicha extracción se lleva a cabo basándose en el hecho de que no está presente ninguna coincidencia según ninguna de las clases primera a cuarta;
en donde los descriptores comprenden, para la primera clase (Clase P):
- la posición de mapeo de una lectura en la secuencia de referencia (pos),
- la cadena de ADN o ARN en la que se mapeó la lectura (rcomp), y
- indicadores de mapeo para permitir que el alineador especifique además el resultado del proceso de mapeo;
en donde los descriptores comprenden además, para la segunda clase (Clase N):
- la posición de las no coincidencias en lecturas alineadas con respecto a secuencias de referencia (mmpos);
en donde los descriptores comprenden además, para la tercera clase (Clase M):
- los tipos de no coincidencias con respecto a secuencias de referencia en las posiciones asociadas (nntype);
en donde los descriptores comprenden además, para la cuarta clase (Clase I):
- un descriptor que señala nucleótidos recortados blandos o duros (clips);
en donde los descriptores comprenden además, para la quinta clase (Clase U):
- lecturas de secuencias literales de bases que no se pueden mapear en ninguna secuencia de referencia disponible (ureads);
en donde dicha decodificación por entropía y desbinarización de descriptores genómicos comprende, para al menos un descriptor de dichos descriptores, emplear una desbinarización que es diferente de una desbinarización usada para al menos otro descriptor de dichos descriptores.
12. El método de la reivindicación 11, que comprende además decodificar uno o más de los siguientes descriptores: descriptor rlen para señalar la longitud de cada secuencia codificada leída;
mmap para señalar las múltiples posiciones de mapeo que están asociadas a una única lectura o par de lectura mediante el procedimiento de mapeo;
msar para señalar la identificación de la existencia de lecturas empalmadas, es decir, lecturas que cuando se dividen en fragmentos encuentran posiciones de mapeo con mayores grados de precisión de coincidencia que cuando se mapean como lecturas contiguas únicas mapeadas en una sola posición en una secuencia de referencia; descriptor mscore para señalar una puntuación de mapeo/alineamiento por lectura generada por los alineadores de lecturas de secuencias genómica;
descriptor pair para señalar, en caso de lecturas finales emparejadas, cómo se emparejan las lecturas; descriptor ureads para señalar lecturas que no pudieron alinearse en ninguna posición de la secuencia de referencia; descriptor rtype utilizado para señalar el subconjunto de descriptores utilizados para codificar lecturas de secuencias que no se pueden mapear en ninguna posición de la secuencia de referencia con grados específicos de precisión de coincidencia;
descriptor rgroup para indicar a qué grupo de lectura pertenece la lectura;
rftp para señalar la posición de no coincidencias entre un contigo y una secuencia de referencia, en donde las posiciones de no coincidencias terminan mediante un carácter terminador especial;
rftt para señalar el tipo de no coincidencias entre un cóntigo y una secuencia de referencia.
13. El método de la reivindicación 11 o 12, en donde dichos descriptores se decodifican extrayendo parámetros de configuración de un encabezado de sintaxis.
14. El método de la reivindicación 13, en donde dichos parámetros de configuración comprenden uno o más de los siguientes:
un tipo de conjunto de datos para señalar el tipo de datos codificados en Unidades de Acceso que hacen referencia a estos parámetros de configuración;
una longitud de lectura para señalar la longitud en nucleótidos de lecturas de secuencias en caso de longitud de lectura constante;
un parámetro de profundidad de valores de calidad para señalar el número de Valores de Calidad asociados a cada nucleótido codificado;
una profundidad de puntuación de alineamiento para señalar el número de puntuaciones de alineamiento asociadas a cada alineamiento codificada;
un tamaño de terminador para señalar el tamaño en bytes del símbolo de terminador usado para el descriptor mmpos; un valor de terminador para señalar el valor del símbolo de terminador usado para el descriptor mmpos;
el número de clases para señalar el número de clases de datos codificados en todas las Unidades de Acceso haciendo referencia a dichos parámetros de configuración;
identificadores de clase para señalar los identificadores asociados a cada clase de datos;
el número de descriptores para señalar el número total de descriptores contenidos en las Unidades de Acceso referentes a dichos parámetros de configuración;
identificadores de modo de codificación para señalar los modos de codificación definidos en esta divulgación; un número de parámetros de grupos para señalar el número de valores diferentes del descriptor rgroup presente en todas las Unidades de Acceso en referencia a los parámetros de configuración actuales;
uno o más parámetros de nombre de grupo para señalar uno o más identificadores de grupo leídos;
un indicador de alineamientos múltiples para señalar la presencia de alineamientos múltiples en la Unidad de Acceso; y
un indicador de lecturas empalmadas para señalar la presencia de lecturas empalmadas en la Unidad de Acceso, con la condición de que cuando se establece en O no haya lecturas empalmadas presentes.
15. El método de la reivindicación 13 o de la reivindicación 14 cuando depende de la reivindicación 13, en donde dichos parámetros de configuración comprenden además un indicador base de firmas múltiples para señalar el uso de firmas múltiples en una Unidad de Acceso que contiene lecturas de secuencias no mapeadas (Clase U); y preferiblemente dichos parámetros de configuración comprenden además un tamaño de firma para señalar el tamaño en bits de cada número entero que representa una firma codificada.
16. El método de una cualquiera de las reivindicaciones 11 a 15, en donde dicha decodificación entrópica y desbinarización de descriptores genómicos comprende, para al menos un descriptor de dichos descriptores, emplear una decodificación entrópica que es diferente de una decodificación entrópica usada para al menos otro descriptor de dichos descriptores.
17. Un aparato de codificación que comprende medios de codificación para llevar a cabo el método de codificación de cualquiera de las reivindicaciones 1 a 10.
18. Un aparato de decodificación que comprende medios de decodificación para llevar a cabo el método de decodificación de cualquiera de las reivindicaciones 11 a 16.
19. Almacenamiento significa almacenar un programa informático que comprende instrucciones para ejecutar los métodos de cualquiera de las reivindicaciones 1 a 16.
ES17896462T 2017-02-14 2017-12-15 Método y sistemas para la compresión eficiente de lecturas de secuencias genómica Active ES2960009T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/US2017/017842 WO2018071055A1 (en) 2016-10-11 2017-02-14 Method and apparatus for the compact representation of bioinformatics data
PCT/US2017/041579 WO2018071078A1 (en) 2016-10-11 2017-07-11 Method and apparatus for the access to bioinformatics data structured in access units
PCT/US2017/066863 WO2018151788A1 (en) 2017-02-14 2017-12-15 Method and systems for the efficient compression of genomic sequence reads

Publications (1)

Publication Number Publication Date
ES2960009T3 true ES2960009T3 (es) 2024-02-29

Family

ID=88206817

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17896462T Active ES2960009T3 (es) 2017-02-14 2017-12-15 Método y sistemas para la compresión eficiente de lecturas de secuencias genómica

Country Status (4)

Country Link
ES (1) ES2960009T3 (es)
FI (2) FI3583249T3 (es)
HU (2) HUE063597T2 (es)
PL (2) PL3583249T3 (es)

Also Published As

Publication number Publication date
FI3583249T3 (fi) 2023-10-16
PL3583249T3 (pl) 2024-04-08
FI3583250T3 (fi) 2023-10-09
HUE063597T2 (hu) 2024-01-28
HUE063543T2 (hu) 2024-01-28
PL3583250T3 (pl) 2024-01-29

Similar Documents

Publication Publication Date Title
CN110678929B (zh) 用于高效压缩基因组序列读段的方法和系统
ES2922420T3 (es) Estructuras de datos eficientes para la representación de información bioinformática
EP3583249B1 (en) Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads
AU2018221458B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
JP7362481B2 (ja) ゲノムシーケンスデータをコード化する方法、コード化されたゲノムデータをデコード化する方法、ゲノムシーケンスデータをコード化するためのゲノムエンコーダ、ゲノムデータをデコードするためのゲノムデコーダ、及びコンピュータ読み取り可能な記録媒体
ES2947521T3 (es) Procedimiento y aparato para una representación compacta de datos bioinformáticos
ES2867874T3 (es) Procedimiento y sistema para la transmisión de datos bioinformáticos
ES2960009T3 (es) Método y sistemas para la compresión eficiente de lecturas de secuencias genómica
JP7324145B2 (ja) ゲノムシーケンスリードの効率的圧縮のための方法及びシステム
AU2017399715A1 (en) Method and systems for the reconstruction of genomic reference sequences from compressed genomic sequence reads
CN110663022B (zh) 使用基因组描述符紧凑表示生物信息学数据的方法和设备
EA043338B1 (ru) Способ и устройство для компактного представления биоинформационных данных с помощью нескольких геномных дескрипторов
NZ757185B2 (en) Method and apparatus for the compact representation of bioinformatics data using multiple genomic descriptors
EA040022B1 (ru) Способ и устройство для компактного представления данных биоинформатики