La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Alineamiento de secuencias múltiples ¿ Por qué alinear simultáneamente varias secuencias? Un ejemplo claro de este caso sería comparar proteínas muy conservadas.

Presentaciones similares


Presentación del tema: "Alineamiento de secuencias múltiples ¿ Por qué alinear simultáneamente varias secuencias? Un ejemplo claro de este caso sería comparar proteínas muy conservadas."— Transcripción de la presentación:

1 Alineamiento de secuencias múltiples ¿ Por qué alinear simultáneamente varias secuencias? Un ejemplo claro de este caso sería comparar proteínas muy conservadas evolutivamente que cumplen igual función en distintos organismos, de esta forma se podrían confeccionar árboles evolutivos. Un caso muy estudiado en mamíferos es la insulina, la cual está muy conservada en distintas especies. “Los cambios acumulados en una secuencia biológica se producen a una tasa relativamente constante e independiente de parámetros poblacionales” El alineamiento de múltiples secuencias es muy utilizado en la búsqueda de que varias especies estén emparentadas por un ancestro común.

2

3 problema: conjunto de secuencias s 1, s 2,...,s k ( del mismo alfabeto) tenemos que insertar espacios hasta que queden todas de igual longitud M Q P I L L L M L R – L L – M K – I L L L M P P V L I L ej: M Q P I L L L M L R L L M K I L L L M P P V L I L

4 ¿ Cómo definimos la calidad de un alineamiento múltiple? M Q P I L L L M L R – L L – M K – I L L - M P P V L I L Necesitamos una definición para el score de cada columna Definimos una función que sea: 1) independiente del orden de los argumentos score(I,-,I,V)= score(V,I,I,-) 2) sume cuando los símbolos son iguales o parecidos y reste cuando son diferentes y cuando hay espacios Función SP (suma de a pares) SP-score(I,-,I,V)=p(I,-)+p(I,I)+p(I,V)+p(-,I)+p(-,V)+p(I,V) p(a,b) p(-,-)=0 buscamos el alineamiento con máximo score alineamiento múltiple   ij = alineamiento inducido por  de s i y s j

5 Usando programación dinámica... k secuencias de longitud n a k dimensiones a[i 1,..., i k ] score de s 1 [1...i 1 ],...,s k [1...i k ] algoritmo... -inicializar a[0,...0]  0 -llenar la matriz a O(n k ) -computar cada entrada: depende de 2 k -1 entradas anteriores O(2 k ) - score de las columnas: pares O( k 2 ) Tiempo estimado de la corrida de O(k 2 2 k n k ) Es exponencial en el input de secuencias, debido a la cantidad de celdas a llenar NP-completo !! j i......... M Q P I L L L M L R – L L – M K – I L L - M P P V L I L

6 vs V S N S N A A S SNSN V S - V--V-- ------ -s--s- vs-vs- v- -s -- -v s- -- V S - A S V-AV-A -v s- A- --A--A -sA-sA v- -s A- -v -s A- vsAvsA v- -s -A -v s- -A v-- -s- --A A K=3, a es de 3 dim.

7 NP-completo n k celdas Hay algoritmos heurísticos para computar sólo algunas celdas celdas  celdas relevantes ¿qué celdas son relevantes y por qué? idea: proyecciones de a pares de las celdas (test de relevancia) Sea  una alineación óptima para s 1,..., s k celda relevante  cada una de sus proyecciones de a pares es parte de una alineación óptima de las dos secuencias del par. Pero todavía tenemos que mirar todas las celdas... O(n k ) Un método para olvidarnos de las irrelevantes...

8 Estrategia para olvidar las celdas irrelevantes: En cada tiempo t consideramos un pool de celdas * celdas dependientes * celdas influyentes  i influye sobre j si i es una de las cedas usadas en la computación máxima para determinar el valor de a[j]. (cada celda depende (e influye), a lo sumo, de 2 k -1 otras) j i......... ¿ pool ? contiene las celdas relevantes en todos los tiempos inicialmente  0=(0,...0) en cada paso se remueve una celda del pool ( “lexicográficamente menor”)

9 Algoritmo de alineamiento de secuencias múltiples input: s=(s 1,...,s k ) y límite inferior L output: valor del alineamiento óptimo * Cálculo de L xy, 1  x < y  k para todo x e y, 1  x < y  k, hacer: calcular c xy, la matriz del score total para s x y s y para todo x e y, 1  x < y  k hacer: L xy  L – * Cálculo de la matriz a: pool  { 0 } while pool no esté vacío hacer: i  celda del pool lexicogrphically smallest pool  pool \ {i} if c xy [i x, i y ]  L xy,  x, y 1  x < y  k, then *test de relevancia para todo j dependiente de i hacer: if j  pool entonces pool  pool  {j} a[j]  a[i] + SP-score(Column(s,i,j-i)) else a[j]  máx {a[j], a[i] + SP-score(Column(s,i,j-i)) } return a[n 1,..., n k ]

10 k secuencias s 1,..., s c,...,s k elegimos una, s c, como centro de la estrella Y buscamos el alineamiento óptimo entre s i y s c problema de alineamiento entre pares programación dinámica O(kn 2 ) se usa la técnica: “once a gap, always a gap” (los gap que agregamos en s c para cada alineación de a pares, se mantienen en la alineación múltiple) Alineamiento estrella. scsc sksk s1s1 s2s2..

11 Un ejemplo para: 3 miembros de la superfamilia serin-proteasa  

12 ejemplo: 5 secuencias de ADN ¿cuál elegimos como central? un criterio posible: calcular el score de todos los pares posibles, y elegir “la más similar” s 1 = A T T G C C A T T s 2 = A T G G C C A T T s 3 = A T C C A A T T T T s 4 = A T C T T C T T s 5 = A C T G A C C s1s1 s2s2 s3s3 s4s4 s5s5 s1s1 7-20-3 s2s2 7-20-4 s3s3 -2 0-7 s4s4 000-3 s5s5 -4-7-3 2 1 -11 -3 -17 alineamos s 1 con cada una...

13 s 1 = A T T G C C A T T s 2 = A T G G C C A T T s 1 = A T T G C C A T T s 2 = A T G G C C A T T s 3 = A T C C A A T T T T s 4 = A T C T T C T T s 5 = A C T G A C C s 1 = A T T G C C A T T - - s 3 = A T C - C A A T T T T s 1 = A T T G C C A T T s 4 = A T C T T C - T T s 1 = A T T G C C A T T s 5 = A C T G A C C - - armamos el alineamiento múltiple... (“once a gap, always a gap”) alineamientos de a pares: (s 1 y otra) s 1 = A T T G C C A T T - - s 2 = A T G G C C A T T - - s 3 = A T C - C A A T T T T s 4 = A T C T T C - T T - - s 5 = A C T G A C C - - - - ej. alineamiento estrella alin. pares O(kn 2 ) cálculo del score del alineamiento múltiple: O(k 2 l) total... O(kn 2 + k 2 l) l es la longitud de la sec. más larga en los alin.de a pares

14 Alineamiento árbol ¿Por qué alinear de esta manera? a veces hay árboles evolutivos para las secuencias involucradas k secuencias y un árbol con k hojas asignamos secuencias en los nodos internos computamos los pesos para cada eje =sim entre secuencias de nodos incidentes C A T G TC G C T G C T C G 11 12 1 score total: 6 p(a,b)=1 si a=b =0 si a  b p(a,-)=-1 nodo eje

15 Symbol 3-letter Codons A Ala GCT GCC GCA GCG C Cys TGT TGC D Asp GAT GAC E Glu GAA GAG F Phe TTT TTC G Gly GGT GGC GGA GGG H His CAT CAC I Ile ATT ATC ATA K Lys AAA AAG L Leu TTG TTA CTT CTC CTA CTG M Met atg N Asn AAT AAC P Pro CCT CCC CCA CCG Q Gln CAA CAG R Arg CGT CGC CGA CGG AGA AGG S Ser TCT TCC TCA TCG AGT AGC T Thr ACT ACC ACA ACG V Val GTT GTC GTA GTG W Trp TGG Y Tyr TAT TAC * End TAA TAG TGA

16 Amino Acidos D E G P H K R C T M N Q S A I L V F W Y AA HYDROPHOBIC BASIC AA ACID AA NEUTRAL AA AROMATIC AA


Descargar ppt "Alineamiento de secuencias múltiples ¿ Por qué alinear simultáneamente varias secuencias? Un ejemplo claro de este caso sería comparar proteínas muy conservadas."

Presentaciones similares


Anuncios Google