Story Transcript
Heurística Evolutiva-TSP para alineamiento de múltiples secuencias D.Sc. Yván Jesús Túpac Valdivia Ciencia de la Computación
07 de diciembre, 2012
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
1 / 50
Resumen Este trabajo propone e implementa un método para el problema de alineamiento de múltiples secuencias (MSA), visto un (Travelling Salesman Problem – TSP) donde cada secuencia es vista como una ciudad y el mejor tour de visitas es usado como el orden en que se hará el alineamiento. El mejor orden es encontrado usando un algoritmo evolutivo de orden1 Los resultados de los experimentos son comparados con la heurística star para alineamiento múltiple
1
Published as: Optimizing multiple sequence alignments using traveling salesman problem and order-based evolutionary algorithms. In Proceedings of CIBB 2012, the Ninth International Meeting on Computational Intelligence Methods for Bioinformatics and Biostatistics, Houston, Texas, July 2012 Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
2 / 50
Contenido 1
Alineamiento de secuencias Secuencias ADN y de proteínas Problema de alineamiento Alineamiento global Alineamiento de Múltiples Secuencias
2
Heurísticas para MSA Star Alignment TSP Alignment
3
Solución usando Computación Evolutiva Algoritmos Evolutivos basados en orden Modelo TSP-EA Experimentos y resultados
4
Bibliografía Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
3 / 50
Alineamiento de secuencias
Secuencias ADN y de proteínas
Alineamiento de secuencias Secuencias de ADN
Son sucesiones finitas del alfabeto de nucleótidos {A, C, G, T} que representan la estructura primaria de una molécula de ADN, con capacidad de almacenar y transportar información.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
4 / 50
Alineamiento de secuencias
Secuencias ADN y de proteínas
Alineamiento de secuencias Secuencias de Aminoácidos
También llamadas secuencias peptídicas o secuencias de proteínas, son secuencias de aminoácidos unidos mediante Enlaces Peptídicos que forman las proteínas. Son 20 aminoácidos que forman el siguiente alfabeto {A, C, D, E, F, G, H, I, K, L, M, N, P, Q, R, S, T, V, W, Y}.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
5 / 50
Alineamiento de secuencias
Problema de alineamiento
Alineamiento de Secuencias Necesidad de alinear secuencias
El alineamiento de secuencias es una forma de “acomodar las secuencias” de DNA o proteínas para identificar regiones que puedan significar relaciones funcionales, estructurales o evolutivas entre las secuencias.
Figure: Alineamiento de Secuencias de Hemoglobina (proteína)
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
6 / 50
Alineamiento de secuencias
Problema de alineamiento
Alineamiento de Secuencias Alineamiento de pares (pairwise alignment)
Dados dos strings de diferente longitud, alinearlos significa hacer estas dos secuencias de la misma longitud mediante la inserción de gaps Un gap (-) puede ser insertado en cualquier posición No se permite alinear 2 gaps en una misma columna Ejm. Dadas las cadenas
CGACCTA, CGCCTA dos ejemplos “extremos” de alineamiento son:
CGACCTA CG-CCTA
CGACCTA------------CGCCTA
La longitud de dos cadenas alineadas está en [max(m, n), m + n] Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
7 / 50
Alineamiento de secuencias
Problema de alineamiento
Alineamiento de Secuencias El problema de Alineamiento
Mediante la menor inserción posible de gaps, hacer que las secuencias resultantes sean lo más similares posible. Esto caracteriza un problema de optimización Función de score: Se define la siguiente función de score por cada columna alineada.
Columna igual diferente gap
Score +1 −1 −2
El objetivo es maximizar el score total de todas las columnas resultantes C G A C C T A C G A C C T A C G – C C T - G C G – C C T G 1+1-2+1+1+1-1 = 2 1+1-2+1+1+1-2-2 = -1 Uso de Programación Dinámica [Bellman, 1957] Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
8 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global [Needleman and Wunsch, 1970]
Dadas las secuencias s y t, usar una matriz Mm+1×n+1 que almacene los valores de los alineamientos de todos los prefijos de s y t. Las posiciones M (0, 0), M (1, 0), . . . , M (m, 0) y M (0, 1), . . . , M (0, n) son conocidas y se rellenan de antemano. Las demás posiciones M (i 6= 0, j 6= 0) serán calculadas usando la siguiente expresión:
M (i, j) = max
M (i − 1, j − 1) ± 1
M (i − 1, j) − 2
(1)
M (i, j − 1) − 2
La posición M (m, n) resultante contendrá el score de alineamiento óptimo entre s y t. Complejidad O(mn) Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
9 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
s
t
-
A
G
C
A A A C
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
10 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
t
-
A
-
0
−2 −4 −6
A
−2
A
−4
A
−6
C
−8
s
G
Yván Túpac (C.Sc. – UCSP)
C Aplicar la ecuación recursiva:
M (i, j) = max
M (i − 1, j − 1) ± 1
M (i − 1, j) − 2
M (i, j − 1) − 2
e ir completando los valores faltantes.
Clase 01
07 de diciembre, 2012
11 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
t
-
A
-
0
−2 −4 −6
A
−2
A
−4 −1
A
−6 −3 −2 −1
C
−8 −5 −4 −1
s
1
G
C
−1 −3 0
Yván Túpac (C.Sc. – UCSP)
−2
Aplicar la ecuación recursiva:
M (i, j) = max
M (i − 1, j − 1) ± 1
M (i − 1, j) − 2
M (i, j − 1) − 2
e ir completando los valores faltantes.
Clase 01
07 de diciembre, 2012
12 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
t
-
A
-
0
−2 −4 −6
A
−2
A
−4 −1
A
−6 −3 −2 −1
C
−8 −5 −4 −1
s
1
G
C
−1 −3 0
Yván Túpac (C.Sc. – UCSP)
−2
El score es M (m, n) = 1 Aún falta determinar el (los) alineamiento(s) resultantes
Clase 01
07 de diciembre, 2012
13 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
t
-
A
-
0
−2 −4 −6
A
−2
A
−4 −1
−2
Reconstruir las cadenas respetando las decisiones.
A
−6 −3 −2 −1
C
−8 −5 −4 −1
Una bifurcación significa que hay más de un alineamiento óptimo.
s
1
G
C
−1 −3 0
Yván Túpac (C.Sc. – UCSP)
Para obtener los alineamientos: Partir de la posicion M (m, n) y recorrer las decisiones tomadas al aplicar la ecuación (1)
Clase 01
07 de diciembre, 2012
14 / 50
Alineamiento de secuencias
Alineamiento global
Alineamiento de Secuencias Algoritmo de Alineamiento Global: Ejemplo
Alinear s = AAAC y t = AGC
t
-
A
-
0
−2 −4 −6
A
−2
A
−4 −1
A
−6 −3 −2 −1
C
−8 −5 −4 −1
s
1
G
C
−1 −3 0
Yván Túpac (C.Sc. – UCSP)
−2
Los alineamientos óptimos son:
AAAC -AGC
Clase 01
AAAC AAAC AG-C A-GC
07 de diciembre, 2012
15 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Motivación
Se necesita alinear más de dos secuencias simultáneamente por las siguientes razones: Mayor evidencia de la similitud de pares para inferir funcionalidades y/o estructuras Detectar regiones de variabilidad o conservación (imposible con dos secuencias) en una familia de proteínas Es el paso inicial para los siguientes procesos Reconstrucción filogenética Predicción de estructuras secundarias en RNA Construcción de perfiles mediante modelos probabilísticos, de familias de proteínas o señales de ADN.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
16 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Definición [Setubal and Meidanis, 1997]
Sean k secuencias S1 , S2 , . . . , Sk , un alineamiento de múltiples secuencias (Multiple Sequence Alignment – MSA) consiste en: Insertar gaps en las cadenas tal que todas las cadenas resulten con la misma longitud. No se permite una columna llena con puros gaps. Sean la siguientes 4 secuencias:
Un alineamiento sería:
MQPILLLV MLR-LL-MK-ILLLMPPVLILV
MQPILLLV MLRLL MKILLL MPPVLILV
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
17 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Ejemplo
Para el alineamiento anterior:
MQPILLLV MLR-LL-MK-ILLLMPPVLILV ¿Cómo se calcula el score total? Una opción es sumar los alineamientos de todos los posibles pares (Sum of pairs SP). Por ejemplo, para la 4ta columna: SP(I , -, I , V ) = sc(I , -) + sc(I , I ) + sc(I , V )+ sc(-, I ) + sc(-, V ) + sc(I , V ) = −2 + 1 − 1 − 2 − 2 − 1 = −7 Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
18 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Observación
A tomar en cuenta No se puede garantizar que el score de un alineamiento sea la suma de todos los scores óptimos por pares. Siempre habrá un par no alineado óptimamente
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
19 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Alineamiento Óptimo de Múltiples Secuencias
Sean k secuencias S1 , . . . , Sk todas de longitud n. Si para alinear 2 secuencias (un par) se utiliza una matriz Mn+1×n+1 que almacena todas las soluciones, entonces, Para alinear k secuencias, se necesitará un array k-dimensional con (n + 1)k posiciones. Similar al alineamiento de pares, se debe observar la última columna del alineamiento, habiendo por cada secuencia 2 opciones a efectuar: - Colocar un caracter - Colocar un gap (-)
Para las k secuencias se tendrían 2k − 1 posibilidades al excluir la posibilidad de tener sólo gaps).
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
20 / 50
Alineamiento de secuencias
Alineamiento de Múltiples Secuencias
Alineamiento de Múltiples Secuencias Alineamiento Óptimo de Múltiples Secuencias
En resumen, para k secuencias de longitud n, el algoritmo debe realizar: 1
El llenado de un array de (n + 1)k posiciones.
2
Considerar 2k − 1 posibles valores en cada posición
3
Calcular la suma de pares por cada posibilidad
k(k+1) . 2
obteniéndose una complejidad computacional de: O(n, k) = (n + 1)k (2k − 1)k 2
(2)
La complejidad es exponencial con respecto a la cantidad de cadenas y es un problema NP-Complete. Si k > 10, la búsqueda ya se hace impráctica. Se hace necesario el uso de heurísticas para el problema MSA
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
21 / 50
Heurísticas para MSA
Heurísticas para Alineamiento de Múltiples Secuencias Principio de consistencia
Dada la complejidad del método exacto por programación dinámica, se debe pensar en métodos de menor complejidad que solucionen el problema de MSA, respetando el principio de consistencia. Principio de Consistencia: Se deben adicionar las secuencias a un alineamiento, una por una, manteniendo consistencia, usando la siguiente regla: “Once a gap, always a gap”
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
22 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment:
Propuesto por [Gusfield, 1997], consiste en encontrar la secuencia mejor alineada a las demás (centro) mediante score por pares.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
23 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment:
Propuesto por [Gusfield, 1997], consiste en encontrar la secuencia mejor alineada a las demás (centro) mediante score por pares. Se realiza el siguiente proceso: Encontrar los scores de todos los alineamientos por pares formando una matriz de scores S
S3 S5
Encontrar el “centro” SC tal que: arg max c
X
(3)
siC
i6=C
Alinear SC con las demás secuencias respetando el principio de consistencia.
Yván Túpac (C.Sc. – UCSP)
Clase 01
S2
S1 Centro en S1
S4 07 de diciembre, 2012
23 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Sean las secuencias S1 , . . . , S5 : S1 S2 S3 S4 S5
Yván Túpac (C.Sc. – UCSP)
A A A A A
T T T T C
T G C C T
G G C T G
C C A T A
Clase 01
C C A C C
A A T T C
T T T T
T T T
T
07 de diciembre, 2012
24 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Sean las secuencias S1 , . . . , S5 : S1 S2 S3 S4 S5
A A A A A
T T T T C
T G C C T
G G C T G
C C A T A
C C A C C
A A T T C
T T T T
T T T
T
Encontrar el centro SC con máximo score por pares, usando [Needleman and Wunsch, 1970]
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
24 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se calcula la matriz de scores por pares: S1 S2 S3 S4 S5
S1 × 7 −2 0 −3 2
S2 S3 S4 S5 7 −2 0 −3 × −2 0 −4 −2 × 0 −7 0 0 × −3 −4 −7 −3 × −1 −11 −3 −17 X
Se encuentra el centro aplicando arg max c
2 1 −11 −3 −17
siC = 1.
i6=C
Por lo tanto, el centro será S1
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
25 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se obtiene las secuencias alineadas con S1 : S1 A T T G C C A T
Yván Túpac (C.Sc. – UCSP)
Clase 01
T
-
-
07 de diciembre, 2012
26 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se obtiene las secuencias alineadas con S1 : S1 A T T G C C A T S2 A T G G C C A T
Yván Túpac (C.Sc. – UCSP)
Clase 01
T T
-
-
07 de diciembre, 2012
26 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se obtiene las S1 S2 S3
secuencias alineadas A T T G C A T G G C A T C - C
Yván Túpac (C.Sc. – UCSP)
Clase 01
con C C A
S1 : A T A T A T
T T T
T
T
07 de diciembre, 2012
26 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se obtiene las S1 S2 S3 S4
secuencias alineadas A T T G C A T G G C A T C - C A T C T T
Yván Túpac (C.Sc. – UCSP)
Clase 01
con C C A C
S1 : A A A -
T T T T
T T T T
T -
T -
07 de diciembre, 2012
26 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Ejemplo: Se obtiene las secuencias alineadas con S1 : 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 S4 A T C T T C - T T S5 A C T G A C C - Por el principio de consistencia, cualquier gap que se es retirado.
Yván Túpac (C.Sc. – UCSP)
Clase 01
- - T T - - introduce ya no
07 de diciembre, 2012
26 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Complejidad Computacional: Dominada por el cálculo de los alineamientos por pares.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
27 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Complejidad Computacional: Dominada por el cálculo de los alineamientos por pares. Se realizan k(k−1) alineamientos por pares, donde cada alineamiento 2 tiene complejidad n 2 , por usar el alineamiento global para secuencias de tamaño n. La complejidad del cálculo de los alineamientos por pares es O(n, k) = k 2 n 2 .
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
27 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Complejidad Computacional: Dominada por el cálculo de los alineamientos por pares. Se realizan k(k−1) alineamientos por pares, donde cada alineamiento 2 tiene complejidad n 2 , por usar el alineamiento global para secuencias de tamaño n. La complejidad del cálculo de los alineamientos por pares es O(n, k) = k 2 n 2 . Sea l el tamaño de la secuencia más grande, la complejidad total de cálculo será O(n, k) = k 2 n 2 + k 2 l que es un tiempo polinomial
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
27 / 50
Heurísticas para MSA
Star Alignment
Heurísticas para Alineamiento de Múltiples Secuencias Star Alignment
Complejidad Computacional: Dominada por el cálculo de los alineamientos por pares. Se realizan k(k−1) alineamientos por pares, donde cada alineamiento 2 tiene complejidad n 2 , por usar el alineamiento global para secuencias de tamaño n. La complejidad del cálculo de los alineamientos por pares es O(n, k) = k 2 n 2 . Sea l el tamaño de la secuencia más grande, la complejidad total de cálculo será O(n, k) = k 2 n 2 + k 2 l que es un tiempo polinomial En realidad no se está optimizando el criterio de alineamiento por pares, pero esta heurística es un buen trade-off entre optimización y practicidad.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
27 / 50
Heurísticas para MSA
TSP Alignment
Heurísticas para Alineamiento de Múltiples Secuencias TSP Alignment
Propuesto por [Korostensky and Gonnet, 1999] para modelar el problema MSA como un TSP (Travelling Salesman Problem) donde cada secuencia es como una de las ciudades del TSP y la distancia se basa en el score del alineamiento de los respectivos pares. Se define una matriz de distancias D entre secuencias calculada usando los scores S, donde: dij = smax − sij + 1
(4)
donde sij = score(Si , Sj ) y smax es el máximo score en S Se trata de encontrar el “orden de visitas” que minimice la distancia recorrida. Es decir que la solución al problema MSA es la solución al TSP
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
28 / 50
Heurísticas para MSA
TSP Alignment
Heurísticas para Alineamiento de Múltiples Secuencias TSP Alignment
Propuesto por [Korostensky and Gonnet, 1999] para modelar el problema MSA como un TSP (Travelling Salesman Problem) donde cada secuencia es como una de las ciudades del TSP y la distancia se basa en el score del alineamiento de los respectivos pares. S3
s35 S5 s13
s23 s34 S2
s12
s25 s15 S1 Tour de m´ınima distancia s14
s45
s24 S4 Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
29 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Algoritmos evolutivos con individuos de tipo permutación: Definición Algoritmos Evolutivos basados en Orden Sea Φt una población de tamaño m definida como un conjunto Φt = {φi }m i=1 para la generación t. Un individuo φi ∈ Φt es un conjunto de elementos φi = {φi (1), . . . , φi (n)}, cuyos valores provienen de un alfabeto N = {1, 2, . . . , n} ⊂ N. Si φi (p) es el valor del p-ésimo elemento de φi , se cumple que φi (p) 6= φi (q) ⇔ p 6= q . Es claro que para dos individuos φi , φj , con i 6= j, no necesariamente se cumple φi (p) = φj (p).
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
30 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Operadores evolutivos de orden
i Mutación de desorden: Sea φ1 = {φ1 (1), . . . , φ1 (n)} un individuo seleccionado y ϕ ⊆ φ1 una sublista. El descendiente φ01 se forma desordenando los elementos de la sublista ϕ sublista ϕ
φ1 = 1 2 3 4 5 6 7 8 sublista desordenada
φ01 = 1 2 3 6 7 5 4 8
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
31 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Operadores evolutivos de orden
ii Mutación de orden: Sea φ1 = {φ1 (1), . . . , φ1 (n)} un individuo seleccionado, y φ(a), φ(b), a < b dos elementos de φ1 . El descendiente φ01 se forma insertando φ1 (b) antes de φ1 (a) φ(a)
φ(b)
φ1 = 1 2 3 4 5 6 7 8 φ(b)φ(a)
φ01 = 1 2 7 3 4 5 6 8
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
32 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Operadores evolutivos de orden
iii Mutación de posición: Sea φ1 = {φ1 (1), . . . , φ1 (n)} un individuo seleccionado, y φ(a), φ(b), a < b dos elementos de φ1 . El descendiente φ01 se forma intercambiando los valores φ1 (a) y φ1 (b). φ(a)
φ(b)
φ1 = 1 2 3 4 5 6 7 8 φ(b)
φ(a)
φ01 = 1 2 7 4 5 6 3 8
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
33 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Operadores evolutivos de orden
iv Cruce uniforme de orden: Sean φ1 ,φ2 dos individuos seleccionados. Un descendiente φ01 se forma haciendo lo siguiente: - Generar un patrón mk de n bits binarios. - Completar φ01 con los genes φ1 (i), i = 1, . . . , n cuya máscara es mk (i) = 1. - Crear una sublista ϕ usando los elementos restantes de φ1 . - Ordenar la sublista ϕ con el orden de sus elementos en φ2 . - Completar los espacios faltantes en φ1 con la lista ϕ reordenada.
El otro descendiente φ02 se compondrá con los mismos pasos, pero en φ2 y usando el patrón negado mk .
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
34 / 50
Solución usando Computación Evolutiva
Algoritmos Evolutivos basados en orden
Algoritmos Evolutivos basados en orden Operadores evolutivos de orden
iv Cruce uniforme de orden:
φ1 = 1 2 3 4 5 6 7 8 φ2 = 8 6 4 2 7 5 3 1
φ01 = − 2 3 − 5 6 − − φ02 = 8 − − 2 − − 3 1
mk = 0 1 1 0 1 1 0 0 genes faltantes en φ1 : {1, 4, 7, 8}, ordenados por φ2 → {8, 4, 7, 1} genes faltantes en φ2 : {6, 4, 7, 5}, ordenados por φ1 → {4, 5, 6, 7}
φ01 = 8 2 3 4 5 6 7 1 φ02 = 8 4 5 2 6 7 3 1
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
35 / 50
Solución usando Computación Evolutiva
Modelo TSP-EA
Modelo TSP-EA Resolviendo el problema MSA como TCP con AE
El uso de algoritmos de TSP fue propuesto por [Wan, 2002] para resolver el problema MSA. El uso de algoritmos evolutivos de orden para apoyar en la solución del TSP fue propuesto por [Banda et al., 2012], y se describe como sigue: 1
Se alinean todos los pares (Si , Sj ) usando Needleman-Wunsch construyendo la matriz S de scores.
2
Construir la matriz D usando la Eq.(4).
3
Iniciar el algoritmo evolutivo de orden para resolver el TSP, encontrando el tour de distancia mínima.
4
Con el mejor tour, construir el alineamiento múltiple aplicando el principio de consistencia: once a gap, always a gap, y luego calcular la suma de pares para obtener el score final.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
36 / 50
Solución usando Computación Evolutiva
Modelo TSP-EA
Modelo TSP-EA Resolviendo el problema MSA como TCP con AE 1
Representación El algoritmo evolutivo de orden puede naturalmente representar un problema de vendedor viajero haciendo que el individuo φi = {φi (1), . . . , φi (k)} ∈ Φ represente un tour aleatorio.
2
Evaluación Para evaluar el tour φi se calcula la distancia total recorrida para el orden dado por el individuo φ = {φ(1), φ(2), . . . , φ(n)} usando la matriz de distancias mediante la siguiente expresión: f (φi ) =
n X
(5)
dφi (j−1)φi (j)
j=2
donde no se considera el recorrido de retorno de la última ciudad a la primera del tour dφi (n)φi (1) , por no ser necesario. Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
37 / 50
Solución usando Computación Evolutiva
Modelo TSP-EA
Modelo TSP-EA Resolviendo el problema MSA como TCP con AEO Sequences S = {s1 , . . . , sk } s1 = TACTACTCAGACTCAGTGAAGGGCC... s2 = CGGTTTGTCTTCTCCTTGGACACCT... .. .
sk = CGAGTTACCATATCAGTAGACACGT... Calculate pairwise distances
sij = score(si , sj ) dij = max sij − sij + 1 i,j
Best alignment order
Order-based evolutionary algorithm Φ0 : population of alignment orders Evaluate Φ0 (tour distance)
Yván Túpac (C.Sc. – UCSP)
φ(k)dk−1,k . . .
while ∼(end condition)
Selection and Reproduction
φt+1
Clase 01
Evaluate Φt+1 (tour distance)
d34
dk1
φ(1)
φ(3)
d12
φ(2)
d23
validated by sum-of-pairs 07 de diciembre, 2012
38 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Se realizaron experimentos usando una base de datos de secuencias ADN extraída de (NCBI)2 . De la base, se seleccionaron 500 secuencias para ser analizadas. Cada secuencia contiene de 80-120 nucleótidos. Los experimentos fueron hechos usando 50 grupos que constan de 10 secuencias cada uno.
2 National Center for Biotechnology Information, disponible en http://www.ncbi.nlm.nih.gov/ Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
39 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Ejemplo de un grupo de 10 secuencias usadas AGCATCCCAGCCAGGTTCAGTGGCAGTGGGTCTGGGACAGACTTCACTCTCACCAT... AGATTCACCATCTCCAGAGACAATTCCAAGAACACGCTGTATCTTCAAATGGGCAG... GGGGTCCCATCAAGGTTCAGCGGCAGTGGATCTGGGACAGATTTCACTCTCACCAT... CGATTCACCATCTCCAGAGACAATTCCAAGAACACGCTGTATCTGCAAATGAACAG... CGATTCACCATCTCCAGAGACAACGCCAAGAACTCACTGTATCTGCAAATGAACAG... AGATTCACCATCTCCAGAGACAATTCCAAGAACACGCTGTATCTTCAAATGAACAG... AGAGTCACCATTACCAGGGACACATCCGCGAGCACAGCCTACATGGAGCTGAGCAG... CTCGAGTCAGGGGCTGAACTGGCAAAACCTGGGGCCTCAGTAAAGATGTCCTGCAA... CGATTCACCATCTCCAGAGACAACAGCAAAAACTCCCTGTATCTGCAAATGAACAG... AGGTTCACCATCTCCAGAGATGATTCAAAGAACACGGCGTATCTGCAAATGAACAG...
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
40 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Se empleó la siguiente parametrización del modelo evolutivo para la búsqueda del mejor camino TSP
Yván Túpac (C.Sc. – UCSP)
Parameter
Value
Generaciones Población Probabilidad de crossover Probabilidad de mutación
100 100 70% 30%
Clase 01
07 de diciembre, 2012
41 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Luego de las diversas iteraciones (100 generaciones) se obtuvo el siguiente resultado:
Yván Túpac (C.Sc. – UCSP)
Score
Star
TSP-EA
Maximum Minimum Average
-1816 -7505 -4690
-566 -6410 -3319
Clase 01
07 de diciembre, 2012
42 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Ejemplos de alineamientos obtenidos: Secuencias originales
TACTATGCAGACTCCGTGACGGGCCGATTCGCCATCTCCAGAGACAATTCCAAGAACACTCT ACCTTCAGTAGCTATGCTATGCACTGGGTCCGCCAGGCTCCAGGGAAGGGACTGGAATATGT CGAGTCACCATATCAGTAGACACGTCCAAGAACCAGTTCTCCCTGAAGCTGAGCTCTGTGAC AGGCTCACCATCTCCAAGGACACCTCCAAAAACCAGGTGGTCCTTACAATGACCAACATGGA GGGGTCCCATCAAGGTTCAGCGGCAGTGGATCTGGGACAGAATTCACTCTCACCATCAGCAG GGAGTGCCAGATAGGTTCAGTGGCAGCGGGTCAGGGACAGATTTCACACTGAAAATCAGCCG CAGGTCACCATCTCAGCCGACAAGTCCATCAGCACCGCCTACCTGCAGTGGAGCAGCCTGAA GGGGTCCCATCAAGGTTCAGCGGCAGTGGATCTGGGACAGAATTCACTCTCACCATCAGCAG AGAGTCACCATGACCACAGACACATCCACGAGCACAGCCTACATGGAGCTGAGGAGCCTGAG GGGGTCCCATCAAGGTTCAGCGGCAGTGGATCTGGGACAGATTTCACTCTCACTATCAGCAG
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
43 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Ejemplos de alineamientos obtenidos: Secuencias alineadas con Star alignment
TACTAT–-GCA–-GACTCCGTGACGGG-CC-G–ATT-C-GC–CATCTCCAGAGACAATTCCACCTTCAGT-A–-GCTATGCT-AT-G-CA-CT-GGGTCC-GCCAGGCTCC-A––GGGAA–-G CGAGTC–ACC––AT-A–-T-CAGTA-G–A–C–-A-CG–TCC-AAGAACC-AG-T––-TCTCC AGGCTCA-CC-ATCTCCAAGGA-CA-CC-TC–C–AAA-A––-ACCAGGTG–-G––T-C–C–GGGGTC––CC––ATCAAGGTTCAGCG-G-C–A––-GT–GGAT-CTGGGACAGA-A––-TTCA GGAGTG–CCA––GATAGGTTCAGTGG-CA-G–C–-G-GG–TCA-GGGACAGATT-T–– -CACAC–-TG–-AA–AATCAGCCGGGTGGA–G–GCTG–AG–GATGTTGGGGTTTATTA–CTG CAGGTC–-ACC––ATC––T-CAGCC-GAC–AA––GT–CCAT-CAGC-ACCGC-C––-TAC-C GGGGTC––CC––ATCAAGGTTCAGCG-G-C–A––-GT–GGAT-CTGGGACAGA-T––-TTCA AGAGTC–-ACC––ATGACCA–CAGAC–AC–-A––-T–CCA–CGAGCACAGC-C––-TACA––
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
44 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Experimentos y resultados
Ejemplos de alineamientos obtenidos: Secuencias alineadas con TSP-AG
TACTATGCAGACTCCGTGACGGGCCGATTCGCCAT––––CTCCAGAGACAATTCCAAGAACA –––––––-ACCTTCAGTAGCTATGCTATGCACTGGGTCCGCCAGGCTCCAGGGAAGGGACTG ––––––––––––CGAGTCACCAT––––ATCAGTAGACACGTCCAAGAAC-CAGTTCTC–-CC ––––––––––––AGGCTCACCAT––––CTCCAAGGACACCTCCA–AAAACCAG-GTGGTCCT –––––––––––GGGG–-TCCCAT–-CAAGGTTCAGC-GGCAGTGGATCTGGGAC-AGAATTC –––––––––––GGAG–-TGCCAG–-ATAGGTTCAGT-GGCAGCGGGTCAGGGAC-AGATTTC –––––––––––-CAGG-TCACCAT––––CTCAGCCGACAAGTCCATCAGCACCGC-CTA–-C –––––––––––GGGG–-TCCCAT–-CAAGGTTCAGC-GGCAGTGGATCTGGGAC-AGAATTC ––––––––––––AGAGTCACCAT––––GACCACAGACACATCCACGAGCACAGC-CTA–-CA –––––––––––GGGG–-TCCCAT–-CAAGGTTCAGC-GGCAGTGGATCTGGGAC-AGATTTC
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
45 / 50
Solución usando Computación Evolutiva
Experimentos y resultados
Modelo TSP-EA Conclusiones
Se presentó una propuesta de uso de modelos evolutivos para solucionar el problema TSP aplicado a alineamiento de múltiples secuencias Se usó una medida de distancia adecuada a los enfoques TSP. Aunque un problema TSP no considera la jerarquía dada por un arbol (alineamiento progresivo) muestra buenos resultados, siendo estos superiores al modelo de alineamiento estrella y comparables con modelos progresivos. Se propone como trabajo futuro utilizar las características de individuos con jerarquía en árbol de los modelos de Programación Genética [Koza, 1989] para buscar el mejor árbol de alineamientos, y comparar con el algoritmo de alineamiento progresivo [Feng and Doolittle, 1987] Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
46 / 50
Bibliografía
Bibliografía I Banda, J. D., Chuctaya, J. H., and Túpac, Y. J. (2012). Optimizing multiple sequence alignments using traveling salesman problem and order-based evolutionary algorithms. In Proceedings of CIBB 2012, the Ninth International Meeting on Computational Intelligence Methods for Bioinformatics and Biostatistics. Bellman, R. E. (1957). Dynamic Programming. Princeton University Press, Princeton NJ.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
47 / 50
Bibliografía
Bibliografía II Feng, D.-F. and Doolittle, R. (1987). Progressive sequence alignment as a prerequisitetto correct phylogenetic trees. Journal of Molecular Evolution, 25:351–360. 10.1007/BF02603120. Gusfield, D. (1997). Algorithms on Strings, Trees, and Sequences: Computer Science and Computational Biology. Cambridge University Press.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
48 / 50
Bibliografía
Bibliografía III Korostensky, C. and Gonnet, G. (1999). Near optimal multiple sequence alignments using a traveling salesman problem approach. In String Processing and Information Retrieval Symposium, 1999 and International Workshop on Groupware, pages 105–114. Koza, J. R. (1989). Hierarchical genetic algorithms operating on populations of computer programs. In Sridharan, N. S., editor, Proceedings of the 11th International Joint Conference on Artificial Intelligence, pages 768–774. Morgan Kaufmann, San Mateo, California.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
49 / 50
Bibliografía
Bibliografía IV Needleman, S. B. and Wunsch, C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. Journal of Molecular Biology, 48(3):443–453. Setubal, J. C. and Meidanis, J. (1997). Introduction to computational molecular biology. Boston: PWS Publishing Company. Wan, X. (2002). Multiple sequence alignment using traveling salesman problem algorithms.
Yván Túpac (C.Sc. – UCSP)
Clase 01
07 de diciembre, 2012
50 / 50