1 / 109

IV Alineamiento múltiple de secuencias

IV Alineamiento múltiple de secuencias. Andrés Moreira Departamento de Informática UTFSM. Alineamiento de secuencias. Hemos hablado del alineamiento de a pares :

anisa
Télécharger la présentation

IV Alineamiento múltiple de secuencias

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IVAlineamiento múltiple de secuencias Andrés Moreira Departamento de Informática UTFSM

  2. Alineamiento de secuencias • Hemos hablado del alineamiento de a pares : • se alinean dos secuencias de la mejor manera posible para maximizar identidad y conservación; se busca evaluar similaridad, y posible homología. • Sirve para ver si dos secuencias se parecen, significativamente. • Sirve para buscar secuencias parecidas a una secuencia dada. • ...Y también es la base para poder alinear de a más de 2.

  3. Alineamiento múltiple de secuencias • Alineamiento múltiple: • se alinea un grupo de secuencias ( no es lo mismoque alinearlas a todas de a pares!). • El alineamiento múltiple busca identificar letras homólogas en secuencias homólogas. • En general se aplica sobre grupos de secuencias que ya se saben homólogas. • Aún en sus variantes más simples, es NP-duro.

  4. Alineamiento múltiple de secuencias El alineamiento múltiple ayuda a: Hacer árboles filogenéticos, y estudiar la evolución a nivel molecular.

  5. Alineamiento múltiple de secuencias El alineamiento múltiple ayuda a: Hacer árboles filogenéticos, y estudiar la evolución a nivel molecular. • Preguntas del tipo: • ¿De dónde salió la secuencia X? • ¿Qué filogenia tienen las secuencias X, Y, Z? • ¿Este genoma, contiene algún gen que haya llegado por transferencia horizontal? • ¿Hay genes duplicados? • ...etc

  6. Alineamiento múltiple de secuencias • El alineamiento múltiple ayuda a: • Caracterizar familias de proteínas • identificación de regiones conservadas, funcionalmente importantes (sitios activos de enzimas, sitios de asociación con otras moléculas...) • inferencia de función (cuando alguien entra a la familia) • inferencia de estructura (global y de regiones específicas) para miembros nuevos de la familia

  7. Alineamiento múltiple de secuencias El alineamiento múltiple ayuda a: Caracterizar familias de proteínas También sirve para buscar miembros nuevos, buscando homólogos en una BD, que sigan el mismo “perfil”.

  8. A C A T A T A T A A A T A C G C A T T C G G A T A T C G A G Perfiles y logos Alineamiento y perfil: A 0.8 0 0.4 0.2 1 0 C 0 0.6 0.2 0.2 0 0 G 0 0 0.4 0.4 0 0.2 T 0.2 0.4 0 0.2 0 0.8

  9. Perfiles y logos Sequence Logo A 0.8 0 0.4 0.2 1 0 C 0 0.6 0.2 0.2 0 0 G 0 0 0.4 0.4 0 0.2 T 0.2 0.4 0 0.2 0 0.8

  10. Perfiles y logos • En cada columna tenemos una densidad de probabilidad; podemos calcular su entropía: • Si pia es la frecuencia de la letra a en la columna i, entonces H(i) = −Σapialog pia • Es una forma de evaluar la calidad del alineamiento en esa columna: • H(i)=0  todas iguales (la misma letra) • H(i) máximo  cero información! • Se suelen tomar los gaps como una letra más, aunque hay variaciones.

  11. Más útil que  Perfiles y logos En el logo, se escala cada columna por su entropía (con respecto al máximo, o mejor dicho, a su diferencia con respecto al máximo: columnas más altas reducen más la incerteza).

  12. Perfiles y logos También se hacen de proteínas:

  13. Perfiles y logos • En ese caso se colorean los aminoácidos por grupos: • Hidrofóbicos: A, V, I, L, M, F, P, W • Básicos: K, R, H • Acídicos: D, E • Polares: S, T, N, Q, G, Y, C

  14. ¿Cómo evaluar? ¿Cómo elegimos el alineamiento? Opción 1: el que construye un experto, a ojo. Se usan. Y a veces son excelentes. Opción 2: el que encontramos con un algoritmo. Pero en ese caso necesitamos una función a maximizar.  ¿Quées un buen alineamiento múltiple?

  15. X A B C E U V D W (nos deshacemos de lo desconocido, sumándolo) ¿Cómo evaluar? En rigor, quisiéramos buscar el árbol filogenético más probable... ... pero es impracticable. Falta demasiada información (e.g., las ramas pueden ser de distintos largos), y además es demasiado cómputo.

  16. ¿Cómo evaluar? • Lo más común: se dan puntajes por columnas del alineamiento, y se busca optimizar la suma de esos puntajes (es la extensión más obvia de lo que se hace en el alineamiento de a pares). • Se usan varias opciones. Entre otras: • Cantidad máxima de letras idénticas (trivial, e inútil) • Entropía • “Suma de a pares”: suma el puntaje de cada par de letras de la columna (calculado como al alinear de a pares).

  17. ¿Cómo evaluar? Suma de a pares: AA: 4, AS: 1, AT:0 AS: 1, AT: 0 ST: 1 Puntaje: 4+1+0+1+0+1 = 7 ...A... ...A... ...S... ...T... • Desventaja de la suma de a pares: • No tiene detrás un modelo probabilista razonable. • Desventaja de la entropía (y de la suma de a pares): • No tiene detrás un modelo de la filogenia! • Se parcha. Se ponen pesos para distintos niveles de semejanza (en alguna medida, recoge filogenia).

  18. Prog. dinámica multidimensional Ok, escogemos una forma de poner puntaje, por columna. ¿Cómo lo optimizamos? Primera idea: extender el método de programación dinámica usado para alinear de a pares. Así como antes avanzábamos por cada una de las secuencias, moviéndonos en un plano, ahora avanzamos por k secuencias. (0,0,0)  (1,1,0)  (1,2,1)  (2,3,2)  (3,3,3)  (4,4,4)

  19. 3D 2D V W Prog. dinámica multidimensional

  20. si-1,j-1,k-1 + (vi, wj, uk) si-1,j-1,k + (vi, wj, _ ) si-1,j,k-1 + (vi, _, uk) si,j-1,k-1 + (_, wj, uk) si-1,j,k + (vi, _ , _) si,j-1,k + (_, wj, _) si,j,k-1 + (_, _, uk) Prog. dinámica multidimensional si,j,k = max

  21. Prog. dinámica multidimensional • El orden es O(2knk), para k secuencias de largo n. • Para una proteína típica, n=100. • Más allá de k=4,5, se vuelve inservible. • Para k=7, n=100, requeriría varios terabytes de RAM. • No se usa!!

  22. (se proyecta el camino 3d sobre los lados del cubo) Otras ideas... Otra idea: alinear todos los pares de secuencias, y combinar todos esos alineamientos en uno común. Después de todo, un alineamiento múltiple induce alineamientos de a pares:

  23. Otras ideas... x: AC-GCGG-C y: AC-GC-GAG z: GCCGC-GAG induce: x: ACGCGG-C; x: AC-GCGG-C; y: AC-GCGAG y: ACGC-GAC; z: GCCGC-GAG; z: GCCGCGAG ...así que cabría la esperanza de hacer el proceso inverso.

  24. Otras ideas... • Pero: • Alineamiento óptimo múltiple no induce óptimos de a pares. • Alineamientos óptimos de a pares son difíciles de combinar en un buen alineamiento múltiple. • Alineamientos de a pares pueden ser inconsistentes (es decir, puede no existir uno múltiple que los induzca). • no va por ahí la cosa.

  25. Alineamiento progresivo • Algo que sí se usa (y mucho): alineamiento progresivo. • Idea: alineo primero dos secuencias. Luego alineo el resultado de eso con una tercera secuencia. Y así sucesivamente. • ¿En qué orden? • Una opción sería tomar las dos más cercanas (evaluando la similaridad de a pares). Luego, la que se acerque más al resultado de eso. Y así, sucesivamente. No se hace.

  26. A B C E U V X A B C E D D W Alineamiento progresivo • CLUSTAL: • Calcula la similaridad de cada par. • Construye un “árbol guía”. • Alinea primero lo más cercano, y va subiendo por el árbol. • Ojo: se requiere alinear secuencias con alineamientos (y alineamientos con alineamientos!).

  27. v1 v3 v4 v2 v1 v2 v3 v4 v1 - v2 .17 - v3 .87 .28 - v4 .59 .33 .62 - Alineamiento progresivo El arbol guía se construye con neighbour joining (un algoritmo que veremos al hablar de filogenia). Calcular:v1,3 = alineamiento(v1, v3)v1,3,4 = alineamiento((v1,3),v4)v1,2,3,4 = alineamiento((v1,3,4),v2)

  28. Alineamiento progresivo Pueden aparecer nuevos gaps en el camino. S1 S3 S1 S3 S4 S2 S2 S4 S1 S3 S2 S4 Gap nuevo para optimizar el alineamiento de (S2,S4) con (S1,S3)

  29. Alineamiento progresivo • ¿Cómo asignar puntajes al alinear una letra contra un perfil, o un perfil contra otro? • Lo sencillo: escribir la nueva columna completa (con lo que ya llevo alineado en cada lado para esa posición), y evaluar el puntaje de la columna. • Alternativa: comparar sólo con el perfil: No será A contra AC, sino A contra (0.5,0.5,0,0). Esto es útil cuando hay muchas secuencias, y cuando se usa un perfil para buscar en una base de datos.

  30. Alineamiento progresivo Pero ojo: si se compara una letra y contra un perfil p (en que p(x) es la frecuencia de la letra x ), y estamos usando la matriz de sustitución Q, entonces el puntaje NO es X pues ese Q se obtuvo como Q(a,b)=log q (a,b), donde q (a,b) representaba la probabilidad de que el alineamiento fuera no aleatorio. Para que siga teniendo sentido sumar, hay que usar y para dos perfiles,

  31. Alineamiento progresivo Clustal es lejos lo más usado hoy en día por los biólogos para alinear secuencias. http://www.clustal.org/ Viene en dos sabores: ClustalW (línea de comando), ClustalX (+GUI). La GUI no es algo menor: alinear es un arte. La W viene de “weighted”: añade pesos en distintos niveles del alineamiento (según la distancia a la raíz), quitándole importancia excesiva a grupos de secuencias muy similares.

  32. Alineamiento progresivo • Otras cosas que agrega: • Usa matrices de sustitución distintas, según nivel de semejanza entre secuencias. • La penalización de gaps también la va variando: • Se penalizan menos allí donde ya hay gaps • Se penalizan más cerca de donde ya hay gaps. • Además los modifica con consideraciones bioquímicas. • Hay posibilidades para que el usuario predetermine el árbol guía, o para realinear tramos de la secuencia.

  33. Alineamiento progresivo • Problemas del alineamiento progresivo: • Se casa mucho con los alineamientos con que parte; esos gaps y alineación se acarrean después. Si las secuencias no son muy parecidas, puede ser malo. • Respuesta: métodos iterativos, y otros. • Es global! La semejanza puede estar en trozos de las secuencias.

  34. Alineamiento progresivo Lo que debiera ser Lo que da Clustal • Respuestas a eso: • Cortar antes los tramos similares y alinearlos. • Usar algoritmos que se preocupan de eso.

  35. Alineamiento iterativo • Iterar: para deshacerse de la dependencia de lo inicial. • En Clustal es posible iterar de varias formas: • Usar el alineamiento para construir un árbol filogenético, y usar eso como árbol guía en un nuevo alineamiento. [Eso requiere pasar por otro software]. • Realinear las secuencias ya alineadas (con sus gaps). • +Hacerlo a partir de varios sets de parámetros distintos. Ir viendo qué zonas son importantes. Realinear a mano. Etc. (El manual recomienda generar al menos 10 alineamientos).

  36. Alineamiento iterativo • Otros métodos iterativos: • DIALIGN: pone énfasis en alineamientos locales entre las secuencias. • MUSCLE: va revisando el árbol guía

  37. Alineamiento iterativo: MUSCLE • MUSCLE: va revisando el árbol guía. • Parte como Clustal • Sobre la marcha va revisando: acaso el árbol guía ha cambiado, y acaso alguna parte se puede realinear mejor.

  38. Alineamiento iterativo: MUSCLE ¿Ha cambiado el árbol? Calcula la similaridad de los alineamientos de a pares inducidos por el actual alineamiento múltiple. Si eso da un árbol distinto al que está usando, realínea según eso, y ve si el puntaje general mejora.

  39. S T U X Z Realínea los perfiles resultantes de cada árbol Borra arista S T U X Z Alineamiento iterativo: MUSCLE ¿Hay algo que realinear? Prueba a cortar el árbol.

  40. Alineamiento iterativo: alg. evolucionarios • Métodos evolucionarios: • Lo que se muta es la ubicación de los gaps (un alineamiento no es otra cosa que una distribución de gaps!). • Algoritmos genéticos: SAGA • Simulated Annealing: MSASA • Variante “hill climbing”: muta en direcciones provechosas.

  41. Cruce de alineamientos Una mutación Alineamiento iterativo: alg. evolucionarios ...etc

  42. Alineamiento : DIALIGN II • Énfasis en los alineamientos locales. • Busca buenos (=buen P-value) alineamientos locales (de a pares). • Los va re-evaluando según qué tan compatibles son unos con otros... • Hasta que obtiene un buen set de alineamientos locales ordenados y coherentes. Y con eso, alínea.

  43. Alineamiento : DIALIGN II • Es especialmente útil para: • similitudes que son sólo locales • secuencias muy lejanas • Y es una gracia el no tener que tratar los “gaps” de manera ad-hoc.

  44. Alineamiento: nota al margen • Hay muuuchos algoritmos y software de MSA. • Casi toda técnica de optimización conocida por el hombre, se ha aplicado. Para bien o para mal. • Clasificar los algoritmos es difícil; combinan características de varios lados (estocásticos/deterministas, progresivos/simultaneos, exactos/heurísticos, iterativos o no...), y mutan de año en año. • Aquí daré sólo las ideas principales de algunos; meternos al detalle sería interminable.

  45. Alineamiento: nota al margen • Esa diversidad, y los avances permanentes, son importantes. El alineamiento (de a pares y múltiple) es ubicuo en bioinformática. • Dos reviews instructivos, legibles y no muy largos: • Multiple sequence alignment, R.C. Edgar & S. Batzoglou (2006), Curr Op Struct Biol 16(3) 368-373; doi:10.1016/j.sbi.2006.04.004 • Disponible en http://ai.stanford.edu/~serafim/Publications/2006_MSA_COSB.pdf • Recent evolutions of multiple sequence alignment algorithms, C. Notredame (2007), PLoS Comput Biol 3(8) e123, doi:10.1371/journal.pcbi.0030123 • Disponible ahí.

  46. Alineamiento: T-Coffee • Idea: Generar una biblioteca de alineamientos (globales y locales) de a pares entre las secuencias. Tratar de hacer el alineamiento múltiple que sea consistente con esa biblioteca. • Primero genera una biblioteca, haciendo alineamientos de a pares, global y local, entre todas las secuencias.

  47. Alineamiento: T-Coffee • Asigna puntaje a los matches de esos alineamientos. En un proceso llamado extensión de la biblioteca, usa terceras secuencias para modificar los puntajes en un par dado. • Al final tiene, sobre los alineamientos de a pares, puntajes que reflejan la compatibilidad con otros alineamientos. • Y usa eso para hacer la prog. din., en alineamiento progresivo.

  48. Alineamiento: T-Coffee

  49. Es de lo mejorcito que ha aparecido. Alineamiento: T-Coffee + Presta más atención a homologías locales que Clustal. + Permite incluir información de otras fuentes! A la biblioteca primaria se le pueden agregar alineamientos obtenidos con Clustal, Dialign, información biológica, lo que sea.

  50. Alineamiento: POA POA: Partial Order Alignment Idea: no resumir los alineamientos en perfiles, sino que dibujar un grafo. Y alinear vía programación dinámica, pero contra ese grafo.

More Related