Bioinformatics at COMAV

ALINANEAMIENTOS MULTIPLES

Introducción

Un alineamiento múltiple de secuencias es un alineamiento de más de dos secuencias. Estas secuencias, como en el caso de los alieamientos por parejas pueden ser ADN, ARN o proteína.

_images/alig_mul_prot.png

Las aplicaciones más habituales de los alineamientos múltiples son:

  • la reconstrucción filogenética,
  • el análisis estructural de proteínas,
  • la búsqueda de dominios conservados y
  • la búsqueda de regiones conservadas en promotores.

En todos los casos los algoritmos de alineamiento múltiple asumen que las secuencias que estamos alineando descienden de un antepasado común y lo que intentamos hacer es alinear las posiciones homólogas.

_images/evol_seqs_homologas.png

Un par de revisiones recientes sobre los métodos de construcción de alineamientos múltiple: A Comprehensive Benchmark Study of Multiple Sequence Alignment Methods: Current Challenges and Future Perspectives y Evaluating the Accuracy and Efficiency of Multiple Sequence Alignment Methods.

Métodos similares que no son alineamientos múltiples

Existen algunos algoritmos relacionados que no suelen ser considerados métodos de alineamientos multiples a pesar de alinear varias secuencias. El primero es el ensamblaje de varias lecturas provenientes de un proyecto de secuenciación. En este caso no estamos alineando secuencias homólogas sino fragmentos de una secuencia desconocida mayor. Este problema viola una asunción que suelen hacer los algoritmos de alineamiento múltiple. Las secuencias no cubren la misma región. Esto haría que la mayor parte de los algoritmos de alinemiento múltiple fallasen al darnos la solución o, en el mejor de los casos, que sí nos den una buena solución, pero que resulten extraordinariamente ineficientes. Los algoritmos de alineamiento múltiple están pensados para alinear secuencias que cubren la misma región, por ejmeplo una proteína, y para alinear secuencias relativamente diferenciadas. Los algoritmos de ensamblaje son capaces de resolver el problema de un modo mucho más eficiente puesto que asumen que las lecturas que provienen de una secuencia problema única y que, por lo tanto, son prácticamente idénticas.

El segundo caso de aparente alieamientos múltiple que no lo es es el de la resecuenciación y la comparación con una secuencia de referencia. Si obtenemos lecturas de uno o varios individuos mediante cualquier técnica de secuenciación y queremos alinear las lecturas contra la secuencia de referencia (por ejemplo un genoma) no debemos utilizar un método de alineamiento múltiple o un método de ensamblaje. Estos métodos serían muy ineficientes. La solución sería utilizar un método de alineamiento secuencias por parejas optimizado para secuencias muy similares con una de ellas muy larga y la otra muy corta. Estos algoritmos son aplicados para alinear cada una de las lecturas contra la secuencia de referencia y son capaces de alinear millones de secuencias por hora mientras que cualquier algoritmo habitual de alineamiento múltiple fallaría con la primera secuencia ya que no están preparados para alinear secuencias tan largas como un genoma.

Otra aplicación que sí está realacionada con los métodos de alineamiento múltiple es la búsqueda de bloques o dominios consevados. En este caso el objetivo no es crear un alineamiento amplio que cubra la mayor parte de la secuencias sino localizar solamente las regiones conservadas. Estos métodos se basan en localizar pequeños motivos conservados y en crear matrices que reflejen la composición de cada una de las posiciones de estos motivos a lo largo de todas las secuencias analizadas. Existen numerosos algoritmos de búsquedas de motivos como: Blocks o meme.

Algoritmos de alineamiento múltiple

El problema del alinemiento múltiple es computacionalmente más complejo que el del alineamiento por parejas de secuencias. En este caso no es posible aplicar un algoritmo equivalente al de Smith Waterman para parejas de secuencias que nos garantice un resultado óptimo dado un esquema de puntuación para cambios y gaps. Este algoritmo requeriría construir y explorar una matriz de n-dimensiones (una por cada secuencia) lo que requeriría un tiempo que crecería exponencialmente con el número y la longitud de las secuencias. Dada la imposibilidad práctica de dicho método ningún programa usual lo implementa y todos recurren a algoritmos que utilizan distintos métodos heurísticos para simplificar el problema. Esto implica que cada método asumirá ciertas características en las secuencias y que renunciará a alinear correctamente ciertos tipos de secuencias.

Los algoritmos de alineamiento múltiple están pensados para alinear secuencias bastante diferentes entre sí. A pesar de ello a medida que estas diferencias aumenten a los algoritmos les será más difícil dar con el alineamiento correcto, es decir, el correspondiente a las relaciones de homología reales.

Una de las asunciones que suelen hacer estos algoritmos para poder resolver el problema es que las secuencias a alinear cubren la misma región y que no hay muchas inserciones y deleciones grandes. Estas restricciones hacen que estos algoritmos estén especialmente indicados para algunos problemas, pero no para otros y que no todas las secuencias se alineen igual de bien. Por ejemplo, si estamos alineando proteínas homólogas provenientes de especies muy separadas filogenéticamente nos será más fácil alinear las regiones más conservadas y puede que tengamos problemas con las regiones más variables. En el caso de las secuencias de ADN correspondientes a genes suele ser más fácil alinear las regiones codificantes que las no codificantes debido al mayor grado de conservación de las regiones codificantes. Estos algoritmos tenderán a no comportarse bien con secuencias parcialmente solapantes, como las lecturas proveninentes de un proyecto de secuenciación.

Algoritmos de construcción progresiva

Los métodos más utilzados suelen utilizar una heurística de alineación progresiva. Estos algoritmos son muy utilizados porque son bastante rápidos y permiten, por lo tanto, alinear miles de secuencias en tiempos cortos. Antes de comenzar a realizar el alineamiento debemos establecer el esquema de puntuación de los posibles alineamientos. Es decir, cuales son las penalizaciones por introduccir o amplicar un gap y por las diferencias entre residuos. El objetivo de cualquier algoritmo debería ser obtener un alineamiento con la mínima puntuación posible.

Los algoritmos de construcción progresiva empiezan por alienar las parejas de secuencias más similares y después, progresivamente, van añadiendo al alineamiento secuencias cada vez más diferentes. Para hacerlo comienzan por crear un árbol de secuencias basado en las similitudes obtenidas a partir de los alineamientos por parejas. Este árbol es denominado árbol guía. Una vez creado este árbol guía (normalmente por UPGMA o Neighbor joining) se buscan las parejas más similares y a partir de ellas se comienza a crear el alineamiento múltiple añadiendo secuencialmente las secuencias por el orden dictado por el árbol guía.

_images/arbol.png

Otro ejemplo:

Distancias:

IMPRESIONANTE X IMPRESO 7/13

IMPRESIONANTE X INCUESTIONABLE 10/14

INCUESTIONABLE X IMPRESO 4/14

El primer alineamiento seria: Incuestionableximpresioante.

IMPRES-IONABLE
INCUESTIANABLE

Posteriormente uniría Impreso

IMPRES-IONANTE
INCUESTIONABLE
IMPRES--O-----
_images/alin_progresivo.png

No tenemos garantía de que el alineamiento múltiple obtenido sea el alineamiento óptimo, es decir, que sea el que minimice la puntuación dado el esquema de puntuación que debemos haber establecido a priori. La principal debilidad de estos algoritmos de construcción progresiva es que los errores introduccidos en cualquiera de las etapas de alineamiento no son corregidos en etapas posteriores sino que son propagados hasta el resultado final. Por ejemplo, si en el primer alineamiento de la pareja de secuencias más cercanas introducimos un gap en una posición, este gap se propagará añadiéndose a todas las secuencias que lo requieran en las etapas posteriores. Si el gap estaba bien puesto esto no es un problema, pero si fuese un error éste error no será corregido. Estos métodos se comportan especialmente mal cuando las secuencias son muy distantes.

Los algoritmos de la familia del Clustal han sido históricamente los más utilizados, especialmente ClustalW. La versión actual del ClustalW es el ClustalW2. El clustalW no se encuentra actualmente entre los más recomendados puesto que hay otros algoritmos que presentan un mejor comportamiento, por ejemplo el Clustal Omega para proteínas o el MAFFT. El MAFFT fue uno de los programas con una mejor puntuación en una comparación de programas de alinemiento múltiple y, además, fue muy rápido.

Otro algoritmo de construcción progresiva es el T-Coffee. Es más lento que el Clustal porque calcula los alineamientos por parejas teniendo en cuenta otras secuencias cercanas del árbol guía.

Métodos iterativos

La diferencia entre estos algoritmos y los de construcción progresiva es que en los itereativos se reevaluan los alineamientos que se habían producido en los pasos anteriores. Algunos de los más populares son Muscle, dialign y chaos/dialign

Modelos ocultos de Markov

Estos algoritmos son recientes y tienen la ventaja de ser bastante rápidos. Son capaces de producir no sólo alineamientos globales, sino también locales. Además, pueden generar una serie de resultados con distintas puntuaciones. Al igual que en el caso de los métodos iterativos en estos algoritmos los alineamientos son reevaluados en cada paso, aunque aun así tienen el problema de que el resultado final puede depender del orden en el que las secuencias son añadidas al alineamiento múltiple.

SAM (Sequence Alignment and Modeling System) y HMMER implementan estos algoritmos y se han utilizado para predicción de estructura de proteínas. Una evolución del clustal, el clustal Omega también utiliza estos métodos HMM.

Métodos sensibles a la filogenia

Los algoritmos más comunes de alineamientos múltiples intentan minimizar el número de inserciones y deleciones para producir alineamientos compactos. Esto suele conllevar problemas sin las secuencias a alinear incluyen segmentos no homólogos. ProGraphMSA, pagan-msa y prank intentan solucionar estas limitaciones.

Evaluación de los alineamientos

Una vez obtenido el alineamiento es muy recomendable evaluarlo, ya sea abriéndolo en un visor de alineamientos múltiples o mediante un programa automático. Normalmente no todas las regiones del alineamiento estarán igual de bien alineadas. Un procedimiento habitual antes de reconstruir una filogenia a partir del alineamiento consiste en eliminar las regiones más dudosas y quedarse solo con las mejor alineadas. Esto se puede hacer manualmente o mediante algoritmos especializados como el trimAl.

Software de alineamiento múltiple

Existen distintos paquetes de programas que implementan los algoritmos descritos. Estos programas pueden ser tanto servicios web como programas tradicionales. Uno de los más utilizados es el MEGA, un software mutiplataforma enfocado a hacer análisis filogenéticos. Otros dos programas de creación y visualización de alineamientos múltiples son el Jalview, el Strap y ClustalX. Otro programa para windows que durante bastante tiempo gozó de una gran popularidad, pero que ha sido abandonado por su creador es BioEdit. Otro software clásico para hacer alineamientos múltiples y filogenias es el phylip.

En el servidor web del EBI tienen disponibles una serie de programas de alineamiento múltiple como: Clustal Omega, Kalign, MAFFT, MUSCLE y prank.

| | index