En filogenética computacional , el alineamiento de árboles es un problema computacional que consiste en generar alineamientos de secuencias múltiples , es decir, alineamientos de tres o más secuencias de ADN , ARN o proteínas . Las secuencias se organizan en un árbol filogenético que modela las relaciones evolutivas entre especies o taxones . Las distancias de edición entre secuencias se calculan para cada uno de los vértices internos del árbol, de manera que se minimice la suma de todas las distancias de edición dentro del árbol. El alineamiento de árboles se puede realizar utilizando diversos algoritmos con diferentes compensaciones entre el tamaño manejable del árbol y el esfuerzo computacional.
Definición
Entrada : Un conjuntode secuencias, un árbol filogenéticoetiquetada con hojas pory una función de distancia de ediciónentre secuencias.
Salida : Un etiquetado de los vértices internos dede tal manera quese minimiza, dondees la distancia de edición entre los puntos finales de.
La tarea es NP-difícil . [ 1 ]
Fondo
Alineación de secuencias

En bioinformática , el método básico de procesamiento de información consiste en contrastar los datos de secuencias. Los biólogos lo utilizan para descubrir la función, la estructura y la información evolutiva en las secuencias biológicas. Los siguientes análisis se basan en el ensamblaje de secuencias : el análisis filogenético , la comparación de haplotipos y la predicción de la estructura del ARN . Por lo tanto, la eficiencia del alineamiento de secuencias influye directamente en la eficacia para resolver estos problemas. Para diseñar un alineamiento de secuencias racional y eficiente, la derivación de algoritmos se ha convertido en una rama importante de la investigación en el campo de la bioinformática.
En general, el alineamiento de secuencias consiste en construir una cadena a partir de dos o más cadenas dadas con la mayor similitud posible, añadiendo o eliminando letras, o agregando un espacio a cada una . El problema del alineamiento múltiple de secuencias se basa generalmente en el alineamiento de secuencias por pares y, actualmente, para este problema, los biólogos pueden utilizar un enfoque de programación dinámica para obtener su solución óptima. Sin embargo, el problema del alineamiento múltiple de secuencias sigue siendo uno de los más complejos en bioinformática. Esto se debe a que encontrar la solución óptima para el alineamiento múltiple de secuencias ha demostrado ser un problema NP-completo y solo se puede obtener una solución óptima aproximada. [ 2 ]
método de matriz de distancias
El método de distancia mide el número mínimo de operaciones de inserciones , eliminaciones y sustituciones de caracteres que se requieren para transformar una secuencia u en otra secuencia v cuando se opera sobre un par de cadenas. El cálculo de la distancia de edición puede basarse en programación dinámica , y la ecuación es en tiempo O(|u|×|v|), donde |u| y |v| son las longitudes de u y v. [ 3 ] La estimación eficiente de la distancia de edición es esencial ya que el método de distancia es un principio básico en biología computacional [ 4 ] Para funciones de propiedades hereditarias se puede utilizar la "simetrización". Debido a que se utiliza una serie de funciones para calcular la distancia de edición, diferentes funciones pueden dar resultados diferentes. Encontrar una función de distancia de edición óptima es esencial para el problema de alineación de árboles.
El problema de la alineación de árboles

El alineamiento de árboles resulta en un problema NP-difícil , donde los modos de puntuación y los tamaños del alfabeto están restringidos. Se puede encontrar como un algoritmo, que se utiliza para encontrar la solución optimizada. Sin embargo, existe una relación exponencial entre su eficiencia y el número de secuencias, lo que significa que cuando la longitud de la secuencia es muy grande, el tiempo de cálculo requerido para obtener resultados es enormemente largo. Usar el alineamiento en estrella para obtener la solución optimizada aproximada es más rápido que usar el alineamiento de árboles. Sin embargo, independientemente del grado de similitud de secuencias múltiples, la complejidad temporal del alineamiento en estrella tiene una relación proporcional con el cuadrado del número de secuencias y el cuadrado de la longitud promedio de la secuencia. Como es habitual, la secuencia en el alineamiento múltiple de secuencias es tan larga que también resulta ineficiente o incluso inaceptable. Por lo tanto, el desafío de reducir la complejidad temporal a lineal es uno de los problemas centrales en el alineamiento de árboles.
Estrategia de optimización combinatoria
La optimización combinatoria es una buena estrategia para resolver problemas de alineamiento múltiple de secuencias (MSA). La idea de la estrategia de optimización combinatoria es transformar el alineamiento múltiple de secuencias en un alineamiento de secuencias por pares para resolver este problema. Dependiendo de su estrategia de transformación, la estrategia de optimización combinatoria se puede dividir en el algoritmo de alineamiento en árbol y el algoritmo de alineamiento en estrella. Para un conjunto de secuencias múltiples dado={,...,}, encontrar un árbol evolutivo que tenga n nodos hoja y establecer una relación uno a uno entre este árbol evolutivo y el conjuntoAl asignar la secuencia a los nodos internos del árbol evolutivo, calculamos la puntuación total de cada arista, y la suma de las puntuaciones de todas las aristas constituye la puntuación del árbol evolutivo. El objetivo de la alineación de árboles es encontrar una secuencia asignada que permita obtener la máxima puntuación y obtener el resultado final de la coincidencia entre el árbol evolutivo y la secuencia asignada a sus nodos. La alineación en estrella puede considerarse un caso especial de la alineación de árboles. En la alineación en estrella, el árbol evolutivo tiene un único nodo interno y n nodos hoja. La secuencia asignada al nodo interno se denomina secuencia central. [ 5 ]
La teoría del árbol de palabras clave y el algoritmo de búsqueda de Aho-Corasick.
Cuando se utiliza la estrategia de optimización combinatoria para transformar el alineamiento de secuencias múltiples en alineamiento de secuencias por pares, el problema principal cambia de "Cómo mejorar la eficiencia del alineamiento de secuencias múltiples" a "Cómo mejorar la eficiencia del alineamiento de secuencias por pares". La teoría del árbol de palabras clave y el algoritmo de búsqueda de Aho-Corasick constituyen un enfoque eficiente para resolver el problema del alineamiento de secuencias por pares. El objetivo de combinar la teoría del árbol de palabras clave y el algoritmo de búsqueda de Aho-Corasick es resolver este tipo de problema: para una cadena larga daday un conjunto de cuerdas cortas={,,... ,} (z∈N,z>1), encuentra la ubicación de todosen. El árbol de palabras clave producido por el conjuntose utiliza y luego se busca encon este árbol de palabras clave a través del algoritmo de búsqueda de Aho-Corasick. [ 6 ] La complejidad temporal total de usar este método para encontrar todosLa ubicación de en T es O(++), dónde=|| (la longitud de),=Σ|| (la suma de todoslongitudes) ysignifica la suma de ocurrencias para todosen.
teoría del árbol de palabras clave
El árbol de palabras clave del conjunto={,,... ,} (z∈N,z>1) es un árbol con raíz, cuya raíz se denota por K, y este árbol de palabras clave satisface:
(1): Cada borde delimita claramente una letra.
(2): Cualquier par de aristas separadas del mismo nodo deben corresponder a letras diferentes.
(3) Cada patrón(i=1,2,...,z) corresponde a un nodoy el camino desde la raíz K hasta el nodopuede deletrear la cadena correctamente..
Para cada nodo hoja de este árbol K, corresponde a uno de los patrones determinados del conjunto.
se utiliza para representar la CADENA que está conectada desde el nodo raíz al nodo.Luego se utilizará para representar la longitud del sufijo más largo (además, este sufijo es el prefijo de uno de los patrones en el conjunto).). Buscando este prefijo desde el nodo raíz en el árbol de palabras clave, y el último nodo denotado porcuando la búsqueda haya terminado. [ 7 ]
Por ejemplo, el conjunto={patata, tatuaje, teatro, otro}, y el árbol de palabras clave se muestra a la derecha. En ese ejemplo, si=patata, entonces=|tat|=3, y el enlace de falla del nodose muestra en esa figura.
Establecer un vínculo de fallo es la clave para mejorar la complejidad temporal del algoritmo Aho-Corasick. Se puede utilizar para reducir el tiempo polinomial original al tiempo lineal para la búsqueda. Por lo tanto, el núcleo de la teoría del árbol de palabras clave es encontrar todos los vínculos de fallo (lo que también significa encontrar todoss) de un árbol de palabras clave en tiempo lineal. Se supone que cadade todos los nodoscuya distancia desde el nodo raíz es menor o igual, se puede encontrar. Eldel nodocuya distancia desde el nodo raíz esLuego se puede buscar + 1. Su nodo padre esy la letra representada por el nodoy, es.
(1): Si la siguiente letra del nodoes, el otro nodo de esta arista se puede establecer como, y=.
(2): Si todas las letras no sonbuscando todos los bordes entrey sus nodos hijos,es un sufijo demás. Debido a que este sufijo coincide con la CADENA que comienza con el nodo raíz (similar a un prefijo), eldespuéspuede detectarse o no. Si no, este proceso puede continuar hastao se encuentra el nodo raíz.
Algoritmo de búsqueda de Aho-Corasick
Después de establecer todos los enlaces de falla en el árbol de palabras clave, se utiliza el algoritmo de búsqueda Aho-Corasick para encontrar las ubicaciones de todos(i=1,2,...,z) en tiempo lineal. En este paso, la complejidad temporal es O(m+k).
Otras estrategias
En el alineamiento múltiple de secuencias (AMS), se generan secuencias de ADN, ARN y proteínas, asumiendo que guardan una relación evolutiva. Al comparar los mapas generados de ARN, ADN y secuencias de familias evolutivas, se puede evaluar la conservación de las proteínas y encontrar dominios génicos funcionales mediante la comparación de las diferencias entre secuencias evolutivas. Generalmente, también se emplean algoritmos heurísticos y grafos de alineamiento de árboles para resolver problemas de alineamiento múltiple de secuencias.
Algoritmo heurístico
Generalmente, los algoritmos heurísticos se basan en la estrategia iterativa , es decir, a partir de un método de comparación, optimizan los resultados del alineamiento de secuencias múltiples mediante un proceso iterativo. Davie M. propuso utilizar el algoritmo de optimización por enjambre de partículas para resolver el problema del alineamiento de secuencias múltiples; Ikeda Takahiro propuso un algoritmo heurístico basado en el algoritmo de búsqueda A* ; E. Birney propuso por primera vez utilizar el modelo oculto de Markov para resolver el problema del alineamiento de secuencias múltiples; y muchos otros biólogos utilizan el algoritmo genético para resolverlo. [ 8 ] [ 9 ] Todos estos algoritmos son generalmente robustos e insensibles al número de secuencias, pero también tienen deficiencias. Por ejemplo, los resultados del algoritmo de optimización por enjambre de partículas son inestables y sus méritos dependen de la selección de números aleatorios, el tiempo de ejecución del algoritmo de búsqueda A* es demasiado largo, y el algoritmo genético es fácil que caiga en un estado de excelencia local.
Gráfico de alineación de árboles
En términos generales, el grafo de alineación de árboles tiene como objetivo alinear árboles en un grafo y, finalmente, sintetizarlos para desarrollar estadísticas. En biología, los grafos de alineación de árboles (TAG) se utilizan para eliminar los conflictos evolutivos o los taxones superpuestos de conjuntos de árboles y luego se pueden consultar para explorar la incertidumbre y el conflicto. Al integrar métodos de alineación, síntesis y análisis, el TAG busca resolver las relaciones conflictivas y los conjuntos de taxones parcialmente superpuestos obtenidos de una amplia gama de secuencias. Además, el grafo de alineación de árboles sirve como un enfoque fundamental para ejercicios de superárboles e injertos , que Berry ha probado con éxito para construir superárboles. [ 10 ] Debido a que la transformación de árboles a un grafo contiene nodos y aristas similares de sus árboles de origen, los TAG también pueden proporcionar la extracción de los árboles de origen originales para un análisis posterior. Un TAG es una combinación de un conjunto de árboles alineados. Puede almacenar hipótesis conflictivas de relaciones evolutivas y sintetizar los árboles de origen para desarrollar hipótesis evolutivas. Por lo tanto, es un método básico para resolver otros problemas de alineación. [ 11 ]
Véase también
Referencias
- ↑ Elias, Isaac (2006), "Resolviendo la intratabilidad del alineamiento múltiple", J Comput Biol , 13 (7): 1323– 1339, CiteSeerX 10.1.1.6.256 , doi : 10.1089/cmb.2006.13.1323 , PMID 17037961
- ↑ L Wang, T Jiang. Sobre la complejidad del alineamiento de secuencias múltiples[J]. Journal of Computational Biology, 194,1(4):337— 34.
- ↑ Yen Hung Chen, Sobre los problemas de alineación de árboles de cuello de botella, CIENCIAS DE LA INFORMACIÓN; 1 DE JUNIO DE 2010; 180; 11; p2134-p2141
- ↑ Ostrovsky, Rafail; Rabani, Yuval (2007-10-01). "Incrustaciones de baja distorsión para la distancia de edición". Journal of the ACM . 54 (5). Association for Computing Machinery (ACM): 23–es. doi : 10.1145/1284320.1284322 . ISSN 0004-5411 . S2CID 15341956 .
- ↑ Serafim Batzoglou. Las múltiples facetas del alineamiento de secuencias[J]. Briefings in Bioinformatics. 2005,6(1):6—22
- ↑ Aho AV, Corasick M J. Búsqueda eficiente de cadenas: una ayuda para la búsqueda bibliográfica[J]. Communications of ACM, 1975,18(6): 333—340.
- ↑ D Gusfield. Algoritmos sobre cadenas, árboles y secuencias: informática y biología computacional[M]. Cambridge: Cambridge University Press. 1997.
- ↑ RobertC Edgar, Serafim Batzoglou. Alineamiento de secuencias múltiples[J]. Current Opinion in Structural Biology. 2006,16(3):368— 373 Archivado el 23-10-2013 en Wayback Machine .
- ↑ Notredame C, Higgins DG SAGA: alineación de secuencias mediante algoritmo genético [J]. Nucleic Acids Research. 1996,24(8):1515-1524 .
- ↑ Wilkinson M, Pisani D, Medición del soporte y detección de relaciones no respaldadas en superárboles, Systematic Biology 54:823-831.
- ↑ Stephen A. Smith, Joseph W. Brown, análisis y síntesis de filogenias mediante gráficos de alineación de árboles, PLoS Computational Biology 9(9).
- Filogenética computacional
- problemas NP-completos