Algoritmos en Bioinform´tica
a
John Trujillo
Universidad Del Valle - Cali
jhon.trujillo@univalle.edu.co

19 de noviembre de 2013

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

1 / 65
Resumen

1

Programaci´n Din´mica
o
a

2

Algoritmo de Needleman-Wunschi

3

Algoritmo de Smith Waterman

4

Algoritmo de Blast

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

2 / 65
Programaci´n Din´mica
o
a

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

3 / 65
Programaci´n Din´mica: Concepto
o
a

Dividir el problema en Subproblemas (Dividir y conquistar).
Optimizar resultados.
Resolver cada Subproblema de forma ´ptima.
o
Computar bajo la t´cnica Bottom-Up.
e

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

4 / 65
Programaci´n Din´mica: Etapa
o
a

Etapa
Fase donde se produce un cambio debido a una decisi´n.
o
Cada sub-problema puede ser visto como una fase.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

5 / 65
Programaci´n Din´mica: Estado
o
a

Estado
Situaci´n actual del sistema en una etapa determinada.
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

6 / 65
Programaci´n Din´mica: T´cnica Bottom-Up
o
a
e

Bottom-Up
Cuando se usa esta relaci´n recursiva, el procedimiento de soluci´n
o
o
comienza al final y se mueve hacia atr´s etapa por etapa, hasta que
a
encuentra la pol´
ıtica ´ptima desde la etapa inicial.
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

7 / 65
Programaci´n Din´mica: Ejemplo Fibo
o
a

Fibonachi
Fn = 0 if n=0
Fn = 1 if n = 1
Fn = Fn-1 + Fn-2

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

8 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a



John Trujillo (Univalle)




Intro. BioInform´tica
a



19 de noviembre de 2013

9 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a









John Trujillo (Univalle)



Intro. BioInform´tica
a








19 de noviembre de 2013

10 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a












John Trujillo (Univalle)








Intro. BioInform´tica
a


















19 de noviembre de 2013

11 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a















John Trujillo (Univalle)

























Intro. BioInform´tica
a














19 de noviembre de 2013

12 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a

























































John Trujillo (Univalle)



Intro. BioInform´tica
a

19 de noviembre de 2013

13 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a







John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

14 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a




















John Trujillo (Univalle)




Intro. BioInform´tica
a

19 de noviembre de 2013

15 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a







































John Trujillo (Univalle)



Intro. BioInform´tica
a

19 de noviembre de 2013

16 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a
















































John Trujillo (Univalle)




Intro. BioInform´tica
a

19 de noviembre de 2013

17 / 65
Programaci´n Din´mica: Diagrama Fibo
o
a














































John Trujillo (Univalle)











Intro. BioInform´tica
a

19 de noviembre de 2013

18 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a

Encontrar el camino m´s corto en un grafo de S a T
a







John Trujillo (Univalle)

















Intro. BioInform´tica
a

19 de noviembre de 2013

19 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a

Encontrar el camino m´s corto en un grafo de S a T
a























1+2+5 = 8

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

20 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a
Encontrar el camino m´s corto en un grafo de S a T
a






































Path Largo : (S, A, D, T) : 1 + 4 + 18 = 23
Path Corto : (S, C, F, T) : 5 + 2 + 2 = 9

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

21 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a
Encontrar el camino m´s corto en un grafo de S a T
a























d(S, T) = min{1+d(A, T), 2+d(B, T), 5+d(C, T)}

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

22 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a
Encontrar el camino m´s corto en un grafo de S a T
a







































d(A, T) = min{1+5+d(D, T), 1+11+d(E, T), 2+9+d(D, T),
2+5+d(E, T), 2+16+d(E, T), 5+2+d(F, T) }
John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

23 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a
Encontrar el camino m´s corto en un grafo de S a T
a








































d(A, T) = min{1+5+18, 1+11+13, 2+9+18, 2+5+13, 2+16+13,
5+2+2}
John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

24 / 65
Programaci´n Din´mica: Camino m´s Corto
o
a
a
Encontrar el camino m´s corto en un grafo de S a T
a






































d(A, T) = 9

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

25 / 65
Algoritmo de Needleman-Wunschi

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

26 / 65
Algoritmo de Needleman-Wunschi

Saul Needleman y Christian Wunsch. 1970.
Es un ejemplo de programaci´n din´mica
o
a
Alinear dos secuencias : Secuencias de prote´
ınas o de ´cidos nucleicos
a

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

27 / 65
Algoritmo de Needleman-Wunschi

Alineamiento de secuencias
Local.
Global: Needleman-Wunschi.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

28 / 65
Algoritmo de Needleman-Wunschi











John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

29 / 65
Algoritmo de Needleman-Wunschi











John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

30 / 65
Algoritmo de Needleman-Wunschi

Secuencia A y B. Tamano(A) = M y Tamano (B) = N.
Se tiene la matriz de Pesos.
Se define una penalizacion por cada Gap encontrado.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

31 / 65
Algoritmo de Needleman-Wunschi: Matriz de Pesos
A
G
C
T

A
10
-1
-3
-4

G
-1
7
-5
-3

C
-3
-5
9
0




T
-4
-3
0
8









John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

32 / 65
Algoritmo de Needleman-Wunschi: Matriz de Pesos
A
G
C
T

A
10
-1
-3
-4

G
-1
7
-5
-3

C
-3
-5
9
0

T
-4
-3
0
8












John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

33 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g




John Trujillo (Univalle)





Intro. BioInform´tica
a

19 de noviembre de 2013

34 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4















































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

35 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 0+5=5
−4 + (−4) = −8
f (i, j) = max =

−4 + (−4) = −8

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4














































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

36 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 0+5=5
−4 + (−4) = −8
f (i, j) = max =

−4 + (−4) = −8

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4
















































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

37 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 −4 + (−3) = 5
−8 + (−4) = −4
f (i, j) = max =

5 + (−4) = 1

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4


















































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

38 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4




































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

39 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4








































































































































































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

40 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g

Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4








































































































































































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

41 / 65
Algoritmo de Needleman-Wunschi: Ejemplo
Coincidencias : + 5
Diferencia : - 3
Hueco (Gap): -4




















 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g


























































































































































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

42 / 65
Algoritmo de Needleman-Wunschi: Ejemplo

















































































































































































































































Ejemplo
John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

43 / 65
Algoritmo de Smith Waterman

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

44 / 65
Algoritmo de Smith Waterman

Hay tres variantes respecto al algoritmo anterior.
Un gap se toma como un cero
Un valor negativo se toma como cero
La m´xima puntuaci´n puede estar en cualquier lugar de la tabla. El
a
o
retroceso comienza en la posici´n de la casilla m´s elevada y prosigue
o
a
hasta alcanzar un cero.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

45 / 65
Algoritmo de Smith Waterman: Ejemplo

 Fi−j,j−1 + S(Xi , Yj )
F
+g
f (i, j) = max =
 i−j,j
Fi,j−1 + g








































































































































































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

46 / 65
Algoritmo de Smith Waterman: Ejemplo
Alineamiento Local






















































































































































































































































John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

47 / 65
Algoritmo de Blast y Sus variantes

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

48 / 65
Algoritmo de Blast

BLAST (Basic Local Alignment Search Tool) .
Desarrollado a partir de 1990 por Stephen Altschul.
M´todo heur´
e
ıstico: utilizaci´n de reglas emp´
o
ıricas para llegar a una
soluci´n.
o
Buscar secuencias en base de datos.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

49 / 65
Algoritmo de Blast




























John Trujillo (Univalle)











Intro. BioInform´tica
a




19 de noviembre de 2013

50 / 65
Algoritmo de Blast

Primera Etapa
En la primera etapa, BLAST busca coincidencias exactas de una peque˜a
n
longitud fija W entre la secuencia de consulta y las secuencias de la base
de datos.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

51 / 65
Algoritmo de Blast

1era Etapa
Query 1 : AGTTAC
Query 2: ACTTAG
Word : 3
Blast identifica = TTA es com´n en ambas secuencias.
u
Entre W mas grande mas r´pido - Menos preciso.
a
Entre W mas pequeno mas demorado - Mas preciso.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

52 / 65
Algoritmo de Blast

2da Etapa
Extender la coincidencia en ambas direcciones
Extiende la b´squeda hacia los extremos buscando un mejor puntaje
u
de b´squeda
u


Si es encontrado un alineamiento sin huecos de alto puntaje, la base
de datos de secuencias pasa a la tercera etapa.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

53 / 65
Algoritmo de Blast

3ra Etapa
BLAST realiza un alineamiento sin huecos entre la secuencia de
consulta y la secuencia de la base de datos Usando una variaci´n del
o
algoritmo de Smith-Waterman.
Los alineamientos relevantes estad´
ısticamente son mostrados al
usuario.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

54 / 65
Algoritmo de Blast

E-Value
E-Value es un par´metro que indica el n´mero de Hits o aciertos que
a
u
uno puede esperar por azar cuando buscamos una secuencia en una
base de datos.
E-Value decrece exponencialmente con el Score (S).
E-Value = 0 seria el valor Ideal.
E-Value tiene encuenta la longitud de la secuencia.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

55 / 65
Algoritmo de Blast:E-Value

No solo basarse en la puntuaci´n obtenida.
o
Tener encuenta el contexto biol´gico.
o
Determinar si el resutado es estad´
ısticamente significativo.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

56 / 65
Algoritmo de Blast:E-Value

HSP (High Scoring Pair) : Alineamientos con las puntuaciones m´s
a
altas.
MSP (Maximal Segment Pair)
Se ajusta a una distribuci´n de valores extremos: Calcular la
o
probabilidad que MSP tenga un valor mayor o igual.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

57 / 65
Algoritmo de Blast:E-Value
Funci´n de Densidad
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

58 / 65
Algoritmo de Blast:E-Value
Funci´n de Distribuci´n
o
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

59 / 65
Algoritmo de Blast:E-Value

Tengo un valor S (score ) el cual es el m´ximo puntaje o score para
a
un alineamiento
Los MSP se ajustan a una distribuci´n de valores extremos.
o
Es posible calcular la probabilidad de que un MSP tenga una
puntuaci´n igual o mayor que S por simple casualidad.
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

60 / 65
Algoritmo de Blast:E-Value

Esta probabilidad se llama Valor P y se calcula con la siguiente
expresi´n :
o
p(score >= S) = 1 − exp (−Kmn+e

−λS )

(1)

m y n son las longitudes de la secuencias comparadas
K y Lambda son dos p´rametros que dependen de la matriz de
a
sustituci´n empleada.
o

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

61 / 65
Algoritmo de Blast:E-Value
Adem´s del valor p tambi´n se suele incluir el valor E : El n´mero de
a
e
u
alineamientos que espero encontrar en una base de datos de ese tama˜o
n
con una puntuaci´n igual o mayor que S.
o
E = kmne −λS

(2)

Donde m y n indican la longitud de la secuencia problema y de la
base de datos.
S es la puntuaci´n del alineamiento y k y lambda son dos constantes
o
que dependen del sistema de puntuaci´n.
o
Cuanto menor sea el valor E, menos probable es que el alineamiento se
deba a una simple causalidad.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

62 / 65
Algoritmo de Blast:E-Value

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

63 / 65
Algoritmo de Blast

Variantes
BLASTN: Compara una secuencia de nucle´tidos desconocida contra
o
una base de datos de nucle´tidos.
o
BLASTP: Compara una secuencia de amino´cidos desconocida contra
a
una base de datos de prote´
ınas.
BLASTX: Compara los seis marcos de lectura te´ricos (de ambos
o
sentidos de traducci´n) de una secuencia de nucle´tidos desconocida
o
o
contra una base de datos de prote´
ınas.

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

64 / 65
Algoritmo de Blast

Variantes
TBLASTN: Compara una secuencia desconocida de prote´ contra
ına
una base de datos de nucle´tidos din´micamente traducida en los seis
o
a
marcos de lecturas de ambos sentidos de traducci´n.
o
TBLASTX: Compara los seis marcos de lectura te´ricos de una
o
secuencia de nucle´tidos desconocidos contra los seis marcos de
o
lectura de una base de datos de nucle´tidos.
o
Archivo fasta
Algoritmo

John Trujillo (Univalle)

Intro. BioInform´tica
a

19 de noviembre de 2013

65 / 65

Más contenido relacionado

PPT
El hidrógeno
PPSX
Programación lineal
PPT
The Smith Waterman algorithm
PPT
The Needleman Wunsch algorithm
PDF
Algoritmos de Propagación - Capi 7 Apt.
PDF
Neural Networks in business - Redes Neuronales en los negocios
PDF
Fast comparison of microbial genomes using the Chaos Games Representation for...
PDF
QoS-aware Scientific Application Scheduling Algorithm in Cloud Environment
El hidrógeno
Programación lineal
The Smith Waterman algorithm
The Needleman Wunsch algorithm
Algoritmos de Propagación - Capi 7 Apt.
Neural Networks in business - Redes Neuronales en los negocios
Fast comparison of microbial genomes using the Chaos Games Representation for...
QoS-aware Scientific Application Scheduling Algorithm in Cloud Environment

Último (20)

PDF
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
PDF
Uso de la Inteligencia Artificial en la IE.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PPTX
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
PDF
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
PDF
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
PDF
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Didáctica de las literaturas infantiles.
PDF
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
PDF
Cuaderno_Castellano_6°_grado.pdf 000000000000000001
PDF
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
PDF
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
PDF
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
PDF
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
PPTX
PRESENTACIÓN SOBRE LA RELIGIÓN MUSULMANA Y LA FORMACIÓN DEL IMPERIO MUSULMAN
PDF
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
PDF
UNIDAD 2 | La noticia como género: Informar con precisión y criterio
PDF
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Ficha de Atencion a Padres de Familia IE Ccesa007.pdf
Uso de la Inteligencia Artificial en la IE.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
BIZANCIO. EVOLUCIÓN HISTORICA, RAGOS POLÍTICOS, ECONOMICOS Y SOCIALES
Las Matematicas y el Pensamiento Cientifico SE3 Ccesa007.pdf
La lluvia sabe por qué: una historia sobre amistad, resiliencia y esperanza e...
Lo que hacen los Mejores Profesores de la Universidad - Ken Bain Ccesa007.pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Didáctica de las literaturas infantiles.
Texto Digital Los Miserables - Victor Hugo Ccesa007.pdf
Cuaderno_Castellano_6°_grado.pdf 000000000000000001
KOF-2022-espanol-mar-27-11-36 coke.pdf tv
El Genero y Nuestros Cerebros - Gina Ripon Ccesa007.pdf
TALLER DE ESTADISTICA BASICA para principiantes y no tan basicos
4 CP-20172RC-042-Katherine-Mendez-21239260.pdf
PRESENTACIÓN SOBRE LA RELIGIÓN MUSULMANA Y LA FORMACIÓN DEL IMPERIO MUSULMAN
La Inteligencia Emocional - Fabian Goleman TE4 Ccesa007.pdf
UNIDAD 2 | La noticia como género: Informar con precisión y criterio
Aprendizaje Emocionante - Begoña Ibarrola SM2 Ccesa007.pdf
Publicidad
Publicidad

Algoritmos Bioinfirmatica - Algorito de Smith. Waterman - Blast

  • 1. Algoritmos en Bioinform´tica a John Trujillo Universidad Del Valle - Cali jhon.trujillo@univalle.edu.co 19 de noviembre de 2013 John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 1 / 65
  • 2. Resumen 1 Programaci´n Din´mica o a 2 Algoritmo de Needleman-Wunschi 3 Algoritmo de Smith Waterman 4 Algoritmo de Blast John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 2 / 65
  • 3. Programaci´n Din´mica o a John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 3 / 65
  • 4. Programaci´n Din´mica: Concepto o a Dividir el problema en Subproblemas (Dividir y conquistar). Optimizar resultados. Resolver cada Subproblema de forma ´ptima. o Computar bajo la t´cnica Bottom-Up. e John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 4 / 65
  • 5. Programaci´n Din´mica: Etapa o a Etapa Fase donde se produce un cambio debido a una decisi´n. o Cada sub-problema puede ser visto como una fase. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 5 / 65
  • 6. Programaci´n Din´mica: Estado o a Estado Situaci´n actual del sistema en una etapa determinada. o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 6 / 65
  • 7. Programaci´n Din´mica: T´cnica Bottom-Up o a e Bottom-Up Cuando se usa esta relaci´n recursiva, el procedimiento de soluci´n o o comienza al final y se mueve hacia atr´s etapa por etapa, hasta que a encuentra la pol´ ıtica ´ptima desde la etapa inicial. o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 7 / 65
  • 8. Programaci´n Din´mica: Ejemplo Fibo o a Fibonachi Fn = 0 if n=0 Fn = 1 if n = 1 Fn = Fn-1 + Fn-2 John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 8 / 65
  • 9. Programaci´n Din´mica: Diagrama Fibo o a   John Trujillo (Univalle)   Intro. BioInform´tica a  19 de noviembre de 2013 9 / 65
  • 10. Programaci´n Din´mica: Diagrama Fibo o a       John Trujillo (Univalle)  Intro. BioInform´tica a     19 de noviembre de 2013 10 / 65
  • 11. Programaci´n Din´mica: Diagrama Fibo o a         John Trujillo (Univalle)     Intro. BioInform´tica a           19 de noviembre de 2013 11 / 65
  • 12. Programaci´n Din´mica: Diagrama Fibo o a           John Trujillo (Univalle)                Intro. BioInform´tica a        19 de noviembre de 2013 12 / 65
  • 13. Programaci´n Din´mica: Diagrama Fibo o a                                    John Trujillo (Univalle)  Intro. BioInform´tica a 19 de noviembre de 2013 13 / 65
  • 14. Programaci´n Din´mica: Diagrama Fibo o a     John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 14 / 65
  • 15. Programaci´n Din´mica: Diagrama Fibo o a             John Trujillo (Univalle)   Intro. BioInform´tica a 19 de noviembre de 2013 15 / 65
  • 16. Programaci´n Din´mica: Diagrama Fibo o a                         John Trujillo (Univalle)  Intro. BioInform´tica a 19 de noviembre de 2013 16 / 65
  • 17. Programaci´n Din´mica: Diagrama Fibo o a                              John Trujillo (Univalle)   Intro. BioInform´tica a 19 de noviembre de 2013 17 / 65
  • 18. Programaci´n Din´mica: Diagrama Fibo o a                             John Trujillo (Univalle)       Intro. BioInform´tica a 19 de noviembre de 2013 18 / 65
  • 19. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a     John Trujillo (Univalle)         Intro. BioInform´tica a 19 de noviembre de 2013 19 / 65
  • 20. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a             1+2+5 = 8 John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 20 / 65
  • 21. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a                     Path Largo : (S, A, D, T) : 1 + 4 + 18 = 23 Path Corto : (S, C, F, T) : 5 + 2 + 2 = 9 John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 21 / 65
  • 22. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a             d(S, T) = min{1+d(A, T), 2+d(B, T), 5+d(C, T)} John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 22 / 65
  • 23. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a                      d(A, T) = min{1+5+d(D, T), 1+11+d(E, T), 2+9+d(D, T), 2+5+d(E, T), 2+16+d(E, T), 5+2+d(F, T) } John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 23 / 65
  • 24. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a                      d(A, T) = min{1+5+18, 1+11+13, 2+9+18, 2+5+13, 2+16+13, 5+2+2} John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 24 / 65
  • 25. Programaci´n Din´mica: Camino m´s Corto o a a Encontrar el camino m´s corto en un grafo de S a T a                     d(A, T) = 9 John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 25 / 65
  • 26. Algoritmo de Needleman-Wunschi John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 26 / 65
  • 27. Algoritmo de Needleman-Wunschi Saul Needleman y Christian Wunsch. 1970. Es un ejemplo de programaci´n din´mica o a Alinear dos secuencias : Secuencias de prote´ ınas o de ´cidos nucleicos a John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 27 / 65
  • 28. Algoritmo de Needleman-Wunschi Alineamiento de secuencias Local. Global: Needleman-Wunschi. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 28 / 65
  • 31. Algoritmo de Needleman-Wunschi Secuencia A y B. Tamano(A) = M y Tamano (B) = N. Se tiene la matriz de Pesos. Se define una penalizacion por cada Gap encontrado. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 31 / 65
  • 32. Algoritmo de Needleman-Wunschi: Matriz de Pesos A G C T A 10 -1 -3 -4 G -1 7 -5 -3 C -3 -5 9 0   T -4 -3 0 8       John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 32 / 65
  • 33. Algoritmo de Needleman-Wunschi: Matriz de Pesos A G C T A 10 -1 -3 -4 G -1 7 -5 -3 C -3 -5 9 0 T -4 -3 0 8         John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 33 / 65
  • 34. Algoritmo de Needleman-Wunschi: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g   John Trujillo (Univalle)   Intro. BioInform´tica a 19 de noviembre de 2013 34 / 65
  • 35. Algoritmo de Needleman-Wunschi: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                        John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 35 / 65
  • 36. Algoritmo de Needleman-Wunschi: Ejemplo   0+5=5 −4 + (−4) = −8 f (i, j) = max =  −4 + (−4) = −8 Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                        John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 36 / 65
  • 37. Algoritmo de Needleman-Wunschi: Ejemplo   0+5=5 −4 + (−4) = −8 f (i, j) = max =  −4 + (−4) = −8 Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                         John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 37 / 65
  • 38. Algoritmo de Needleman-Wunschi: Ejemplo   −4 + (−3) = 5 −8 + (−4) = −4 f (i, j) = max =  5 + (−4) = 1 Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                          John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 38 / 65
  • 39. Algoritmo de Needleman-Wunschi: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                                   John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 39 / 65
  • 40. Algoritmo de Needleman-Wunschi: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                                                                                                     John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 40 / 65
  • 41. Algoritmo de Needleman-Wunschi: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4                                                                                                                     John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 41 / 65
  • 42. Algoritmo de Needleman-Wunschi: Ejemplo Coincidencias : + 5 Diferencia : - 3 Hueco (Gap): -4             Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g                                                                                                               John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 42 / 65
  • 43. Algoritmo de Needleman-Wunschi: Ejemplo                                                                                                                           Ejemplo John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 43 / 65
  • 44. Algoritmo de Smith Waterman John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 44 / 65
  • 45. Algoritmo de Smith Waterman Hay tres variantes respecto al algoritmo anterior. Un gap se toma como un cero Un valor negativo se toma como cero La m´xima puntuaci´n puede estar en cualquier lugar de la tabla. El a o retroceso comienza en la posici´n de la casilla m´s elevada y prosigue o a hasta alcanzar un cero. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 45 / 65
  • 46. Algoritmo de Smith Waterman: Ejemplo   Fi−j,j−1 + S(Xi , Yj ) F +g f (i, j) = max =  i−j,j Fi,j−1 + g                                                                                                                     John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 46 / 65
  • 47. Algoritmo de Smith Waterman: Ejemplo Alineamiento Local                                                                                                                                John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 47 / 65
  • 48. Algoritmo de Blast y Sus variantes John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 48 / 65
  • 49. Algoritmo de Blast BLAST (Basic Local Alignment Search Tool) . Desarrollado a partir de 1990 por Stephen Altschul. M´todo heur´ e ıstico: utilizaci´n de reglas emp´ o ıricas para llegar a una soluci´n. o Buscar secuencias en base de datos. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 49 / 65
  • 50. Algoritmo de Blast                   John Trujillo (Univalle)       Intro. BioInform´tica a    19 de noviembre de 2013 50 / 65
  • 51. Algoritmo de Blast Primera Etapa En la primera etapa, BLAST busca coincidencias exactas de una peque˜a n longitud fija W entre la secuencia de consulta y las secuencias de la base de datos. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 51 / 65
  • 52. Algoritmo de Blast 1era Etapa Query 1 : AGTTAC Query 2: ACTTAG Word : 3 Blast identifica = TTA es com´n en ambas secuencias. u Entre W mas grande mas r´pido - Menos preciso. a Entre W mas pequeno mas demorado - Mas preciso. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 52 / 65
  • 53. Algoritmo de Blast 2da Etapa Extender la coincidencia en ambas direcciones Extiende la b´squeda hacia los extremos buscando un mejor puntaje u de b´squeda u  Si es encontrado un alineamiento sin huecos de alto puntaje, la base de datos de secuencias pasa a la tercera etapa. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 53 / 65
  • 54. Algoritmo de Blast 3ra Etapa BLAST realiza un alineamiento sin huecos entre la secuencia de consulta y la secuencia de la base de datos Usando una variaci´n del o algoritmo de Smith-Waterman. Los alineamientos relevantes estad´ ısticamente son mostrados al usuario. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 54 / 65
  • 55. Algoritmo de Blast E-Value E-Value es un par´metro que indica el n´mero de Hits o aciertos que a u uno puede esperar por azar cuando buscamos una secuencia en una base de datos. E-Value decrece exponencialmente con el Score (S). E-Value = 0 seria el valor Ideal. E-Value tiene encuenta la longitud de la secuencia. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 55 / 65
  • 56. Algoritmo de Blast:E-Value No solo basarse en la puntuaci´n obtenida. o Tener encuenta el contexto biol´gico. o Determinar si el resutado es estad´ ısticamente significativo. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 56 / 65
  • 57. Algoritmo de Blast:E-Value HSP (High Scoring Pair) : Alineamientos con las puntuaciones m´s a altas. MSP (Maximal Segment Pair) Se ajusta a una distribuci´n de valores extremos: Calcular la o probabilidad que MSP tenga un valor mayor o igual. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 57 / 65
  • 58. Algoritmo de Blast:E-Value Funci´n de Densidad o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 58 / 65
  • 59. Algoritmo de Blast:E-Value Funci´n de Distribuci´n o o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 59 / 65
  • 60. Algoritmo de Blast:E-Value Tengo un valor S (score ) el cual es el m´ximo puntaje o score para a un alineamiento Los MSP se ajustan a una distribuci´n de valores extremos. o Es posible calcular la probabilidad de que un MSP tenga una puntuaci´n igual o mayor que S por simple casualidad. o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 60 / 65
  • 61. Algoritmo de Blast:E-Value Esta probabilidad se llama Valor P y se calcula con la siguiente expresi´n : o p(score >= S) = 1 − exp (−Kmn+e −λS ) (1) m y n son las longitudes de la secuencias comparadas K y Lambda son dos p´rametros que dependen de la matriz de a sustituci´n empleada. o John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 61 / 65
  • 62. Algoritmo de Blast:E-Value Adem´s del valor p tambi´n se suele incluir el valor E : El n´mero de a e u alineamientos que espero encontrar en una base de datos de ese tama˜o n con una puntuaci´n igual o mayor que S. o E = kmne −λS (2) Donde m y n indican la longitud de la secuencia problema y de la base de datos. S es la puntuaci´n del alineamiento y k y lambda son dos constantes o que dependen del sistema de puntuaci´n. o Cuanto menor sea el valor E, menos probable es que el alineamiento se deba a una simple causalidad. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 62 / 65
  • 63. Algoritmo de Blast:E-Value John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 63 / 65
  • 64. Algoritmo de Blast Variantes BLASTN: Compara una secuencia de nucle´tidos desconocida contra o una base de datos de nucle´tidos. o BLASTP: Compara una secuencia de amino´cidos desconocida contra a una base de datos de prote´ ınas. BLASTX: Compara los seis marcos de lectura te´ricos (de ambos o sentidos de traducci´n) de una secuencia de nucle´tidos desconocida o o contra una base de datos de prote´ ınas. John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 64 / 65
  • 65. Algoritmo de Blast Variantes TBLASTN: Compara una secuencia desconocida de prote´ contra ına una base de datos de nucle´tidos din´micamente traducida en los seis o a marcos de lecturas de ambos sentidos de traducci´n. o TBLASTX: Compara los seis marcos de lectura te´ricos de una o secuencia de nucle´tidos desconocidos contra los seis marcos de o lectura de una base de datos de nucle´tidos. o Archivo fasta Algoritmo John Trujillo (Univalle) Intro. BioInform´tica a 19 de noviembre de 2013 65 / 65