Defesa de Mestrado
Alinhamento múltiplo de proteínas utilizando algoritmos genéticos
1
Sérgio Jeferson Rafael Ordine
Orientador: Zanoni Dias
Agenda
2
❖ Introdução
❖ ALGAe
❖ Melhorias
❖ Anubis
❖ Considerações Finais
Introdução
3
Alinhamento de Sequências
❖ Arranjo de sequências de caracteres
❖ Maximizar Pontuação
❖ Para sequências biológicas - evidencia similaridades:
❖ Estruturais
❖ Funcionais
❖ Modela a história evolucionária
4
Alinhamento de Sequências
M KWTARP DER
M KWEAVHA
M S S KKG GA R
M A K L S K Q Q K K
5
Alinhamento de Sequências
M KWTARP DER
M KWEAVHA
M S S KKG GA R
M A K L S K Q Q K K
5
Alinhamento de Sequências
M KWTARP DER
M KWEAVHA
M S S KKG GA R
M A K L S K Q Q K K
-
5
Alinhamento de Sequências
M KWTARP DER
M KWEAVHA
M S S KKG GA R
M A K L S K Q Q K K
-
--
5
Alinhamento de Sequências
❖ Alinhamento de 2 sequências
❖ Needleman e Wunsch (1970)
❖ Programação dinâmica
❖ θ(mn)
7
Alinhamento de Sequências
❖ Alinhamento de 2 sequências
❖ Semi-Global
❖ Local: Smith e Waterman (1981)
8
Alinhamento Múltiplo de Sequências
9
❖ Multiple Sequence Alignment (MSA)
❖ Conjunto de 3 ou mais sequências
❖ NP-Difícil: Wang e Jiang (1994), Just (2001)
❖ Foco deste trabalho: Sequências de proteínas
MSA
10
Progressivo
MSA
10
Progressivo
MSA
10
Progressivo
MSA
10
Progressivo
MSA
10
Progressivo
MSA
11
Progressivo
MSA
11
Progressivo
MSA
11
Progressivo
MSA
12
Iterativo
MSA
12
Iterativo
MSA
12
Iterativo
MSA
12
Iterativo
MSA
12
Iterativo
MSA
12
Iterativo
Algoritmos Genéticos
13
❖ Algoritmos de otimização
❖ Inspirado na Seleção Natural
❖ Holland (1975)
❖ SAGA: Notredame e Higgins (1996)
❖ Precursor do uso de Algoritimos Genéticos para MSA
Algoritmos Genéticos
14
Algoritmos Genéticos
14
População Inicial
Algoritmos Genéticos
15
• População Inicial
Algoritmos Genéticos
15
• População Inicial
Crossover
Algoritmos Genéticos
15
• População Inicial
Crossover
Algoritmos Genéticos
Crossover16
• População Inicial
Algoritmos Genéticos
17
• População Inicial• Crossover
Algoritmos Genéticos
18
• População Inicial• Crossover
Mutação
Algoritmos Genéticos
18
• População Inicial• Crossover
Mutação
Algoritmos Genéticos
Mutação19
• População Inicial• Crossover
Algoritmos Genéticos
19
• População Inicial• Crossover• Mutação
Algoritmos Genéticos
Seleção20
• População Inicial• Crossover• Mutação
Algoritmos Genéticos
Seleção20
• População Inicial• Crossover• Mutação
Algoritmos Genéticos
20
• População Inicial• Crossover• Mutação• Seleção
Algoritmos Genéticos
21
• População Inicial• Crossover• Mutação• Seleção
Algoritmos Genéticos
❖ População Inicial
❖ Crossover
❖ Mutação
❖ Seleção
Algoritmos Genéticos
❖ População Inicial
❖ Crossover
❖ Mutação
❖ Seleção
❖ Função objetivo (fitness function)
Algoritmos Genéticos
❖ Problema
❖ Utilizar algoritmos genéticos para MSA
❖ Diversos parâmetros
❖ Diversas possibilidades para cada parâmetro
❖ Avaliação dos resultados
ALGAe
25
ALGAe
26
❖ Ambiente configurável
❖ Algoritmo genético para resolução de MSA
❖ Java
❖ Log
❖ Testes com algumas variações para cada parâmetro
❖ Foco em proteínas
Parâmetros
❖ População inicial
❖ Mutação
❖ Crossover
❖ Seleção
❖ Função objetivo
27
População Inicial
❖ Basic Star Alignment
❖ Random Star Alignment
❖ Super Population
❖ Population CR (Conserved Region)
28
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
29
População InicialBasic Star Alignment Population
30
População InicialBasic Star Alignment Population
30
População InicialBasic Star Alignment Population
30
População InicialBasic Star Alignment Population
30
População InicialBasic Star Alignment Population
31
População InicialBasic Star Alignment Population
31
População InicialBasic Star Alignment Population
31
População InicialBasic Star Alignment Population
31
População InicialBasic Star Alignment Population
31
População InicialBasic Star Alignment Population
31
População InicialRandom Star Alignment Population
32
População InicialRandom Star Alignment Population
32
População InicialRandom Star Alignment Population
32
População Inicial
❖ Super Population
❖ União das populações dos métodos anteriores
❖ População maior que o limite populacional
❖ Extinção em massa na primeira geração
34
População Inicial
❖ PopulationCR
❖ Criado sobre o método Super Population
❖ Alinhamento baseado em regiões conservadas
❖ Par a par
❖ Progressivo - Sequências com maior similaridade
População Inicial
❖ Abordagem A1
❖ Alinhamento local
❖ Recursivo - prefixo e sufixo
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População InicialPopulationCR
Abordagem A1
37
A V P E A S S M P I T L N R S M N V A L QWASKYMPARDL
População Inicial
❖ Abordagem A2
❖ Blocos identicos
❖ Janela deslizante
❖ Grafo orientado de blocos consistentes
❖ Caminho máximo
População Inicial
❖ Abordagem A2
❖ Caminho máximo
❖ Grafo acíclico
❖ Ordenação topológica
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
TTK
K T T
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
TTK
K T T
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
KDATTK
K T T A D K
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
KDATTK
K T T A D K
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
KDATTK
K T T A D K
40
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TK
D K T
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TK
D K T
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TTK
D K T T
TK
K T
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TTK
D K T T
TK
K T
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TTK
D K T T
TK
K T
41
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
42
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
KDA
A D K
42
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
KDA
A D K
42
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
TKDA
K T T A D K
TK
42
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
TKDA
K T T A D K
TK
42
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
43
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TK
D K T
43
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TK
D K T
43
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TTK
D K T K T T
TK
43
População Inicial
A TKDAYD TTK
K T T A D K T T A K
T
T T
Abordagem A2
PopulationCR
D TTK
D K T K T T
TK
43
População Inicial
❖ Abordagem A2
❖ Janela deslizante (k = 5)
44
População Inicial
❖ Abordagem A2a
❖ Alfabetos comprimidos
❖ Janela deslizante (k = 12)
45
População Inicial
❖ PopulationCR
❖ Comparação das abordagens utilizadas
❖ BAliBASE 3
❖ Abordagem A1
46
Mutação
❖ Simple Mutation
❖ Shift Gap Block Mutation
❖ Change Gap Block Mutation
47
MutaçãoSimple Mutation
48
MutaçãoSimple Mutation
48
MutaçãoSimple Mutation
48
MutaçãoSimple Mutation
48
MutaçãoSimple Mutation
48
MutaçãoShift Gap Block Mutation
49
MutaçãoShift Gap Block Mutation
49
MutaçãoShift Gap Block Mutation
49
MutaçãoShift Gap Block Mutation
49
MutaçãoShift Gap Block Mutation
49
MutaçãoShift Gap Block Mutation
49
Mutação
50
MutaçãoChange Gap Block Mutation
50
MutaçãoChange Gap Block Mutation
50
MutaçãoChange Gap Block Mutation
50
MutaçãoChange Gap Block Mutation
50
MutaçãoChange Gap Block Mutation
50
Crossover
❖ Single Point Crossover
❖ Best Partial Alignment Crossover
❖ Sequence Similarity Crossover
51
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverSingle Point Crossover
52
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
CrossoverBest Partial Alignment Crossover
53
A
A'
B
B'
CrossoverBest Partial Alignment Crossover
53
A
A'
B
B'
AB'
CrossoverBest Partial Alignment Crossover
53
A
A'
B
B'
AB'
A'B
CrossoverBest Partial Alignment Crossover
53
A
A'
B
B'
AB'
A'B
CrossoverBest Partial Alignment Crossover
53
A
A'
B
B'
CrossoverBest Partial Alignment Crossover
53
CrossoverSequence Similarity Crossover
54
CrossoverSequence Similarity Crossover
54
CrossoverSequence Similarity Crossover
54
CrossoverSequence Similarity Crossover
54
CrossoverSequence Similarity Crossover
54
CrossoverSequence Similarity Crossover
54
Função Objetivo
❖ Sum of Pair Matrix Based Score
❖ Gap Affinity Sum of Pairs Matrix Based Score
55
Função Objetivo
fitness =m!
i=1
n−1!
j=1
n!
k=j+1
σ(seqij, seqik)
Sum Of Pairs Matrix Based Score
56
scoregap = gop + n× gep
Função ObjetivoGap Affinity Sum Of Pairs Matrix Based Score
σ(c1, c2) =
!
gop + gep se c1 ou c2 inicia um bloco de gaps,gep se c1 ou c2 estende um bloco de gaps.
57
Seleção
❖ Roulette Selection
❖ Most Fitted Selection
58
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoRoulette Selection
59
SeleçãoMost Fitted Selection
60
SeleçãoMost Fitted Selection
60
SeleçãoMost Fitted Selection
60
Primeiros Resultados
❖ GAADT: Santos, 1998
❖ Mesmo escopo
❖ Mestrado
❖ Algoritmos Genéticos
❖ Código fonte não disponível
❖ Poucos casos de teste para comparação
61
Primeiros Resultados
1aab 1fjlA 1hpi 1csy 1tgxA média
GAADT 88,1% 81,4% 70,8% 70,3% 69,2% 76,0%
ALGAe (média) 88,4% 93,8% 88,3% 76,2% 68,5% 83,0%
ALGAe(máximo) 89,6% 100,0% 96,2% 80,7% 77,2% 88,7%
fonte: Santos, 1998 62
Primeiros Resultados
BAliBASE T-COFFEE Muscle ClustalW ALGAe
RV11 (SP) 47,1% 47,9% 43,4% 38,1%
RV12 (SP) 85,5% 84,7% 81,7% 76,1%
fonte: Hang, 2008 63
Melhorias
64
Análise Inicial
m(gen) =SPmax(gen)
SPmax(n)
65
Análise Inicial
66
Penalização de Gaps
❖ Trabalhos relacionados
❖ Agrawal e colegas (2008) e Reese e Pearson (2002)
❖ Buscas em bancos de sequências
67
Penalização de Gaps
❖ Penalizações de Gaps
❖ Abertura (q)
❖ Extensão (r)
❖ BLOSUM62 e BLOSUM80
❖ BAliBASE 3 - RV12
68
Penalização de Gaps
-16-14
-12-10
-8-6
-4-2
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
0.60
0.65
0.700.75
0.80
0.85
SP
q
r
SP
0.60
0.65
0.70
0.75
0.80
0.85
-16-14
-12-10
-8-6
-4-2
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
0.250.300.350.400.450.500.550.60
TC
q
r
TC
0.25
0.30
0.35
0.40
0.45
0.50
0.55
0.60
-20-18
-16-14
-12-10
-8-6
-4
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
0.600.650.700.750.800.85
SP
q
r
SP
0.60
0.65
0.70
0.75
0.80
0.85
-20-18
-16-14
-12-10
-8-6
-4
-5.0
-4.0
-3.0
-2.0
-1.0
0.0
0.300.350.400.450.500.55
TC
q
r
TC
0.30
0.35
0.40
0.45
0.50
0.55
BLOSUM62
BLOSUM8069
Penalização de Gaps
Melhor resultado
(q,r)
1 - Agrawal e colegas
(q,r)
2 - Reese e Pearson
(q,r)
Melhoria em relação
a 1 (%)
Melhoria em relação
a 2 (%)
BLOSUM62 (5,1) (11,2) (9,5) 4,0 14,0
BLOSUM80 (9,2) (13,2) (13,5) 0,7 6,0
70
Resultados
❖ Experimentos inconclusivos
❖ Seleção de matriz par a par
❖ Função objetivo baseada em estrutura
71
Resultados
❖ Possíveis melhorias
❖ Ferramental estatístico
❖ Comparação visual contra benchmark
72
Resultados
❖ Problema
❖ Visualizadores existentes
❖ Poucas ferramentas (comparação de alinhamentos)
❖ Não permitiam as visualizações desejadas
❖ Difícil configuração/customização
73
Anubis
74
Anubis
75
Anubis
❖ Comparador visual
❖ Benchmark x alinhamento alvo
❖ Java
❖ Extensível/flexível
76
Anubis
❖ Plug-ins
❖ Baixo acomplamento
❖ Mensagens
❖ Visualizadores
❖ Camadas
77
Anubis
78
Anubis
78
Anubis
78
Anubis
78
Anubis
78
Anubis
79
Anubis
79
Anubis
79
Anubis
79
Anubis
79
Anubis
79
Correspondência de Colunas
80
Árvores Filogenéticas
81
Árvores Filogenéticas
81
Árvores Filogenéticas
81
Árvores Filogenéticas
81
Estruturas Secundárias
82
Outras Funcionalidades
❖ Porcentagem de sucesso
❖ Similaridade em relação ao benchmark
❖ Colunas e sequências
❖ Gaps (opcional)
83
Outras Funcionalidades
❖ Sequências consenso
❖ Alfabetos comprimidos
❖ Pontuação
84
Outras Funcionalidades
❖ Visualização
❖ Ocultar colunas/sequências
❖ Cores
❖ Sincronizar o scrolling dos alinhamentos
85
Considerações Finais
86
Contribuições - Ferramentas
❖ ALGAe
❖ Anubis
❖ Open-source
❖ GitHub
87
Contribuições
❖ ALGAe: A testbench environment for a Genetic Algorithm-based Multiples Sequence Aligner
❖ S. Ordine, A. Grilo, A. Almeida e Z. Dias
❖ Brazilian Symposium on Bioinformatics - BSB’2011
❖ Brasília
88
Contribuições
❖ An empirical study for gap penalty score using a multiple sequence alignment genetic algorithm
❖ S. Ordine, A. Almeida e Z. Dias
❖ Brazilian Symposium on Bioinformatics - BSB’2012
❖ Campo Grande
89
Trabalhos Futuros
❖ ALGAe
❖ Função objetivo baseada em estrutura
❖ Anubis
❖ Mesclar alinhamentos
❖ Ferramental estatístico
90
Obrigado
91