• No results found

3: More efficient method to synthesize triphophenium cation using PBr 3

Cuando en 1953 Watson y Crick propusieron el modelo de la doble hélice para explicar la estructura del ADN, no imaginaron el gran volumen de información que de forma exponencial se generaría a partir de ese momento (figura 9).

Contrariamente a lo que podría suponerse, las herramientas computacionales comenzaron a aplicarse en la biología molecular mucho antes del comienzo de la era de Internet o de los proyectos de secuenciación del genoma. Hacia 1960, la creciente cantidad de datos referentes a la química de las proteínas llevó a los

36

científicos a combinar las estrategias de la biología molecular, las matemáticas y la informática, para enfrentar con éxito el desafío que ello representaba. Y en este punto aparecen la bioinformática y la biología computacional como disciplinas íntimamente relacionadas, donde la primera, de acuerdo con la definición de la NCBI (National Center for Biotechnology Information de los Estados Unidos de América), busca y utiliza patrones y estructuras inherentes en datos biológicos como secuencias génicas, así como el desarrollo de nuevas metodologías para acceso y búsquedas en bases de datos, mientras que la segunda se refiere a la simulación física y matemática de los procesos biológicos (35)

La difusión de las nuevas técnicas para secuenciar ADN proteínas, así como el volumen cada vez mayor de secuencias almacenadas en los bancos de datos, hicieron necesaria la creación de algoritmos a fin de catalogar y comparar secuencias, en los que se reconoce como pionera a Margaret Oakley Dayhoff (1925- 1983). La doctora Dayhoff desarrolló métodos computacionales que le permitieron comparar secuencias proteicas y a partir de los alineamientos entre ellas, investigar las relaciones y por tanto la historia evolutiva entre los diferentes reinos, phyla y taxa biológicos (36)

En 1980, la doctora Dayhoff crea la primera base de datos computarizada, con secuencias de ácidos nucleicos y de proteínas, en un ordenador personal al que los usuarios externos podían conectarse por vía telefónica. Para 1983 la Protein Sequence Database (PSD) era la base de datos más grande del mundo, con más de 2,000,000 de nucleótidos secuenciados, con sus respectivas referencias y anotaciones. Sin embargo, este avance no hubiera sido posible sin la llegada de Internet. La red proveyó las facilidades de acceso para los usuarios, así como también para el desarrollo del software necesario en el manejo y el análisis de inmensurables cantidades de datos.

Figura 8. Número de secuencias de genes y genomas encontrados en GenBank en enero 2017

37

El problema bioinformático más antiguo es el de alineamiento de secuencias. Un alineamiento de dos secuencias es una superposición exacta de los caracteres de ambas cadenas (residuos) que arbitrariamente determinará el número de residuos similares coincidentes en cada posición de estas. Un alineamiento global efectúa la correspondencia entre las secuencias completas, maximizando el número total de caracteres coincidentes a lo largo de dos cadenas, teniendo en cuenta que las correspondencias entre dos huecos no están permitidas. Es fundamental establecer un sistema de evaluación que asigne diferentes puntuaciones a coincidencias, sustituciones y huecos para clasificar todos los posibles alineamientos. Para evaluar la bondad de un alineamiento se suele definir la distancia como el mínimo número de cambios necesarios para transformar la primera secuencia en la segunda. Únicamente las diferencias son penalizadas, un alineamiento óptimo permite medir la mínima distancia existente entre dos secuencias.

Posiblemente el primer intento de resolver el problema del alineamiento global es el algoritmo de Needleman-Wunsch, aproximación que calcula la distancia de edición óptima entre dos cadenas mediante programación dinámica (37).

Sin embargo, los métodos de alineamiento global disponibles son poco adecuados para alinear genomas completos por dos motivos. El primer inconveniente es el elevado coste temporal de estos algoritmos, aproximadamente cuadrático con la longitud de las secuencias, haciendo, por tanto, inabordable el alineamiento de miles de secuencias en un tiempo razonable. En segundo lugar, a diferencia de las secuencias de proteínas, las secuencias de ADN de organismos relacionados suelen poseer pocas similitudes (normalmente concentradas en una región pequeña) siendo el alineamiento global menos útil en estas situaciones que otros tipos de alineamiento.

Un alineamiento local realiza exclusivamente la correspondencia entre aquellos fragmentos de las secuencias que poseen una coincidencia máxima de caracteres, descartando el resto de regiones a lo largo de dichas secuencias que no presentan una mínima similitud.

La similitud entre dos secuencias evalúa el parecido entre éstas, recompensando a nivel estadístico las coincidencias (y en menor medida las sustituciones) y penalizando las inserciones/deleciones. De esta manera un alineamiento óptimo permite identificar la máxima similitud posible entre dos secuencias. Dadas dos secuencias, el alineamiento local busca encontrar todos aquellos pares de sub-secuencias que posean un valor de similitud por encima de un determinado umbral. En contraste al global, el alineamiento local es una técnica útil cuando se pretende alinear secuencias que difieren claramente en tamaño y

38

contenido, pero que son tentativas de poseer pequeños segmentos o regiones con un alto grado de similitud. Este tipo de alineamiento es, por tanto, idóneo cuando se pretende encontrar pares de genes (regiones de una secuencia) o elementos evolutivos entre dos genomas.

El algoritmo Smith-Waterman propuesto por primera vez en 1981 por Temple F. Smith y Michael S. Waterman (38), es una variante del algoritmo Needleman-Wunsch para el caso del alineamiento local de secuencias. Al igual que el algoritmo en el que está inspirado, Smith-Waterman hace uso de un esquema de programación dinámica, garantizando, de esta manera, el descubrimiento del alineamiento local óptimo (dependiente del sistema de puntuación que esté siendo utilizado).

BLAST o Basic Local Alignment Search Tool es posiblemente la herramienta bioinformática más popular. El programa fue creado por Eugene Myers, Stephen Altschul, Warren Gish, David J. Lipman y Webb Miller en el NCBI (National Center for Biotechnology Information) y publicado en 1990 (39), convirtiéndose en uno de los artículos más citados de la década de los 90, cuenta con más 32.000 referencias. La característica que distingue a BLAST de herramientas más tradicionales es que usando el algoritmo Smith- Waterman, tiene un mayor énfasis en reducir el tiempo necesario para realizar el alineamiento local, a cambio de sacrificar la sensibilidad. Dicha eficiencia temporal se logra gracias al uso de un algoritmo heurístico, no se garantiza, por tanto, el descubrimiento del alineamiento óptimo.

A comienzos de los 90, se fueron creando bases de datos primarias como GenBank, y programas informáticos como BLAST. Mientras GenBank almacenaba y catalogaba las secuencias de ADN y de proteínas, BLAST permitía comparar con mayor rapidez que su predecesor FASTA las secuencias de interés contra cada una de las secuencias contenidas dentro de la enorme base de datos.

Sin embargo, los métodos clásicos anteriores, no son muy adecuados para el alineamiento de un número muy grande de secuencias cortas contra una secuencia de referencia grande (40) , por lo que se requiere el desarrollo de nuevos métodos matemáticos y heurísticos para conseguir sistemas óptimos de alineamiento. Es en este campo en el que durante los últimos años los científicos computacionales han desarrollado multitud de algoritmos para solucionar este problema, y además han tenido que ajustarse a unos requerimientos técnicos para evitar la necesidad de utilizar excesivo poder computacional. El objetivo global de la asignación de lecturas cortas es obtener resultados satisfactorios de la manera más eficiente posible (en términos de requisitos de memoria y tiempo). Como resultado obtenemos que muchos métodos están basados en principios y algoritmos similares pero difieren en la implementación y en la aplicación de heurísticas concretas con el fin de incrementar la velocidad con la mínima pérdida de

39

precisión (41). Los desarrollos en estos campos están actualmente en auge y se producen casi semanalmente herramientas nuevas o modificadas (42)

Básicamente, el estudio bioinformático en técnicas de secuenciación masiva de última generación o NGS se centra en:

• Alineamiento de las lecturas contra una referencia (mapping)

• Ensamblaje denovo

• Base calling y detección de variantes genéticas • Anotación del genoma y funcional

• Utilidades para el análisis de datos

Para cubrir estas necesidades, a lo largo de los últimos años se han desarrollado multitud de programas, algunos multiplataforma y otros específicos para cada plataforma. (43) (44) (45).

La estrategia empleada en técnicas de secuenciación NGS, de generación de múltiples y pequeñas lecturas en paralelo, es desde el punto de vista de la bioinformática un reto.

Todos los beneficios que se pueden obtener mediante el uso de las técnicas NGS, quedan relegados a un segundo plano, hasta que la bioinformática consiga maximizar la interpretación de estas pequeñas lecturas.(46)

Alineamiento

El alineamiento de lecturas contra una referencia consiste en asignar esas lecturas cortas contra un genoma conocido con anterioridad.

Normalmente, en un único experimento de NGS se generan cientos degigabytes en formato de pequeñas lecturas, que a nivel informático son terabytes de datos crudos, haciendo que su análisis sea el principal problema de esta generación de secuenciadores. Podemos decir que la mayoría de las herramientas de asignación de lecturas cortas contemplan la creación de un índice de las posiciones de todos los K-meros distintos, tanto de las lecturas de la secuencia como de la secuencia del genoma. La diferencias fundamentales entre los distintos algoritmos de asignación se basan en la indexación del genoma e en la asignación de las lecturas de la secuencia problema, y en el método de indexación aplicado.

40

Dependiendo de las propiedades del indexado, los algoritmos de alineamiento pueden ser agrupados en 3 categorías:

• Basados en tablas hash • Basados en suffix trees • Basados en merge sorting

Los basados en tablas hash siguen el mismo principio de encontrar una pequeña región que actúa como semilla del alineamiento y extender el resto de la secuencia (seed-and-extend), el mismo principio que el Blast. La semilla o seed es un conjunto de k-meros, 11 nucleótidos, por ejemplo, que actúan como secuencia problema y se buscan las posiciones dentro de la referencia indexada en la que coincide sin ningún error. Una vez que la ha encontrado, la seed extiende el resto de la secuencia. Una mejora son los algoritmos que soportan spaced seed, que permite mismatches internos en la secuencia. El primer programa en utilizarlo en el contexto del alineamiento de secuencias cortas fue Eland diseñado por illumina , que divide la lectura en 4 partes de aproximadamente el mismo tamaño (indexación de lecturas) y usa un conjunto de 6 seeds no contiguas a lo largo de toda la secuencia corta, permitiendo 2 mismatches para que al menos una seed sea la correcta.

Otro programa es Soap (47), que utiliza la misma estrategia pero en este caso es el genoma el que está indexado. Este tipo de algoritmos dan resultados pobres cuando las lecturas caen en zonas repetitivas, ya que necesitan verificar en la fase de extensión, lo que lleva a un consumo de recursos informáticos superior (48).

En los algoritmos basados en suffix trees, a diferencia de los anteriores en los que el problema se basa en solucionar los mismacht, el problema son los alineamientos exactos, lo que conlleva identificar primero los alineamientos correctos y posteriormente construir alineamientos incorrectos que están soportados por los correctos.

La ventaja de utilizar este tipo de algoritmos es que el alineamiento de una secuencia en múltiples localizaciones solamente se realiza una vez, ya que todas estas copias idénticas colapsan en un punto del árbol generado.

Una forma eficaz de indexado es utilizando la transformada de Burrows-Wheeler , es un algoritmo de permutación reversible utilizado en programas de ensamblaje de secuencias contra una referencia, ya que permite dar una solución parcial a uno de los principales problemas del ensamblaje de secuencias

41 que es el consumo de memoria. Este algoritmo permuta el orden de las bases y consigue que la misma base se repita varias veces de manera consecutiva lo cual es útil como paso previo para la compresión y almacenamiento de los datos.

Unos de los alineadores más conocidos es el BWA (Burrows Wheler aligment) BWA es un paquete de software para alinear secuencias con baja divergencia contra un gran genoma de referencia, como el genoma humano. Lo constituyen 3 algoritmos distintos: BWA-aln, BWA-SW y BWA-MEM. El primer algoritmo está designado para secuenciación en secuenciadores Illumina en los que la generación de lecturas es hasta 100 pb, mientras que los otros dos han sido diseñados para secuencias más largas de 70 pb hasta 1 Mb de longitud. Bwa-SW y MEM comparten características similares, lecturas largas y Split alignment (partir una lectura en dos para un mejor alineamiento, importante característica para la detección de variantes estructurales), pero como BWA-MEM es el último, es el que presenta una alta calidad en sus alineamientos, combinándolo con una gran rapidez y una sensibilidad mayor que sus predecesores. BWA-MEM está basado en un algoritmo super-maximal exact matches (SMEMs). Este algoritmo realiza la alineación local. Se puede producir múltiples alineaciones principales para diferentes partes de una lectura.

Adicionalmente, los algoritmos basados en merge sorting se basan en la técnica divide y vencerás, solamente existe un programa basado en este tipo de algoritmos de alineamiento de secuencias cortas: Slider y Slider II (49)

Se han descrito multitud de programas para realizar alineamientos sobre el ADN , como se muestra en la figura 10

42

Figura 9 Diferentes programas de alineamieto utilizados en NGS. en azul son los utilizados para alinear ADN

No existe un consenso claro sobre qué metodología es mejor, cada una tiene sus ventajas e inconvenientes. Así pues, los basados en la BWT son los más rápidos y los que necesitan menos requerimientos informáticos, por el contrario, no presentan una corrección de errores y el tiempo de computación no está bien escalado cuando aumentan los errores. Por otra parte, los métodos basados en hash pueden manejar los errores siempre que no presenten uniformidad a lo largo de la lectura, ya que la seed no podría ser encontrada, pero presentan problemas con las regiones repetitivas, una de las mejores opciones pudiera ser la que se presenta en Stampy que usa los dos métodos.(50)

Ensamblaje

El ensamblaje de novo comparándolo con el proceso anterior es un desafío mayor, aunque con el avance en las longitudes de lecturas que se están llevando a cabo es siempre una ayuda para este proceso, aunque también la secuenciación por lecturas pareadas ayuda al correcto ensamblaje de un nuevo genoma. Las lecturas pareadas consisten en secuenciar dos partes distintas de la molécula de ADN problema, dejando una parte en el medio sin secuenciar, pero debido a que normalmente estas moléculas se superponen y se puede llegar a conocer la secuencia de esa región.

Detección de variantes

La detección de variantes se realiza en las secuencias alineadas contra la referencia y identificando qué nucleótidos no coinciden con esta referencia. Es una parte crucial en el análisis de datos de NGS, existen

43

diferentes herramientas para la detección de variantes llamados variant callers, estos se pueden dividir en línea germinal, somática, identificación de CNVs e identificación de variantes estructurales, la detección de variantes en la línea germinal es la parte central de los hallazgos causantes de las enfermedades raras.

Los variant callers consisten en dos pasos diferenciados, por un lado, tratan de identificar la variante y por el otro asignarle un genotipo.

Existen dos métodos para la detección de variantes procedentes de NGS ● métodos probabilísticos

● métodos heurísticos

Métodos Probabilísticos

En un mundo libre de errores de secuenciación, con alta profundidad de cobertura la tarea de un variant caller en datos de NGS parece muy simple, en cada locus, el número de ocurrencias de cada nucleótido a lo largo de la lectura alineada en una posición concreta puede ser tenido en cuenta y el verdadero genotipo parece obvio AA para el alelo A, BB para el alelo B y AB si están presentes los dos alelos, pero cuando se trabaja con datos reales de NGS este planteamiento naive no debe de ser usado debido al ruido que se genera y a los sesgos.

Los métodos basados en probabilidad intentan superar el problema de los errores produciendo estimaciones robustas de las probabilidades de cada uno de los posibles genotipos, para ello tienen en cuenta el ruido y cualquier información previa disponible que se puede utilizar para mejorar las estimaciones.

Estos métodos están basados en el teorema de Bayes que en este contexto se define como la probabilidad de que cada genotipo sea el genotipo verdadero dado los datos observados, en términos de las probabilidades previas de cada genotipo posible, y la distribución de probabilidad de los datos dados cada genotipo posible.

44

G es elgenotipo en el que la probabilidad ha sido calculada Gi es el posible genotipo dentro de todas las posibilidades

Los diferentes softwares tienen diferentes formas de calcular las probabilidades a priori P(G) o el modelo usado para calcular el error de las probabilidades P(D|G).

Los métodos heurísticos

En lugar de modelar la distribución de los datos observados y usar estadísticas bayesianas para calcular las probabilidades del genotipo, las variant callers se hacen basadas en una variedad de factores heurísticos, tales como recuentos mínimos de alelos, cortes de calidad de lectura, límites en la profundidad de lectura, etc.

Una parte importante del diseño de los métodos de variant callers utilizando datos de NGS es la secuencia de ADN utilizada como referencia para alinear las regiones secuenciadas. En los estudios de genética humana, las referencias de alta calidad están disponibles a partir de fuentes como el proyecto HapMap ., En el caso de alinear contra una referencia, hay que asegurarse de que ésta esté correctamente construida. En el caso del rs6025 causante de la alteración del Factor V Leiden, el alelo menor es el que se encuentra en la referencia GRCh37, además de otro millón de posiciones quehansido anotadas con el menor alelo por lo que resultaría imposible encontrar esas variantes (51).

Existen multitud de programas para la detección de variantes: Samtools (52); GATK (53); VarScan2 (54); SNver, (55); y cada día se siguen desarrollando nuevos tales como INDELseek (56) o SNVSniffer (57) Es por tanto un campo en continuo desarrollo y resulta difícil estar actualizado en todos los nuevos lanzamientos, sin embargo, todos tienen en común que no son perfectos y muestran baja concordancia entre los resultados obtenidos (58) (59)