16
Alineamiento de secuencias múltiples 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 .

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

Embed Size (px)

Citation preview

Page 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

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 .

Page 2: 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
Page 3: 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

problema: • conjunto de secuencias s1, s2, ...,sk ( del mismo alfabeto)

• tenemos que insertar espacios hasta que queden todas de igual longitud

M Q P I L L LM L R – L L –M K – I L L L M P P V L I L

ej:

M Q P I L L LM L R L L M K I L L L M P P V L I L

Page 4: 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

¿ Cómo definimos la calidad de un alineamiento múltiple?

M Q P I L L LM 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

ji

ijscorescoreSP )(alineamiento múltiple ij= alineamiento inducido por de si y sj

Page 5: 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

Usando programación dinámica ...

k secuencias de longitud na k dimensiones

a[i1, ..., ik] score de s1[1...i1],...,sk[1...ik]

algoritmo...-inicializar a[0,...0] 0-llenar la matriz a O(nk)

-computar cada entrada: depende de 2k-1 entradas anteriores O(2k)

- score de las columnas: pares O( k2)2

)1( kk

Tiempo estimado de la corrida de O(k22knk)

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 LM L R – L L –M K – I L L - M P P V L I L

Page 6: 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

v sV S N

S N A

A S

S

N

V S

- -

- -

V

-

-

-

-

-

-

s

-

v

s

-

v-

-s

--

-v

s-

--

V S

- -

A S

V

-

A

-v

s-

A-

-

-

A

-

s

A v-

-s

A-

-v

-s

A-

v

s

A

v-

-s

-A

-v

s-

-A

v--

-s-

--A

A

K=3, a es de 3 dim.

Page 7: 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

NP-completo nk celdas

Hay algoritmos heurísticos para computar sólo algunas celdasceldas 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 s1, ..., sk

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(nk)

Un método para olvidarnos de las irrelevantes ...

Page 8: 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

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 2k-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”)

Page 9: 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

Algoritmo de alineamiento de secuencias múltiplesinput: s=(s1,...,sk) y límite inferior Loutput: valor del alineamiento óptimo* Cálculo de Lxy, 1 x < y kpara todo x e y, 1 x < y k, hacer: calcular cxy, la matriz del score total para sx y sy

para todo x e y, 1 x < y k hacer: Lxy 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 cxy[ix, iy] Lxy , 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[n1,..., nk]

),(),(

),(yxqp

qp sssim

Page 10: 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

k secuencias s1,..., sc,...,sk

elegimos una, sc, como centro de la estrella

Y buscamos el alineamiento óptimo entre si y sc

problema de alineamiento entre paresprogramación dinámica O(kn2)

se usa la técnica: “once a gap, always a gap”(los gap que agregamos en sc para cada alineación de a pares,se mantienen en la alineación múltiple)

Alineamiento estrella

.

sc

sk

s1 s2

.

.

Page 11: 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

Un ejemplo para: 3 miembros de la superfamilia

serin-proteasa

Page 12: 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

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”

s1= A T T G C C A T T s2= A T G G C C A T T s3= A T C C A A T T T Ts4= A T C T T C T T s5= A C T G A C C

s1 s2 s3 s4 s5

s1 7 -2 0 -3

s2 7 -2 0 -4

s3 -2 -2 0 -7

s4 0 0 0 -3

s5 -3 -4 -7 -3

2

1

-11

-3

-17

alineamos s1 con cada una ...

Page 13: 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

s1= A T T G C C A T T s2= A T G G C C A T T

s1= A T T G C C A T T s2= A T G G C C A T T s3= A T C C A A T T T Ts4= A T C T T C T T s5= A C T G A C C

s1= A T T G C C A T T - -s3= A T C - C A A T T T T

s1= A T T G C C A T T s4= A T C T T C - T T

s1= A T T G C C A T T s5= A C T G A C C - -

armamos el alineamiento múltiple ... (“once a gap, always a gap”)

alineamientos de a pares: (s1 y otra)

s1= A T T G C C A T T - -s2= A T G G C C A T T - -s3= A T C - C A A T T T Ts4= A T C T T C - T T - -s5= A C T G A C C - - - -

ej. alineamiento estrella

alin. pares O(kn2)cálculo del score delalineamiento múltiple: O(k2l)

total... O(kn2 + k2l)l es la longitud de la sec. más larga en los alin.de a pares

Page 14: 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

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 internoscomputamos los pesos para cada eje =sim entre secuencias

de nodos incidentes

C A T

G T C G

C T G

C T

C G1 1

1 2

1

score total: 6

p(a,b)=1 si a=b =0 si abp(a,-)=-1

nodo

eje

Page 15: 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

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

Page 16: 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

Amino AcidAmino Acidooss

D

E

G P

H

K

R

C

T

M

NQ

S

A

IL

V

F

W

YAAAA

HYDROPHOBICHYDROPHOBICBASIC AABASIC AA

ACID AAACID AA

NEUTRAL AANEUTRAL AA

AROMATIC AAAROMATIC AA