Alinhamento Simples

Transcrição

Alinhamento Simples
Métodos para alinhamento de
pares de sequências
Ana Teresa Freitas
3/17/2005
1
Índice
Alinhamento de sequências
•
•
•
•
•
•
•
•
3/17/2005
Introdução
Distância de edição
Alinhamento de cadeias de caracteres
Funções de mérito
Matrizes de substituição
Alinhamento global
Alinhamento local
Heuristicas para alinhamento
2
1
Introdução
Avanços na área da biologia molécular permitem
um rápido aumento do número de genomas
sequenciados
Crescimento exponencial
do Genbank
A comunidade científica
passou a dar maior ênfase
à transformação da
grande quantidade de
dados existentes em
conhecimento
3/17/2005
3
Taxas de crescimento
3/17/2005
4
2
Que sentido dar a estes dados?
3/17/2005
5
A análise de sequências de biomoléculas (DNA, RNA ou Amino
Ácidos) mostra que normalmente uma elevada semelhança entre
sequências implica uma elevada semelhança entre funcionalidades
ou estruturas
Citações como a proferida por Eric Wieschaus, um dos
vencedores do prémio Nobel da medicina em 1995:
“We didn´t know it at the time, but we found out everything in life is so
similar, that the same genes that work in flies are the ones that work in
humans.” [Associated Press, 9 October, 1995]
e a proferida por Francois Jacob em 1977:
“Nature is a tinkerer and not an inventor”[Evolution and tinkering, science
196:1161-1166]
3/17/2005
6
3
Após a sequênciação de uma molécula de DNA é
muitas vezes possível reconhecer uma semelhança
entre a nova sequência e uma sequência sobre a qual já
existe alguma informação
As sequências semelhantes são designadas de
sequências homólogas e a informação entre elas é
transferida por homologia
A semelhança entre sequências pode ter outras
utilidades:
• Pesquisas em base de dados
• Comparação de genomas
• …
3/17/2005
7
Uma sequência biológica é uma cadeia de
caracteres escrita com um alfabeto de quatro
letras (A,C,T,G)
Comparar duas sequências biológicas é
equivalente a comparar duas cadeias de
caracteres
É possível utilizar muitos dos métodos
existentes para comparar cadeias de caracteres
3/17/2005
8
4
Distância de edição
Medida de semelhança/diferença entre duas cadeias de
caracteres
Obtida através da determinação da distância entre as duas
cadeias de caracteres
Definição: A distância de edição entre duas cadeias
de caracteres é definida como o número mínimo
de operações de edição necessárias para
transformar a primeira cadeia de caracteres na
segunda. Notar que o emparelhamento de
caracteres iguais não é contabilizado como uma
operação de edição.
3/17/2005
9
Duas das mais típicas distâncias de edição
utilizadas:
• distância de edição de Levenshtein
– considera três operações de edição: a inserção, o
apagamento e a substituição de um caractere
• distância de edição de Damerau
– considera quatro operações de edição: a inserção, o
apagamento, a substituição e a transposição entre dois
caracteres adjacentes
3/17/2005
10
5
Alinhamento de cadeias de caracteres
Um alinhamento é uma forma de descrever uma
relação entre duas cadeias de caracteres
Indica se duas sequências biológicas estão
evolutivamente relacionadas ou não
Duas sequências biológicas semelhantes ⇔ Duas
cadeias de caracteres semelhantes
As sequências acumulam inserções, apagamentos
e substituições
O conceito de alinhamento é crucial
3/17/2005
11
Alinhamento de cadeias de caracteres
Definição: Um alinhamento global de duas
cadeias de caracteres S1 e S2 é obtido
colocando inicialmente espaços nas
extremidades ou no interior de S1 e S2.
Posteriormente coloca-se as duas cadeias
resultantes uma por cima da outra, fazendo
corresponder a cada caractere ou espaço de
uma cadeia apenas um caractere ou espaço
da outra cadeia.
3/17/2005
12
6
Alinhamento de pares de sequências
Exemplo:
S1 = WEAGAWGHEE
S2 = PAWHEAE
WEAGAWGHE-E
WEAGAWGHE-E
P-A--W-HEAE
--P-AW-HEAE
desigualdade
igualdade
espaçamento
• Qual é o melhor?
• Terá significado biológico?
3/17/2005
13
Funções de mérito
No contexto da Bioinformática o objectivo é obter
o alinhamento com mais significado biológico
São várias as funções de mérito que podem ser
utilizadas para medir a relevância biológica de um
determinado alinhamento
A função de mérito normalmente utilizada é uma
função aditiva
• implica que está a ser assumido que as mutações nas
diferentes posições da sequência ocorrem de uma forma
independente
3/17/2005
14
7
Função de mérito aditiva
O valor atribuído a cada alinhamento é
calculado utilizando a seguinte expressão:
S=
s ( s1 (i ), s2 (i )) + G ( g )
i
• sendo s(s1(i),s2(i)) o valor associado ao
alinhamento dos caracteres i das sequências s1
e s2, e sendo G(g) o valor associado aos
espaçamentos existentes
3/17/2005
15
Função de mérito aditiva
Matriz de mérito. Especifica os valores s(s1(i),s2(i))
entre caracteres iguais e diferentes
• Matrizes PAM e BLOSUM
– Caracterizam preferência evolutiva
Função G. Pode apresentar diferentes níveis de
complexidade
• Função linear no tamanho do espaçamento
– Considera que todos os espaçamentos introduzidos são
independentes e têm o mesmo valor
– Atribui um valor diferente a cada extensão do espaçamento
3/17/2005
16
8
Examplo:
A
E
G
H
W
5
-1
0
-2
-3
E
-1
6
-3
0
-3
H
-2
0
-2
10
-3
P
-1
-1
-2
-2
-4
W
-3
-3
-3
-3
15
A
WEAGAWGHE-E
--P-AW-HEAE
(-8) + (-8) + (-1) + (-8) + 5 + 15
+ (-8) + 10 + 6 + (-8) + 6 = 1
WEAGAWGHE-E
P-A--W-HEAE
(-4) + (-8) + 5 + (-8) + (-8) + 15
+ (-8) + 10 + 6 + (-8) + 6 = -2
3/17/2005
17
Modelo de mérito
O valor do alinhamento é a soma dos valores
correspondentes a todos os caracteres alinhados, mais os
valores correspondentes aos espaçamentos
Corresponde ao logaritmo do cociente da probabilidade
das sequências estarem relacionadas, com a
probabilidade das sequências não estarem relacionadas
Espera-se que zonas conservadas sejam mais prováveis
num alinhamento do que obtidas por acaso
• Contribuem com termos positivos
Zonas não conservadas são menos frequêntes em
alinhamentos reais do que se fossem obtidas ao acaso
• Contribuem com termos negativos
3/17/2005
18
9
Matriz de mérito ou substituiç
substituição
A
R
N
D
C
Q
E
G
H
I
L
K
M
F
P
S
T
W
Y
V
A
5
-2
-1
-2
-1
-1
-1
0
-2
-1
-2
-1
-1
-3
-1
1
0
-3
-2
0
R
-2
7
-1
-2
-4
1
0
-3
0
-4
-3
3
-2
-3
-3
-1
-1
-3
-1
-3
N
-1
-1
7
2
-2
0
0
0
1
-3
-4
0
-2
-4
-2
1
0
-4
-2
-3
D
-2
-2
2
8
-4
0
2
-1
-1
-4
-4
-1
-4
-5
-1
0
-1
-5
-3
-4
C
-1
-4
-2
-4
13
-3
-3
-3
-3
-2
-2
-3
-2
-2
-4
-1
-1
-5
-3
-1
Q
-1
1
0
0
-3
7
2
-2
1
-3
-2
2
0
-4
-1
0
-1
-1
-1
-3
E
-1
0
0
2
-3
2
6
-3
0
-4
-3
1
-2
-3
-1
-1
-1
-3
-2
-3
G
0
-3
0
-1
-3
-2
-3
8
-2
-4
-4
-2
-3
-4
-2
0
-2
-3
-3
-4
H
-2
0
1
-1
-3
1
0
-2
10
-4
-3
0
-1
-1
-2
-1
-2
-3
2
-4
I
-1
-4
-3
-4
-2
-3
-4
-4
-4
5
2
-3
2
0
-3
-3
-1
-3
-1
4
Aminoá
Aminoácidos
L
-2
-3
-4
-4
-2
-2
-3
-4
-3
2
5
-3
3
1
-4
-3
-1
-2
-1
1
K
-1
3
0
-1
-3
2
1
-2
0
-3
-3
6
-2
-4
-1
0
-1
-3
-2
-3
M
-1
-2
-2
-4
-2
0
-2
-3
-1
2
3
-2
7
0
-3
-2
-1
-1
0
1
F
-3
-3
-4
-5
-2
-4
-3
-4
-1
0
1
-4
0
8
-4
-3
-2
1
4
-1
P
-1
-3
-2
-1
-4
-1
-1
-2
-2
-3
-4
-1
-3
-4
10
-1
-1
-4
-3
-3
S
1
-1
1
0
-1
0
-1
0
-1
-3
-3
0
-2
-3
-1
5
2
-4
-2
-2
3/17/2005
T
0
-1
0
-1
-1
-1
-1
-2
-2
-1
-1
-1
-1
-2
-1
2
5
-3
-2
0
W
-3
-3
-4
-5
-5
-1
-3
-3
-3
-3
-2
-3
-1
1
-4
-4
-3
15
2
-3
Y
-2
-1
-2
-3
-3
-1
-2
-3
2
-1
-1
-2
0
4
-3
-2
-2
2
8
-1
V
0
-3
-3
-4
-1
-3
-3
-4
-4
4
1
-3
1
-1
-3
-2
0
-3
-1
5
19
Category
Acids and Amides
Basic
Aromatic
Hydrophilic
Amino Acid
Asp (D) Glu(E) Asn (N) Gln (Q)
His (H) Lys (K) Arg (R)
Phe (F) Tyr (Y) Trp (W)
Ala (A) Cys (C) Gly (G) Pro (P) Ser (S) Thr(T)
Hydrophobic
Ile (I) Leu (L) Met (M) Val (V)
Um biólogo com uma grande intuição para proteínas poderia
sugerir, com realismo, um conjunto de 210 valores,
correspondentes a todos os possíveis alinhamentos entre pares
de aminoácidos
3/17/2005
Mas seria útil ter alguma
teoria que justificasse os
valores da matriz
20
10
Category
Acids and Amides
Basic
Aromatic
Hydrophilic
Amino Acid
Asp (D) Glu(E) Asn (N) Gln (Q)
His (H) Lys (K) Arg (R)
Phe (F) Tyr (Y) Trp (W)
Ala (A) Cys (C) Gly (G) Pro (P) Ser (S) Thr(T)
Hydrophobic
Ile (I) Leu (L) Met (M) Val (V)
A probabilidade do aminoácido Ser(S) sofrer uma mutação para
Phe(F) é 3X maior que a probabilidade de Trp(W) sofrer uma
mutação para Phe(F)
A probabilidade de Ser(S) sofrer uma mutação para Phe(F) em
proteinas que divergiram há 15 milhões de anos é menor do que
a probabilidade desta mutação em proteinas que divergiram há
80 milhões de anos
3/17/2005
21
Modelo Probabilístico
Formalismo
• Sequências: x(n), y(m)
– xi é o símbolo i de x
– yj é o símbolo j de y
• Alfabeto A (símbolos idêntificados por a, b)
– DNA, {A,G,C,T}
– proteinas, os 20 aminoácidos
Considere-se duas sequências de igual
tamanho e totalmente alinhadas
3/17/2005
22
11
Modelo aleatório, R :
• Assume que o símbolo a ocorre de uma forma
independente com uma probabilidade qa
• A probabilidade das duas sequências é apenas o
produto das probabilidades de cada símbolo
P ( x, y | R ) =
∏q ∏q
xi
i
yj
j
3/17/2005
23
Modelo relacionado, M:
• Assume que os pares de símbolos alinhados
ocorrem com uma probabilidade conjunta pab
• Esta probabilidade pode ser vista como a
probabilidade dos símbolos a e b terem sido
gerados de uma forma independente a partir do
mesmo símbolo original c
P( x, y | M ) =
∏p
xi yi
i
3/17/2005
24
12
Odds ratio:
P ( x, y | M )
=
P ( x, y | R )
∏p
∏q ∏q
i
i
xi yi
xi
i
=
yi
∏q
p xi yi
i
xi q yi
Modelo de custo aditivo, Log-odds ratio:
S=
s ( xi , yi ) where s (a, b) = log
i
pab
qa qb
•O valor s(a,b) obido para cada par de símbolos dá uma
indicação sobre a importância desse par ocorrer alinhado
relativamente a ocorrer desalinhado
•Estes valores são normalmente apresentados em forma
de matriz, designada de matriz de mérito ou substituição
3/17/2005
25
Espaçamentos
Os espaçamentos são normalmente penalizados
Custo associado a um espaçamento de tamanho g:
•Função linear simples
γ ( g ) = − gd
•Função mais sofisticada
γ ( g ) = −d − ( g − 1)e
sendo g o tamanho do espaçamento, d o valor de cada
alinhamento com um espaçamento e e o valor atribuido a
cada extensão do espaçamento
3/17/2005
26
13
Affine Gap Penalties
Na natureza, muitas vezes os espaçamentos
surgem em conjuntos e não apenas para um
nucleótido isolado
3/17/2005
Na natureza esta
situação é mais
provável
Com uma função de custo
simples obtem-se o
mesmo valor para estes
alinhamentos
27
Modelo Probabilístico
P( gap ) = f ( g )
∏q
xi
i in gap
• A função f(g) é uma distribuição de probabilidade
• Este produto assume que o tamanho do espaçamento é
independente do seu conteúdo
Log-odds ratio:
γ ( g ) = log ( f ( g ))
3/17/2005
28
14
Como estimar estas
probabilidades?
Abordagem simples (maximum likelihood):
• Conta a frequência dos pares alinhados e dos
espaçamentos em alinhamentos confirmados
• As probabilidades pab, qa e f(g) são normalizadas
Dificuldades
• Obter uma boa amostra aleatória de alinhamentos
confirmados
• Obter valores a partir de alinhamentos que
correspondam à divergência esperada para as
sequências que vão ser alinhadas
3/17/2005
29
Matrizes de mérito para
proteínas
Família de matrizes que contêm a
probabilidade de uma sequência se ter
transormado noutra durante o processo
evolutivo
As duas famílias mais conhecidas são as
matrizes PAM (Point Accepted Mutation) e
as matrizes BLOSUM (BLOcks
Substitution Matrix)
3/17/2005
30
15
Matrizes PAM
(Dayhoff, 1978)
Primeiras matrizes de substituição de
aminoácidos, utilizadas nos alinhamentos
efectuados na pesquisa de sequências homologas
em base de dados biológicas
A escolha da matriz de substituição influência
fortemente o resultado dos alinhamentos
A matriz de substituição deve reflectir o fenómeno
biológico que um alinhamento procura mostrar
3/17/2005
31
Matrizes PAM
A construção destas matrizes baseou-se na
obtenção de dados sobre as substituições ocorridas
em alinhamentos de proteínas muito semelhantes
Permite obter relações evolutivas para proteínas da
mesma família e permite ainda a extrapolação
desta informação para outras distâncias evolutivas
Iniciou-se com a construção de árvores
filogenéticas hipotéticas, relacionando sequências
de 71 familias, onde cada par de sequências
diferiam em não mais de 15%
3/17/2005
32
16
Matrizes PAM
O termo PAM tem 2 utilizações distintas mas
relacionadas:
• Unidade de medida de distância evolutiva
• Referência de uma determinada matriz de substituição de
aminoácidos
Definição: Duas sequências S1 e S2 dizem-se a uma
distância evolutiva de 1PAM se uma série de
mutações pontuais “aceites” ( não são consideradas
inserções nem apagamentos) levaram à conversão de
S1 em S2 com uma média de uma mutação “aceite”
em cada 100 aminoácidos
3/17/2005
33
Matrizes PAM
A matriz PAM 1 é definida a partir de muitos
alinhamentos de proteinas extremamente
semelhantes.
A partir de um conjunto de alinhamentos:
• f(i,j) – número de vezes que o aminoácido i está alinhado
com o aminoácido j, dividindo pelo número de posições
alinhadas
• g(i,j) = f(i,j)/f(i) , f(i) é a frequência do aminoácido i em
todas as proteinas do conjunto de dados
• g(i,j) define a probabilidade do aminoácido i se
transformar no aminoácido j dentro de uma distância
evolutiva de 1 PAM
3/17/2005
34
17
Matrizes PAM
Matriz PAM 1:
• Cada posição (i,j) da matriz é definida por
– (i,j) = log f(i,j)/f(i).f(j)
= log g(i,j)/f(j)
• f(i).f(j), corresponde à frequência com que o
aminoácido i é alinhado com o aminoácido j
apenas por acaso (modelo aleatório)
A matrix PAM n é obtida a partir da
multiplicação da matrix PAM 1 n vezes
3/17/2005
35
Matrizes PAM
Duas sequências de proteinas distanciadas de 1PAM
podem apresentar uma diferença inferior a 1 % entre
os aminoácidos que as constituem
Duas sequências que estão distânciadas de 100PAM
não são diferentes em todas as suas posições
Normalmente sequências que divergentes de
200PAM ainda são idênticas em 25% das suas
posições
Duas sequências distânciadas de 250PAM ainda são
distinguíveis de um par de sequências geradas
aleatóriamente.
3/17/2005
36
18
PAM matrices
Distância evolutiva
(PAM)
1
11
23
38
56
80
120
159
250
Diferenças
observadas (%)
1
10
20
30
40
50
Mais utilizada
60
PAM 250
70
80
80
3/17/2005
37
3/17/2005
38
19
BLOSUM
(Henikoff, 1992)
Estas matrizes foram obtidas utilizando, na sua
essência, o modelo probabilístico descrito
anteriormente
Foram obtidas a partir de um enorme volume de
dados pertencentes à base de dados, BLOCKS, de
famílias de proteínas
As sequências foram agrupadas sempre que a
percentagem de caracteres idênticos excedesse um
determinado nível L
BLOSUM50 e BLOSUM62 são as mais utilizadas
3/17/2005
A
R
N
D
C
Q
E
G
H
I
L
K
M
F
P
S
T
W
Y
V
A
5
-2
-1
-2
-1
-1
-1
0
-2
-1
-2
-1
-1
-3
-1
1
0
-3
-2
0
3/17/2005
39
R
-2
7
-1
-2
-4
1
0
-3
0
-4
-3
3
-2
-3
-3
-1
-1
-3
-1
-3
N
-1
-1
7
2
-2
0
0
0
1
-3
-4
0
-2
-4
-2
1
0
-4
-2
-3
D
-2
-2
2
8
-4
0
2
-1
-1
-4
-4
-1
-4
-5
-1
0
-1
-5
-3
-4
C
-1
-4
-2
-4
13
-3
-3
-3
-3
-2
-2
-3
-2
-2
-4
-1
-1
-5
-3
-1
Q
-1
1
0
0
-3
7
2
-2
1
-3
-2
2
0
-4
-1
0
-1
-1
-1
-3
E
-1
0
0
2
-3
2
6
-3
0
-4
-3
1
-2
-3
-1
-1
-1
-3
-2
-3
G
0
-3
0
-1
-3
-2
-3
8
-2
-4
-4
-2
-3
-4
-2
0
-2
-3
-3
-4
H
-2
0
1
-1
-3
1
0
-2
10
-4
-3
0
-1
-1
-2
-1
-2
-3
2
-4
I
-1
-4
-3
-4
-2
-3
-4
-4
-4
5
2
-3
2
0
-3
-3
-1
-3
-1
4
L
-2
-3
-4
-4
-2
-2
-3
-4
-3
2
5
-3
3
1
-4
-3
-1
-2
-1
1
K
-1
3
0
-1
-3
2
1
-2
0
-3
-3
6
-2
-4
-1
0
-1
-3
-2
-3
M
-1
-2
-2
-4
-2
0
-2
-3
-1
2
3
-2
7
0
-3
-2
-1
-1
0
1
F
-3
-3
-4
-5
-2
-4
-3
-4
-1
0
1
-4
0
8
-4
-3
-2
1
4
-1
P
-1
-3
-2
-1
-4
-1
-1
-2
-2
-3
-4
-1
-3
-4
10
-1
-1
-4
-3
-3
S
1
-1
1
0
-1
0
-1
0
-1
-3
-3
0
-2
-3
-1
5
2
-4
-2
-2
T
0
-1
0
-1
-1
-1
-1
-2
-2
-1
-1
-1
-1
-2
-1
2
5
-3
-2
0
W
-3
-3
-4
-5
-5
-1
-3
-3
-3
-3
-2
-3
-1
1
-4
-4
-3
15
2
-3
Y
-2
-1
-2
-3
-3
-1
-2
-3
2
-1
-1
-2
0
4
-3
-2
-2
2
8
-1
V
0
-3
-3
-4
-1
-3
-3
-4
-4
4
1
-3
1
-1
-3
-2
0
-3
-1
5
40
20
PAM vs. BLOSUM
O modelo PAM tem a capacidade de evidênciar a origem
evolutiva de proteínas
O modelo Blosum tem a capacidade de evidênciar domínios
conservados em proteínas
Regras práticas
• Baixas PAMs e elevadas Blosums encontram pequenos
alinhamentos locais com elevada semelhança
• Elevadas PAMs e baixas Blosums encontram alinhamentos
locais mais fracos mas longos
3/17/2005
41
3/17/2005
42
21
Algoritmos de alinhamento
Quais as dificuldades?
Considere duas sequências de tamanho n
Pergunta:
• Quantos possíveis alinhamentos existem entre as duas
cadeias de caracteres?
Resposta:
• Se não for permitido espaçamentos, então existe apenas
um alinhamento possível
• Se forem permitidos espaçamentos, é necessário
enumerar todos os alinhamentos entre todas as subsequências das duas cadeias de caracteres
3/17/2005
43
Algoritmos de alinhamento
Quais as dificuldades?
Existem
(2n)! 2 2 n
=
≈
n
(n!) 2
πn
2n
possíveis alinhamentos globais
Pretende-se obter o melhor de todos
3/17/2005
44
22
Então?
Para n = 20, temos cerca
de 120 biliões de
alinhamentos possíveis
Na prática pretendemos
alinhar sequências muito,
mas muito mais longas
• Algumas proteínas têm
mais de 1000 aminoácidos
• Os genes podem ter vários
milhares de pares de bases
3/17/2005
45
Alinhamento Global vs. Local
3/17/2005
46
23
ALINHAMENTO GLOBAL
• Compara duas sequências em toda a sua extensão
• É apropriado para comparar sequências cujas
semelhanças sejam esperadas em toda a sua extensão
• O alinhamento maximiza as regiões de semelhança e
minimiza os espaçamentos
ALINHAMENTO LOCAL
• Procura locais de semelhança entre as sequências sem
ter de considerar todo o comprimento destas
• É muito útil para fazer pesquisas em base de dados
• É muito útil em situações onde não existe qualquer
conhecimento sobre a semelhança entre as sequências a
comparar
3/17/2005
47
ALINHAMENTO GLOBAL versus LOCAL
Alinhamento Global
--T—-CC-C-AGT—-TATGT-CAGGGGACACG—A-GCATGCAGA-GAC
| || | || | | | |||
|| | | | | ||||
|
AATTGCCGCC-GTCGT-T-TTCAG----CA-GTTATG—T-CAGAT--C
Alinhamento Local
tccCAGTTATGTCAGgggacacgagcatgcagagac
||||||||||||
aattgccgccgtcgttttcagCAGTTATGTCAGatc
3/17/2005
48
24
Programação Dinâmica (DP):
algoritmo que permite obter alinhamentos
óptimos utilizando funções de mérito
aditivas
Estes algoritmos garantem como solução o
melhor alinhamento ou melhor conjunto de
alinhamentos
Os algoritmos mais simples são os algoritmos
para alinhamento de pares de sequências
3/17/2005
49
Programação Dinâmica
Novo melhor alinhamento = melhor anterior + melhor local
Sequência A
Melhor alinhamento anterior
...
...
...
...
Sequência B
3/17/2005
50
25
Descrição Formal
Problema: Alinhamento_par_sequencia
Entrada: Duas sequências
x,y
Matriz de mérito
s(x,y)
Valor do espaçamento d
Saída: O melhor alinhamento
3/17/2005
51
EXEMPLO: Duas sequências de aminoácidos
x: HEAGAWGHEE
y: PAWHEAE
d=8
s(xi,yj) = BLOSUM50
3/17/2005
H
E
A
G
W
P
-2
-1
-1
-2
-4
A
-2
-1
5
0
-3
W
-3
-3
-3
-3
15
H
10
0
-2
-2
-3
E
0
6
-1
-3
-3
52
26
Alinhamento Global: Algoritmo
Needleman-Wunsh (1970)
Ideia: Construir um alinhamento óptimo utilizando
soluções óptimas obtidas anteriormente para subsequências mais pequenas
• Constroi uma matriz F com indices i e j, um para cada
sequência
• O valor F(i,j) representa o melhor obtido pela função
de mérito para o alinhamento de x1...i com y1...j
• Constroi F(i,j) de uma forma recursiva
3/17/2005
53
F matrix
H
E
A
G
A
W
G
H
E
E
i
P
j
A
X
W
H
E
A
E
Three ways to obtain the best score F(i,j)
• xi is aligned to yj
• xi is aligned to a gap
• yj is aligned to a gap
3/17/2005
HEA
HEA
HEA -xxii
---PA
PA
PA y-yjj
j1−1, )1j +
) −s (dxi , y j )
F (i, Fj )(i=, jF) (=i −F1(,i,j−−
54
27
F(i-1,j-1)
F(i,j-1)
-d
s(xi,yj)
F(i-1,j)
F(i,j)
-d
While building the table, keep track of where optimal score
came from
Initialize: F(0,0) = 0, F(i,0) = -id, F(0,j)=-jd
Fill from top left to bottom right using the recursive relation
F (i − 1, j − 1) + s ( xi , y j )
F (i, j ) = max
F (i − 1, j ) − d
F (i, j − 1) − d
3/17/2005
55
Example:
H
E
A
G
A
W
G
H
E
E
0
-8
-16
-24
-32
-40
-48
-56
-64
-72
-80
P
-8
-2
-9
-17
-25
-33
-42
-49
-57
-65
-73
A
-16
W -24
3/17/2005
H
-32
E
-40
A
-48
E
-56
56
28
Example:
H
E
A
G
A
W
G
H
E
E
0
-8
-16
-24
-32
-40
-48
-56
-64
-72
-80
P
-8
-2
-9
-17
-25
-33
-42
-49
-57
-65
-73
A
-16
-10
-3
-4
-12
-20
-28
-36
-44
-52
-60
W
-24
-18
-11
-6
-7
-15
-5
-13
-21
-29
-37
H
-32
-14
-18
-13
-8
-9
-13
-7
-3
-11
-19
E
-40
-22
-8
-16
-16
-9
-12
-15
-7
3
-5
A
-48
-30
-16
-3
-11
-11
-12
-12
-15
-5
2
E
-56
-38
-24
-11
-6
-12
-14
-15
-12
-9
1
F(n,m) is the best
score for the
alignment
3/17/2005
57
H
E
A
G
A
W
G
H
E
E
0
-8
-16
-24
-32
-40
-48
-56
-64
-72
-80
P
-8
-2
-9
-17
-25
-33
-42
-49
-57
-65
-73
A
-16
-10
-3
-4
-12
-20
-28
-36
-44
-52
-60
W
-24
-18
-11
-6
-7
-15
-5
-13
-21
-29
-37
H
-32
-14
-18
-13
-8
-9
-13
-7
-3
-11
-19
E
-40
-22
-8
-16
-16
-9
-12
-15
-7
3
-5
A
-48
-30
-16
-3
-11
-11
-12
-12
-15
-5
2
E
-56
-38
-24
-11
-6
-12
-14
-15
-12
-9
1
Trace arrows back from the lower right to top left
• Diagonal – both
HEAGAWGHEHEAGAWGHE-E
• Up – upper gap
--P
--P-AWAW-HEAE
• Left – lower gap
3/17/2005
58
29
Algorithm complexity
Stores (n+1) x (m+1) numbers
Each number costs a constant number of
calculations: 3 sums and a max
Big-O notation:
• O(nm) time and memory, n and m are the
length of the sequences
• O(n2) algorithm
• feasible for moderate sized sequences, but not
for aligning whole genomes.
3/17/2005
59
Algorithm complexity
Example 1:
•
•
•
•
•
S1: size 103
S2: size 103
Algorithm O(nm)
Machine: 1GHz and 1Gb RAM (109 steps/second)
Time: 1ms
Example 2:
•
•
•
•
•
3/17/2005
S1: size 109
S2: size 109
Algorithm O(nm) O(n logm)
Machine: 1GHz and 1Gb RAM (109 steps/second) 1010s/s
Time: 109s => 30 anos 108s => 3 anos 9s
60
30
Local alignment
Local alignment
Compute a “mini”
Global Alignment to
get Local
Global alignment
3/17/2005
61
Local alignment
Is closely related to global alignment
Two differences:
• F(i,j) takes the value 0 if all other options have
value less than 0
– Corresponds to starting a new alignment
– Top row and left column will be filled with 0s
• An alignment can end anywhere in the matrix
– Look for the highest value of F(i,j) over the whole
matrix
– Start the traceback from there
3/17/2005
62
31
Local alignment: Smith-Waterman
algorithm (1981)
0
F (i − 1, j − 1) + s ( xi , y j )
F (i, j ) = max
F (i − 1, j ) − d
F (i, j − 1) − d
Another dynamic programming solution
3/17/2005
63
H
E
A
G
A
W
G
H
E
E
0
0
0
0
0
0
0
0
0
0
0
P
0
0
0
0
0
0
0
0
0
0
0
A
0
0
0
5
0
5
0
0
0
0
0
W
0
0
0
0
2
0
20
12
4
0
0
H
0
10
2
0
0
0
12
18
22
14
6
E
0
2
16
8
0
0
4
10
18
28
20
A
0
0
8
21
13
5
0
4
10
20
27
E
0
0
6
13
18
12
4
0
4
16
26
Start at highest score and traceback to first 0
AWGHE
AWAW-HE
3/17/2005
64
32
Notes
For this algorithm to work, the expected score for
a random match must be negative
• behavior is like global alignment otherwise
Similarly, there must be some s(a,b) greater than 0
Care must be given to gap penalties to maintain
O(nm) time complexity
3/17/2005
65
Repeated matches
For long sequences it is possible that there are
many different local alignments with a significant
score
• example: many copies of a repeated domain or motif in
a protein
This asymmetric method finds one or more nonoverlapping copies of sections of one sequence in
the other
3/17/2005
66
33
Repeated matches
Consider only matches with score higher than
some threshold T
In the final, x will be partitioned into regions that
match parts of y in gapped alignments and regions
that are unmatched
The score of a completed match region is its
standard gapped alignment score minus the
threshold T
All the match scores are positive
3/17/2005
67
Repeated matches
Initial conditions: F(0,0) = 0
F (i,0) = max
F (i − 1,0)
F (i − 1, j ) − T
j = 1,..., m
F (i,0)
F (i − 1, j − 1) + s ( xi , y j )
F (i, j ) = max
F (i − 1, j ) − d
F (i, j − 1) − d
3/17/2005
68
34
H
E
A
G
A
W
G
H
E
E
0
0
0
0
1
1
1
1
1
3
9
P
0
0
0
0
1
1
1
1
1
3
9
A
0
0
0
5
1
6
1
1
1
3
9
W
0
0
0
0
2
1
21
13
5
3
9
H
0
10
2
0
1
1
13
19
23
15
9
E
0
2
16
8
1
1
5
11
19
29
21
A
0
0
8
21
13
6
1
5
11
21
28
E
0
0
6
13
18
12
4
1
5
17
27
(n+1,0)
9
T = 20
The optimal alignment with total score 9 = 29 – 20
There are two separate match regions with scores 1 and 8
3/17/2005
HEA.AWHEA.AW-HE.
69
Overlap matches
Matching when the two sequences overlap or one
sequence contains the other
• when comparing fragments of genomic DNA sequence
to each other or to larger chromosomal sequences
Is a type of global alignment but it does not
penalize overhanging ends
3/17/2005
70
35
Heuristic alignment algorithms
The dynamic programming algorithms
described have been ‘correct’
• they are guaranteed to find the optimal score
according to the specified scoring scheme
They are not the fastest available sequence
alignment methods
• current protein database: 100 million residues
• sequence of length 1000 => 1011 matrix cells
• 106 matrix cells a second => 3 hours
3/17/2005
71
Heuristic algorithms
Heuristic approaches sacrifice some
sensitivity
• they can miss the best scoring alignment
• approximate local alignment
Best-known algorithms:
• BLAST (Basic Local Alignment Search Tool)
• FASTA (FAST All) (read “fast_AY”)
3/17/2005
72
36
Heuristic algorithms
These programs are actually suites of programs
containing tuned variants for use in different
problem domains:
•
•
•
•
Searching DNA
Searching protein
Searching database
Aligning two strings
They do not permit precise analyses of their speed
or accuracy
3/17/2005
73
FASTA
(Pearson & Lipman 1988)
Uses a multistep approach to find local high
scoring alignments
• First:
– The user selects a value for a parameter called ktup
– Identifies ktup-length “hot-spots” in the dynamic
programming table
» Finds pairs (i,j) such that the ktup-length substring (k-tuple)
starting at position i in the query string exactly matches the ktuple starting at position j in the text (hash table)
» Such a pair is called a “hot-spot”
» ktup = 1 or 2 for proteins, 4 or 6 for DNA
3/17/2005
74
37
FASTA
• Second:
– Each “hot-spot” (i,j) is a ktup-length interval in
diagonal (i-j) of the full dynamic programming table
– FASTA locates the ten best diagonal runs
– A diagonal run is a sequence of consecutive hot-spots
in a single diagonal
• Third:
– Evaluation
» Each hot-spot has a positive score
» The space between consecutive hot-spots has a negative score
» The score of a diagonal run is the sum
3/17/2005
75
Example:
H
E
A
G
A
W
G
H
E
E
P
A
W
H
E
A
E
3/17/2005
76
38
FASTA
Each of the ten diagonal runs selected, specifies a
pair of aligned substrings
• Matches (from the hot-spots)
• Mismatches (from the interspot regions)
• Does not contain spaces
Determine score using BLOSUM50
Combine “good” subalignments allowing spaces
Realignment using the Smith-Waterman algorithm
• Compute the optimal local alignment
3/17/2005
77
BLAST
(Altschul et al, 1990)
Provides programs for finding high scoring
local alignments between a query sequence
and a target database (DNA or protein)
Idea: True alignments will have a short stretch
of identities (perfect match), or very high
scoring matches
• Look initially for such short stretches and use
them as ‘seeds’
3/17/2005
78
39
BLAST
Became the dominant searching engine for
biological sequences databases
• Outputs a range of solutions
• Each match is accompanied by an estimate of
statistical significance
Fundamental objects
• Segment pairs
• Locally maximal segment pairs
• Maximal segment pairs
3/17/2005
79
BLAST
Definition:
• Given two strings S1 e S2,
– a segment pair is a pair of equal-length substrings of S1 and S2,
aligned without spaces
– a locally maximal segment pair is a segment pair whose alignment
score (without spaces) would fall either by expanding or
shortening the segments on either side
– a maximal segment pair (MSP) in S1, S2 is a segment pair with the
maximum score over all segment pairs in S1, S2
For a fixed query sequence P, find all those database
sequences that, together with P, contain a MSP above
some set cutoff score C
3/17/2005
80
40
BLAST
Strategy:
• With a fixed length w and a fixed threshold t, find all
length-w substrings of S that align to some length-w
substring of P with an alignment score above t
• Each hit is extended to see if it is contained in a
segment pair with score above C
• Does not use dynamic programming to extentions,
because it disallows spaces in the alignments
Length-W substrings
• Proteins, 3 to 5
• DNA, around 12
3/17/2005
81
BLAST
Length-W
Query: KRHRKVLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLKIFLENVIRD
GVK 18
GAK 16
Neighborhood
GIK 16
words
GGK 14
neighborhood
GLK 13
score threshold
GNK 12
(T = 13)
GRK 11
GEK 11
GDK 11
extension
Query: 22
VLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLK 60
+++DN +G +
IR L
G+K I+ L+ E+ RG++K
Sbjct: 226 IIKDNGRGFSGKQIRNLNYGIGLKVIADLV-EKHRGIIK 263
High-scoring Pair (HSP)
3/17/2005
82
41
Original BLAST: Example
3/17/2005
From lectures by Serafim Batzoglou
(Stanford)
A C G A A G T A A G G T C C A G T
C T G A T C C T G G A T T G C G A
• w = 4, T = 4
• Exact keyword
match of
• Extend
diagonals with
mismatches
until score is
under T
• Output result
83
Gapped BLAST: Example
Original BLAST exact
keyword search,
THEN:
Extend with gaps in a
zone around ends of
exact match
Output result
• GTAAGGTCCAG
T
• GTTAGGTCAGT
From lectures by Serafim Batzoglou
(Stanford)
3/17/2005
C T G A T C C T G G A T T G C G A
A C G A A G T A A G G T C C A G T
84
42
BLAST
The effectiveness of BLAST
• In generally, BLAST is competitive with FASTA
• BLAST is less effective when the most biologically
significant alignments contain spaces
• A Smith-Waterman alignment should always be used
when BLASTP matches are displayed
New version: PSI-BLAST
3/17/2005
85
Real Sequence Database Search
New protein sequence is determined
• First (search well-characterized sequence motifs):
– Compare with the PROSITE database
– Compare with the BLOCKS database
• Second (search for sequences highly similar):
– Search the DNA and protein sequence databases
» Genbank
» Swiss-Prot …
– Usually a local similarity
– Approximate methods, BLAST and FASTA
• Last, if needed:
– Compute optimal similarity based on dynamic programming
– Try some variant of a PAM matrix and of a BLOSUM matrix
3/17/2005
86
43

Documentos relacionados

Alinhamento de sequencias

Alinhamento de sequencias comparação entre sequências de DNA de organismos diferentes é baseada no conceito de que estes organismos originaram-se de um ancestral comum. - No contexto de evolução as sequências de DNA sofrem ...

Leia mais

update: 5 Dez 2001 - Atelier de BioInformatique

update: 5 Dez 2001 - Atelier de BioInformatique O alinhamento global é útil para comparar duas sequências homólogas. Mas quando as duas sequências apenas possuem certos domínios em comum, ou quando é necessário comparar uma sequência com todas a...

Leia mais