similaridad de cadenas genéticas bienvenido martínez redondo sergio garcía esteban 2008/2009

16
Similaridad de Similaridad de cadenas genéticas cadenas genéticas Bienvenido Martínez Redondo Bienvenido Martínez Redondo Sergio García Esteban Sergio García Esteban 2008/2009 2008/2009

Upload: horacio-de-haro

Post on 28-Jan-2016

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Similaridad de Similaridad de cadenas genéticascadenas genéticas

Bienvenido Martínez RedondoBienvenido Martínez RedondoSergio García EstebanSergio García Esteban

2008/20092008/2009

Page 2: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Estructura del ADNEstructura del ADN– Una molécula de ADN esta formada por dos Una molécula de ADN esta formada por dos

cadenas, llamadas nucleótidos.cadenas, llamadas nucleótidos.– Cada nucleótido esta formado por una Cada nucleótido esta formado por una

molécula de azúcar, un grupo fosfato y un molécula de azúcar, un grupo fosfato y un compuesto nitrogenado llamado base.compuesto nitrogenado llamado base.

– Esta base puede ser Esta base puede ser adeninaadenina(A), (A), citosinacitosina(C), (C), guaninaguanina(G) o (G) o timinatimina(T)(T)

– Las cadenas de genes vendrán Las cadenas de genes vendrán representadas por una serie de letras A-representadas por una serie de letras A-C-G-T.C-G-T.

Page 3: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

MutacionesMutaciones– Un cambio en alguno de los nucleótidos de Un cambio en alguno de los nucleótidos de

una molécula de ADN provoca una una molécula de ADN provoca una mutación.mutación.

– Las mutaciones son la única fuerza Las mutaciones son la única fuerza evolutiva capaz de crear variabilidad.evolutiva capaz de crear variabilidad.

– Existen dos tipos de mutaciones:Existen dos tipos de mutaciones: Las producidas por la inserción o deleción de un Las producidas por la inserción o deleción de un

nucleótido.nucleótido. Las producidas por la sustitución de un Las producidas por la sustitución de un

nucleótido por otro.nucleótido por otro.

Page 4: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

FilogeniaFilogenia– El objetivo de la filogenia es convertir la El objetivo de la filogenia es convertir la

información de las secuencias de información de las secuencias de nucleótidos en un árbol evolutivo de las nucleótidos en un árbol evolutivo de las mismas.mismas.

– El proceso consta de dos pasos:El proceso consta de dos pasos: Primero, alineamiento de secuencias.Primero, alineamiento de secuencias. Segundo, construcción del árbol. Segundo, construcción del árbol.

Page 5: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Alineamiento de secuenciasAlineamiento de secuencias– El alineamiento de secuencias consiste en El alineamiento de secuencias consiste en

comparar dos secuencias homólogas para comparar dos secuencias homólogas para determinar la divergencia desde un ancestro determinar la divergencia desde un ancestro común.común.

– Cuando dos secuencias queden alineadas, se Cuando dos secuencias queden alineadas, se producirán tres tipos de emparejamientos:producirán tres tipos de emparejamientos:

Matches: coincidencias en el mismo lugar del mismo Matches: coincidencias en el mismo lugar del mismo nucleótido.nucleótido.

Mismatches: no coincidencias en el mismo lugar del Mismatches: no coincidencias en el mismo lugar del mismo nucleótido.mismo nucleótido.

Gaps: son emparejados entre “nada” y el nucleótido. Gaps: son emparejados entre “nada” y el nucleótido. Se producen por el proceso de alineamiento.Se producen por el proceso de alineamiento.

Page 6: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Alineamiento de secuenciasAlineamiento de secuencias– Existen dos tipos de alineamiento:Existen dos tipos de alineamiento:

Local: Buscan regiones entre dos proteínas Local: Buscan regiones entre dos proteínas que son parecidas, aunque se hallen que son parecidas, aunque se hallen rodeadas de zonas completamente rodeadas de zonas completamente diferentes. Útiles para proteínas modulares.diferentes. Útiles para proteínas modulares.

Global: Se extiende a lo largo de toda la Global: Se extiende a lo largo de toda la longitud de las secuencias. Útiles cuando las longitud de las secuencias. Útiles cuando las secuencias son parecidas a lo largo de toda secuencias son parecidas a lo largo de toda su longitud.su longitud.

Page 7: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Algoritmos para el alineamiento globalAlgoritmos para el alineamiento global

Matriz de Puntos (Gibss & McIntyre)Matriz de Puntos (Gibss & McIntyre)– Consiste en colocar una de las cadenas en la Consiste en colocar una de las cadenas en la

primera fila y la otra en la primera columna, primera fila y la otra en la primera columna, marcando los puntos en los que coincidan.marcando los puntos en los que coincidan.

– Después se trata de trazar rectas que unan de la Después se trata de trazar rectas que unan de la mejor forma posible, la esquina superior mejor forma posible, la esquina superior izquierda con la esquina inferior derecha, de izquierda con la esquina inferior derecha, de forma que pasemos por el mayor número de forma que pasemos por el mayor número de puntos.puntos.

Page 8: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Algoritmo de Needleman-WunschAlgoritmo de Needleman-Wunsch– Fue desarrollado en 1970 por Saul Fue desarrollado en 1970 por Saul

Needleman y Chistian Wunsch.Needleman y Chistian Wunsch.– Esta basado en programación dinámica y Esta basado en programación dinámica y

siempre encuentra la solución óptima.siempre encuentra la solución óptima.– El proceso que sigue es el siguiente:El proceso que sigue es el siguiente:

Cadenas a alinear son A y B, con |A|=m,|B|=n.Cadenas a alinear son A y B, con |A|=m,|B|=n. Definimos la matriz S, donde cada elemento Definimos la matriz S, donde cada elemento

S(i,j) indica la similitud entre los simbolos el S(i,j) indica la similitud entre los simbolos el alfabeto.alfabeto.

Definimos también una variable d que indica la Definimos también una variable d que indica la penalización por hueco.penalización por hueco.

Page 9: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Algoritmo de Needleman-WunschAlgoritmo de Needleman-WunschCreamos una matriz interna llamada F, que Creamos una matriz interna llamada F, que

almacenara los resultados parciales de cada almacenara los resultados parciales de cada alineamiento.alineamiento.

En cada iteración, el valor (i,j) de F, indica el En cada iteración, el valor (i,j) de F, indica el alineamiento óptimo entre A[0,i] y B[0,i]. Por alineamiento óptimo entre A[0,i] y B[0,i]. Por tanto el elemento (n,m) de F contendrá el tanto el elemento (n,m) de F contendrá el alineamiento óptimo.alineamiento óptimo.

Una vez calculada F, solo queda obtener la Una vez calculada F, solo queda obtener la secuencia de alineamiento consistente en secuencia de alineamiento consistente en llegar desde la posición (n,m) hasta la (1,1)llegar desde la posición (n,m) hasta la (1,1)

Page 10: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Algoritmo de Needleman-WunschAlgoritmo de Needleman-Wunsch– Explicación de la matriz S:Explicación de la matriz S:

Para estas secuencias:Para estas secuencias:AGCCTATCAGCCTATC

ACC_T_TC ACC_T_TC Con d= -5 Con d= -5

Con S=Con S=

Tendríamos:Tendríamos:Score = S(A,A) + S(G,C) + S(C,C) + d + S(T,T) + d + S(T,T) Score = S(A,A) + S(G,C) + S(C,C) + d + S(T,T) + d + S(T,T) + S(C,C) = 29+ S(C,C) = 29

AA GG CC TT

AA 1010 -1-1 -3-3 -4-4

GG -1-1 77 -5-5 -3-3

CC -3-3 -5-5 99 00

TT -4-4 -3-3 00 88

Page 11: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Algoritmo de Needleman-WunschAlgoritmo de Needleman-WunschInicio del algoritmo: Inicio del algoritmo:

F0j = d * j F0j = d * j

Fi0 = d * i Fi0 = d * i

Recursión para obtener el siguiente elemento de forma óptima: Recursión para obtener el siguiente elemento de forma óptima:

Fij = max(Fi − 1,j − 1 + S(Ai,Bj),Fi,j − 1 + d,Fi − 1,j + d)Fij = max(Fi − 1,j − 1 + S(Ai,Bj),Fi,j − 1 + d,Fi − 1,j + d)

Calculamos la matriz F:Calculamos la matriz F:

for i=0 to length(A)-1 for i=0 to length(A)-1

F(i,0) <- d*i F(i,0) <- d*i

for j=0 to length(B)-1 for j=0 to length(B)-1

F(0,j) <- d*j F(0,j) <- d*j

for i=1 to length(A) for i=1 to length(A)

for j = 1 to length(B) { for j = 1 to length(B) {

Choice1 <- F(i-1,j-1) + S(A(i), B(j)) Choice1 <- F(i-1,j-1) + S(A(i), B(j)) Choice2 <- F(i-1, j) + d Choice2 <- F(i-1, j) + d

Choice3 <- F(i, j-1) + d Choice3 <- F(i, j-1) + d

F(i,j) <- max(Choice1, Choice2, Choice3) }F(i,j) <- max(Choice1, Choice2, Choice3) }

Page 12: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Filogenia y similaridad de cadenasFilogenia y similaridad de cadenas

Algoritmo de Needleman-WunschAlgoritmo de Needleman-Wunsch AlignmentA <- "" AlignmentA <- "" AlignmentB <- "" AlignmentB <- ""

i <- length(A) - 1 i <- length(A) - 1 j <- length(B) – 1j <- length(B) – 1

while (i > 0 AND j > 0) { while (i > 0 AND j > 0) {

Score <- F(i,j) ScoreDiag <- F(i - 1, j - 1) ScoreUp <- F(i, j - 1) ScoreLeft <- F(i - 1, j) Score <- F(i,j) ScoreDiag <- F(i - 1, j - 1) ScoreUp <- F(i, j - 1) ScoreLeft <- F(i - 1, j)

if (Score == ScoreDiag + S(A(i), B(j))) { if (Score == ScoreDiag + S(A(i), B(j))) {

AlignmentA <- A(i-1) + AlignmentA AlignmentA <- A(i-1) + AlignmentA

AlignmentB <- B(j-1) + AlignmentB i <- i - 1 j <- j - 1 } AlignmentB <- B(j-1) + AlignmentB i <- i - 1 j <- j - 1 }

else if (Score == ScoreLeft + d) { else if (Score == ScoreLeft + d) {

AlignmentA <- A(i-1) + AlignmentA AlignmentA <- A(i-1) + AlignmentA

AlignmentB <- "-" + AlignmentB i <- i - 1 } AlignmentB <- "-" + AlignmentB i <- i - 1 }

otherwise (Score == ScoreUp + d) { otherwise (Score == ScoreUp + d) {

AlignmentA <- "-" + AlignmentA AlignmentA <- "-" + AlignmentA

AlignmentB <- B(j-1) + AlignmentB j <- j - 1 } AlignmentB <- B(j-1) + AlignmentB j <- j - 1 }

}}

while (i > 0) { while (i > 0) {

AlignmentA <- A(i-1) + AlignmentA AlignmentA <- A(i-1) + AlignmentA

AlignmentB <- "-" + AlignmentB i <- i - 1 AlignmentB <- "-" + AlignmentB i <- i - 1

} }

while (j > 0) { AlignmentA <- "-" + AlignmentA while (j > 0) { AlignmentA <- "-" + AlignmentA

AlignmentB <- B(j-1) + AlignmentB j <- j - 1 } AlignmentB <- B(j-1) + AlignmentB j <- j - 1 }

Page 13: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Herramienta PropiaHerramienta Propia

– Hemos desarrollado una herramienta, que Hemos desarrollado una herramienta, que implementa el algoritmo de Needleman-implementa el algoritmo de Needleman-Wunsch.Wunsch.

– La hemos implementado en java y desarrollado La hemos implementado en java y desarrollado con el NetBeans.con el NetBeans.

– Esta herramienta nos ofrece la posibilidad de Esta herramienta nos ofrece la posibilidad de cargar las cadenas mediante ficheros, cargar las cadenas mediante ficheros, modificar la matriz S y nos muestra tanto el modificar la matriz S y nos muestra tanto el alineamiento de las cadenas como las alineamiento de las cadenas como las puntuaciones de similaridad.puntuaciones de similaridad.

– En la dirección En la dirección http://xylian.igh.cnrs.fr/ se se puede encontrar una herramienta llamada puede encontrar una herramienta llamada ALIGN muy parecida.ALIGN muy parecida.

Page 14: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Herramienta PropiaHerramienta Propia

Page 15: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

Herramienta PropiaHerramienta Propia

Page 16: Similaridad de cadenas genéticas Bienvenido Martínez Redondo Sergio García Esteban 2008/2009

ConclusionesConclusiones

- Amplitud del campo de la BioInformáticaAmplitud del campo de la BioInformática- Conseguir abstraer los problemas Conseguir abstraer los problemas

puramente técnicospuramente técnicos- Nuestro tema se planteaba muy bien Nuestro tema se planteaba muy bien

desde un punto de vista informáticodesde un punto de vista informático- Necesidad de comunicación entre Necesidad de comunicación entre

ambos sectoresambos sectores