Descargar la presentación
La descarga está en progreso. Por favor, espere
2
Programación dinámica (1)
Descrito por primera vez en la década de 1950 por Richard Bellman, de la Universidad de Princeton como una técnica general para resolver problemas de optimización El problema de la optimización surge cuando hay muchas soluciones para un determinado problema y sólo una, o unas pocas, son las mejores La mejor solución se encuentra descomponiendo el problema original en subproblemas más sencillos (divide y vencerás). Las soluciones de los subproblemas están concatenadas: el cuarto subproblema sólo se resuelve con la solución del tercero, el tercero sólo se resuelve con la solución del segundo, y así sucesivamente. La solución del problema original incluye la solución de los diversos subproblemas. Programación dinámica (1)
3
Programación dinámica (2)
La estructura del subproblema es idéntica a la del problema original Programación dinámica (2)
4
Divide y vencerás Fuerza bruta: 6 6 DP: 6 + 6 1- 2 - 3 - 4
2 3 1 11 9 4 5 12 10 8 6 7 Divide y vencerás
5
Alineamientos globales
O (m × n) Alineamientos globales
6
J. Mol. Biol. (1970) 48,
7
Programación dinámica (3)
- Hace falta encontrar una fórmula recurrente (algoritmo) que vaya encontrando la solución de los subproblemas - Se comienza resolviendo el subproblema más trivial. La solución de cada subproblema se va guardando en la memoria del ordenador. Al final, daremos con la solución del problema global - El algoritmo trata de maximizar la puntuación final del alineamiento haciendo coincidir el mayor número posible de emparejamientos de valor elevado y minimizando el número de gaps y de emparejamientos de poco valor Programación dinámica (3)
8
Estructura del subproblema
9
Algoritmo de Needleman & Wunsch (NW)
─ G F (i-1, j-1) F (i-1, j) ─ s(xi,yj) d F (i, j-1) G F (i, j) d Algoritmo de Needleman & Wunsch (NW)
10
El algoritmo - Se necesitan 2 secuencias y un sistema de puntuación
- Garantiza el alineamiento óptimo - Se lleva a cabo en tres etapas: Inicialización Rellenado de la matriz Retroceso - Es costoso en términos de tiempo de computación y de memoria de ordenador El algoritmo
11
El sistema de puntuación
- El sistema de puntuación asigna un valor a cada uno de los posibles casos que podemos encontrar al comparar dos residuos pertenecientes a secuencias distintas: * Coincidencias (matches): + 5 * Diferencias (mismatches): - 3 * Huecos (gaps, indels): - 4 El sistema de puntuación
12
En este ejemplo, la penalización por introducir un hueco es - 4
Match = + 5 Mismatch= − 3 Indel = − 4 En este ejemplo, la penalización por introducir un hueco es - 4 Inicialización
13
Rellenado de la matriz (1)
Match = + 5 Mismatch= − 3 Indel = − 4 Casilla (1,1): la máxima puntuación se alcanza haciendo coincidir las dos G (+ 5) Rellenado de la matriz (1)
14
Rellenado de la matriz (2)
Match = + 5 Mismatch= − 3 Indel = − 4 Casilla (1,2): la máxima puntuación se alcanza introduciendo un hueco (- 4) Rellenado de la matriz (2)
15
Rellenado de la matriz (3)
Match = + 5 Mismatch= − 3 Indel = − 4 - Se van llenando todas las casillas de la matriz - En cada casilla, además de la puntuación se pone una flecha que indica de dónde procede el valor Rellenado de la matriz (3)
16
Rellenado de la matriz (4)
En la casilla inferior izquierda de la matriz aparece la puntuación máxima del alineamiento: 11 Rellenado de la matriz (4)
17
Retroceso (Backtracking)
No hay huecos (Coincidencia o Diferencia) Hueco en la secuencia de la izquierda Hueco en la secuencia superior Retroceso (Backtracking)
18
Alineamiento global óptimo
- Se obtiene el alineamiento óptimo - Es posible que no tenga ningún sentido biológico Alineamiento global óptimo
19
Elementos de partida Ejemplo Secuencia 1: P A W H E A E
Secuencia 2: H E A G A W G H E E Matriz de puntuación: BLOSUM 50 Penalización por hueco: - 8 (Lineal) Ejemplo
20
Matriz de puntuación: BLOSUM 50
H E A G A W G H E E P A W H E Matriz de puntuación: BLOSUM 50
21
Inicialización y llenado de la matriz
H E A G A W G H E E P -8 A -16 W -24 H -32 E -40 A -48 E -56 F(i, j) = F(i-1, j-1) + s(xi ,yj) F(i, j) = max F(i, j) = F(i-1, j) - d F(i, j) = F(i, j-1) - d P-H=-2 E-P=-1 H-A=-2 E-A=-1 -2 -9 -10 -3 F(0,0) + s(xi ,yj) = = -2 F(1,1) = max F(0,1) - d = -8 -8= = -2 F(1,0) - d = -8 -8= -16 F(0,1) + s(xi ,yj) = = -9 F(1,2) = max F(1,1) - d = = = -9 F(0,2) - d = = -24 = -10 F(2,1) = max = -24 = -10 = -10 = -3 F(2,2) = max = = -3 = -17 Inicialización y llenado de la matriz
22
Llenado de la matriz, retroceso y alineamiento
H E A G A W G H E E P A W H E A E -8 -16 -17 -25 -21 -10 -18 -10 -5 -13 -8 E H - E - A P G - A W G - H E - A Alineamiento global óptimo: Llenado de la matriz, retroceso y alineamiento
23
En resumen
24
Alineamientos locales
25
J. Mol. Biol. (1981) 147,
26
Algoritmo de Smith & Waterman (SW)
Introduce tres modificaciones en relación al algoritomo de Needleman-Wunsch: 1.- La penalización por introducir un hueco al comienzo del alineamiento es 0 2.- Cuando un valor de la matriz de puntuación se hace negativo, se pone un 0. Es como si se comenzara un nuevo alineamiento. 3.- La máxima puntuación puede estar en cualquier lugar de la tabla. El retroceso comienza en la casilla con la puntuación más elevada y prosigue hasta alcanzar un 0. Algoritmo de Smith & Waterman (SW)
27
Características del algoritmo
- Se necesitan 2 secuencias y un sistema de puntuación - Garantiza el alineamiento óptimo - Se lleva a cabo en tres etapas: Inicialización Rellenado de la matriz Retroceso - Es costoso en términos de tiempo de computación y de memoria de ordenador Características del algoritmo
28
Algoritmo de Smith & Waterman (SW)
─ F (i, j) F (i, j-1) F (i-1, j) F (i-1, j-1) s(xi,yj) d ─ G Algoritmo de Smith & Waterman (SW)
29
El sistema de puntuación
- En este ejemplo, el sistema de puntuación asigna un valor a cada uno de los posibles casos que podemos encontrar al comparar dos residuos pertenecientes a secuencias distintas: * Coincidencias (matches): + 5 * Diferencias (mismatches): - 3 * Huecos (gaps, indels): - 4 El sistema de puntuación
30
Match = + 5 Mismatch= − 3 Indel = − 4 La penalización por introducir un hueco al inicio del alineamiento es 0 1.- Inicialización
31
2.- Rellenado de la matriz
Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,1): la máxima puntuación se alcanza haciendo coincidir las dos G (+ 5) 2.- Rellenado de la matriz
32
2.- Rellenado de la matriz (2)
Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,2): la máxima puntuación se alcanza introduciendo un hueco (- 4) 2.- Rellenado de la matriz (2)
33
2.- Rellenado de la matriz (3)
Match = +5 Mismatch= − 3 Indel = − 4 Casilla (1,3): como todas las posibilidades dan valores negativos, se coloca un 0 2.- Rellenado de la matriz (3)
34
2.- Rellenado de la matriz (4)
La puntuación máxima puede aparecer en cualquier casilla de la matriz 2.- Rellenado de la matriz (4)
35
3.- Retroceso (Backtracking)
No hay huecos (Coincidencia o Diferencia) Hueco en la secuencia de la izquierda Hueco en la secuencia superior 3.- Retroceso (Backtracking)
36
Elementos de partida Otro ejemplo Secuencia 1: P A W H E A E
Secuencia 2: H E A G A W G H E E Matriz de puntuación: BLOSUM 50 Penalización por hueco: - 8 (Lineal) Otro ejemplo
37
Matriz de puntuación: BLOSUM 50
H E A G A W G H E E P A W H E Matriz de puntuación: BLOSUM 50
38
Inicialización y rellenado de la matriz
H E A G A W G H E E P A W H E A E 5 Inicialización y rellenado de la matriz
39
Retroceso: Alineamiento óptimo
H E A G A W G H E E P A W H E A E 5 20 12 22 28 AA WW G- HH E Alineamiento local óptimo: Retroceso: Alineamiento óptimo
40
Retroceso: Otro alineamiento
H E A G A W G H E E P A W H E A E 10 16 21 H EE AA Segundo mejor alineamiento local: Retroceso: Otro alineamiento
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.