Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PAREADOS
Juan Sebastián Andrade Martínez
jsebastian.andrade@javeriana.edu.co
¿Qué vamos a ver hoy?
R A R A R A S P U T I N
R • • •
A • • •
S •
P •
U •
T •
I •
N •
R A R A R A S P U T I N
¿Qué cosas se R • • •
pueden detectar? A • • •
R • • •
A • • •
■ Repeticiones dentro de una
secuencia se ven como
R • • •
diagonales cortas cerca a la A • • •
principal. S •
■ Noten que regiones de baja P •
complejidad tienen entonces U •
muchas diagonales (y en T •
general muchos puntos).
I •
N •
¿Qué cosas se pueden detectar?
R A C E C A R
■ Los palíndromos R • •
generan dos A • •
C • •
diagonales E •
principales que se C • •
cruzan. A • •
R • •
¿Qué problemas hay?
R A X W Z Y S P U T I N
R •
A •
S •
P •
U •
T •
I •
N •
Una última nota sobre DotPlots
■ Si bien no se suele usar, es posible hacer alineamientos con gaps en DotPlots.
■ Se buscan las diagonales más largas y se juntan.
■ No deja de ser subjetivo, no obstante…
R A X W Z Y S P U T I N
R •
A •
S •
P •
U •
T •
I •
N •
ALINEAMIENTOS
GLOBALES
¿Por qué requerimos un algoritmo?
■ El problema de alineamiento global implica alinear las secuencias sobre toda su
longitud.
■ Ensayar todas las combinaciones posibles (fuerza bruta) no es computacionalmente
viable, especialmente debido a que se deben considerar gaps.
■ La solución viene de aplicar en conjunto dos cosas:
– Primero, un criterio de evaluación del alineamiento (sistema de puntajes). Cada
posición del alineamiento va a tener un puntaje, y la suma de todas da el puntaje
del alineamiento.
– Segundo, programación dinámica.
Programación Dinámica
■ La idea va a ser exactamente la misma. Vamos a buscar una ruta óptima, y esa ruta
óptima nos va a dar el alineamiento.
■ Se hace una matriz tal como en un DotPlot, pero ahora cada posición corresponde al
puntaje que llevaría el alineamiento hasta esa posición.
■ Al final, se busca la ruta que genere el mejor alineamiento, de atrás para adelante,
basándonos en las posibles rutas que lleguen hasta allí.
■ Para los fines del ejemplo, vamos a decir que puntaje por un match va a ser de 2, el de
un mismatch de -1.
– Los gaps los vamos a tomar como mismatch.
Algoritmo Needleman-Wunsch
- C A G T G
- 0
A
C
T
C
G
T
■ Ahora nos devolvemos. Todas las rutas factibles para devolverse son alineamientos
óptimos.
Algoritmo Needleman-Wunsch
■ ¿Cuáles son los óptimos en nuestro caso?
■ Óptimo 1 (ruta inferior): Óptimo 2 (ruta media): Óptimo 3 (ruta superior):
■ Noten que el valor óptimo del alineamiento es 2, pues en la última casilla se tenía dicho valor.
ALINEAMIENTOS
LOCALES
¿Por qué requerimos un algoritmo?
■ El problema de alineamiento local permite alinear las secuencias parcialmente.
■ Lo que quiero aquí es el mejor alineamiento posible de dos porciones cualesquiera de
mis secuencias.
■ De nuevo, fuerza bruta no sirve (de hecho ahora es peor).
■ La solución va a ser similar, solo que se va a hacer una modificación sobre los puntajes
posibles.
– Ahora los mismatch no van a ser castigados de igual forma. Si tengo un mismatch,
el puntaje es -1, pero si el puntaje anterior es cero, se deja en cero.
– Al momento de buscar el camino óptimo, me detengo donde vea solo ceros.
Algoritmo Smith-Waterman
- A G A T G
- 0 0 0 0 0 0
T 0 0 0 0 2 1
T 0 0 0 0 2 1
T 0 0 0 0 2 1
G 0 0 2 1 1 3
T 0 0 1 1 3 3
G 0 0 0 0 3 5