Vous êtes sur la page 1sur 56

ALINHAMENTO DE SEQUÊNCIAS

BIOLÓGICAS

Leandro Costa do Nascimento


leandro@lge.ibi.unicamp.br
l.costa.nascimento@gmail.com
O QUE É ALINHAMENTO DE SEQUÊNCIAS?

• Alinhar duas sequências é colocar uma sobre a


outra de modo que todo caractere faça
correspondência com outro ou com um gap.

- A A G C T T C C G C - A C
G C A GG T - C C G C TA C
COMO ESCOLHER O MELHOR ALINHAMENTO?

SEQ1: ATCGGTCCAA
SEQ2: ATGGGACCAAAA

ATCGGTCCAA ATCGGTCC AA

ATGGGACCAAAA AT GGGACCAAAA
COMO ESCOLHER O MELHOR ALINHAMENTO?

Match = 1 Mismatch = -1 Gap = -2

• Gaps representam inserções e deleções entre as


sequências. Os mismatches substituições
• O melhor alinhamento é aquele que maximiza o
score.
• Score = #Matches*(1) + #Mismatches*(-1) + #Gaps*(-2)
- Score = 24*(1) + 4*(-1) + 5*(-2) = 10
PORQUE ALINHAR SEQUÊNCIAS?

• Localizar trechos conservados entre genomas


• Comparar uma sequência desconhecida com
bancos de dados de sequências com funções
conhecidas
• Reconstrução da sequência consensu a partir da
sobreposição de fragmentos de sequências
(montagem)
RECONSTRUÇÃO DA SEQUÊNCIA CONSENSU

• Dada um conjunto (C) de fragmentos de


sequências encontrar a menor sequência S de
modo que S seja uma supersequência de
fragmentos de C.
S

C
PROBLEMAS

• Regiões repetitivas
• Orientação desconhecida das sequências
• Falta de cobertura da sequência original
• Erros de sequenciamento
• Tempo de execução para comparar todos os
fragmentos entre si
PROBLEMA 1: ERROS DE SEQUENCIAMENTO
• Tendo dois fragmentos R e T verificar se o sufixo
de R é igual ao prefixo de T e vice-versa

R R
T T
S S

E SE HOUVER UM ERRO DE SEQUENCIAMENTO EM UM


DOS SUFIXOS OU PREFIXOS???
PROBLEMA 1: ERROS DE SEQUENCIAMENTO

R
A T G G C C G A A G G T T
A A G C T T C C G C A C
T
A A G C T T C C G C A C
G C A G G T - C
U

SE DESPREZARMOS ALINHAMENTOS POR CAUSA DE UMA


BASE A SUPERSEQUÊNCIA DIFICILMENTE SERÁ FORMADA

SOLUÇÃO: BUSCA INEXATA


PROBLEMA 1: ERROS DE SEQUENCIAMENTO
R
A T G G C C G A A G G T T
A A G C T T C C G C A C
G C A G G T - C
U

AO PERMITIR BUSCAS INEXATAS A SUPERSEQUÊNCIA SERÁ


FORMADA PELA BASE QUE APARECE MAIS VEZES

A T G G C C G A A G G T T C C G C A C
S
PROBLEMA 2: TEMPO DE EXECUÇÃO
• Testar todos os possíveis alinhamentos de duas
sequências de tamanho n é exponencial de n (nn)
• Supondo que o alinhamento de 2 sequências
com 100 bp leva 1 segundo o alinhamento de um
genoma de 1.000 bp levaria trilhões de anos
• Se quero buscar sobreposições entre 1.000.000
de fragmentos de cerca de 500 pb cada, quanto
tempo isso ia demorar???
• 1ª solução: programação dinâmica
PROGRAMAÇÃO DINÂMICA

• Divisão do problema em partes menores de


maneira a chegar mais rapidamente na resposta
• O tempo de alinhamento entre duas sequências
de tamanho n fica quadrático (n2)
• Se o alinhamento de duas sequências de 100 pb
demora 1 segundo, o alinhamento de sequências
de 1.000 pb leva 100 segundos
• Matriz de alinhamento (global, local e semi-
global)
ALINHAMENTO GLOBAL

• Serve para comparação de sequências com


tamanho parecidos
• Faz o alinhamento das duas sequências
completas
• Exemplo: Clustal
ATCGGTCCAA

ATGGG C
ALINHAMENTO GLOBAL

• Sequência 1: AGCC
• Sequência 2: AAACC
• Gap: -2
• Mismatch: -1
• Match: 1
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2
A -4 G C
A ???? - -
-6
C -8
C -10
ALINHAMENTO GLOBAL

• Qualquer valor (i, j) da matriz é definido pela


seguinte regra:
(i, j) = Max (i-1, j) - 2 Acima
(i, j-1) - 2 Esquerda
(i-1, j-1) + p(i, j) Diagonal

• Onde p(i, j) é a pontuação do campo (1 para


match e -1 para mismatch)
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2 (i, j)
A -4 Máximo
(i-1, j) - 2 = -2 -2 = -4
A -6
(i, j-1) - 2 = -2 -2 = -4
C -8 (i-1, j-1) + p(i, j) = 0 + 1 = 1
C -10 Match: A e A
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2 1
A -4
A -6
C -8
C -10
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2 1 (i,j)
A -4 Máximo
(i-1, j) - 2 = -4 -2 = -6
A -6
(i, j-1) - 2 = 1 -2 = -1
C -8 (i-1, j-1) + p(i, j) = -2 - 1 = -3
C -10 Mismatch: A e G
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2 1 -1
A -4
A -6
C -8
C -10
ALINHAMENTO GLOBAL

- A G C C
- 0 -2 -4 -6 -8
A -2 1 -1 -3 -5
A -4 -1 0 -2 -4
A -6 -3 -2 -1 -3
C -8 -5 -4 -1 0
C -10 -7 -6 -3 0
RECONSTRUÇÃO DO ALINHAMENTO

• No alinhamento global o alinhamento ótimo


deve ser construído a partir da última célula da
matriz
• O valor da última célula também representa o
score do(s) alinhamento(s) ótimo(s) para as duas
sequências
• O alinhamento termina somente na 1ª célula da
matriz
ALINHAMENTO GLOBAL
A G C C
0 -2 -4 -6 -8

A -2 1 -1 -3 -5

A -4 -1 0 -2 -4

A -6 -3 -2 -1 -3

C -8 -5 -4 -1 0

C -10 -7 -6 -3 0
ALINHAMENTO GLOBAL

AGCC AG CC A GCC

AAACC AAACC AAACC

• Matchs: 3
• Mismatches: 1
• Gaps: 1
• Score = 3 * 1 + 1 * (-1) + 1 * (-2) = 0
ALINHAMENTO LOCAL

• Serve para comparação de sequências com


tamanho diferentes
• Faz o alinhamento de blocos das duas sequências
-> somente alguns trechos conservados

ATCGGTCCAA

ATGGG C
ALINHAMENTO LOCAL

• Sequência 1: ACC
• Sequência 2: AAACCGT
• Gap: -2
• Mismatch: -1
• Match: 1
• Matriz de alinhamento do alinhamento global
com algumas adaptações
ALINHAMENTO LOCAL

• Qualquer valor (i, j) da matriz é definido pela


seguinte regra:
(i, j) = Max 0
(i-1, j) -2 Acima
(i, j-1) – 2 Esquerda
(i-1, j-1) + p(i, j) Diagonal

• Onde p(i, j) é a pontuação do campo (1 para


match e -1 para mismatch)
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0
C G
C 0 ???? - -

C 0
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 (i,j) Máximo
0
(i-1, j) - 2 = 0 -2 = -2
C 0
(i, j-1) - 2 = 0 -2 = -2
(i-1, j-1) + p(i, j) = 0 + 1 = 1
C 0
Match: A e A
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 1

C 0

C 0
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 1 1 1 0 (i,j)

C 0 0 Máximo
(i-1, j) - 2 = 0 - 2 = -2
(i, j-1) - 2 = 0 - 2 = -2
C 0 (i-1, j-1) + p(i, j) = 0 - 1 = -1 Mismatch:
AeC
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 1 1 1 0 0

C 0

C 0
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 1 1 1 0 0 0 0

C 0 0 0 0 2 1 0 0

C 0 0 0 0 1 3 0 0
RECONSTRUÇÃO DO ALINHAMENTO

• No alinhamento local o alinhamento deve ser


construído a partir do maior valor da matriz
• O alinhamento deve ser encerrado quando for
encontrado um valor zero na matriz
• Se o maior valor não for único, existe mais de um
bloco conservado entre as duas sequências
ALINHAMENTO LOCAL

- A A A C C G T

- 0 0 0 0 0 0 0 0

A 0 1 1 1 0 0 0 0

C 0 0 0 0 2 1 0 0

C 0 0 0 0 1 3 0 0
ALINHAMENTO LOCAL

AAACC G T

ACC

SCORE DO ALINHAMENTO: 3
ALINHAMENTO SEMI-GLOBAL

• Também conhecido como “Pontas livres”


• Não penaliza Gaps nas extremidades
• Útil para encontrar sobreposições entre as
sequências -> montagem

CAGCATGGTGGATTCTCGC

ATTCAGCGTGG
ALINHAMENTO SEMI-GLOBAL

• Sequência 1: CGTAT
• Sequência 2: AACCGT
• Gap: -2
• Mismatch: -1
• Match: 1
• Matriz de alinhamento do alinhamento global
com algumas adaptações -> 1ª linha e coluna são
computadas com zero
ALINHAMENTO SEMI-GLOBAL

• Qualquer valor (i, j) da matriz é definido pela


seguinte regra:
(i, j) = Max (i-1, j) -2 Acima
(i, j-1) – 2 Esquerda
(i-1, j-1) + p(i, j) Diagonal

• Onde p(i, j) é a pontuação do campo (1 para


match e -1 para mismatch)
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0
G 0
???? C G
T 0 - -
A 0
T 0
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 (i,j) Máximo
(i-1, j) - 2 = 0 -2 = -2
G 0
(i, j-1) - 2 = 0 -2 = -2
T 0 (i-1, j-1) + p(i, j) = 0 - 1 = - 1

A 0 Mismatch: C e A
T 0
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 -1
G 0
T 0
A 0
T 0
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 -1 -1 (i,j)
G 0 Máximo
(i-1, j) - 2 = 0 -2 = -2
T 0 (i, j-1) - 2 = -1 -2 = -3
(i-1, j-1) + p(i, j) = 0 + 1 = 1
A 0
T 0 Match: C e C
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 -1 -1 1
G 0
T 0
A 0
T 0
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 -1 -1 1 1 -1 -1
G 0 -1 -2 -1 0 2 0
T 0 -1 -2 -3 -2 0 3
A 0 1 0 -2 -4 -2 1
T 0 -1 0 -1 -3 -5 -1
RECONSTRUÇÃO DO ALINHAMENTO

• No alinhamento semi-global deve-se selecionar o


maior valor entre a última linha e a última coluna
e iniciar o alinhamento a partir dele
• O alinhamento deve ser encerrado quando
chegar na 1ª linha
ALINHAMENTO SEMI-GLOBAL

- A A C C G T
- 0 0 0 0 0 0 0
C 0 -1 -1 1 1 -1 -1
G 0 -1 -2 -1 0 2 0
T 0 -1 -2 -3 -2 0 3
A 0 1 0 -2 -4 -2 1
T 0 -1 0 -1 -3 -5 -1
MATRIZ ALINHAMENTO GLOBAL

- A A C C G T
- 0 -2 -4 -6 -8 -10 -12
C -2 -1 -3 -3 -5 -7 -9
G -4 -3 -2 -4 -4 -4 -6
T -6 -5 -4 -3 -5 -5 -3
A -8 -5 -4 -5 -4 -6 -5
T -10 -7 -6 -5 -6 -5 -5
GLOBAL X SEMI-GLOBAL
GLOBAL SEMI-GLOBAL
CGTA T CGTA T

AACCGT AACCGT

• Se estivermos em busca de reconstruir a


sequência original, o segundo alinhamento é
muito mais interessante. A montagem das duas
sequências formaria a seguinte:
AACCGTAT
PROBLEMA: TEMPO DE EXECUÇÃO

• O tempo de execução ainda é um problema ->


Montagem dos 1.000.000 de fragmentos de 500
bp ainda demoraria centenas de anos
• O problema é que todos os fragmentos tem que
ser comparados com todos e em ambos os
sentidos
• Como diminuir o número de alinhamentos?
BUSCAR ALINHAMENTOS PRÉVIOS

• Criar sequências curtas de tamanho k dos


fragmentos e buscar alinhamentos entre essas
sequências

A T T A C G G T C C A G C T A

K = 10
BUSCAR ALINHAMENTOS PRÉVIOS

A T T A C G G T C C A G C T A

A T T A C G G T C C

T T A C G G T C C A

T A C G G T C C A G

A C G G T C C A G C

C G G T C C A G C T

G G T C C A G C T A
BUSCAR ALINHAMENTOS PRÉVIOS
o -> Tamanho
TACA ATTACGGTCC C GA da sobreposição
|| |||||||||| | ||
TAGT ATTACGGTCC CAGA
P -> % de bases
idênticas em o

• Buscar sobreposições exatas entre essas


sequências curtas e tentar estender os
alinhamentos para conseguir os parâmetros o e p
• Ponto fraco: Podem existir alinhamentos que
satisfaçam o e p, mas que não tem sobreposições
exatas entre as sequências curtas
COMBINED SEQUENCE

• Esse método concatena todos os fragmentos


criando a chamada “combined sequence”
- Caracter separador
• Cada fragmento é comparado com a “combined
sequence” uma única vez (1 alinhamento por
fragmento)
• Na hora de computar as sobreposições entre os
fragmentos não são analizadas porções
anteriores ao fragmento atual
COMBINED SEQUENCE
ATGGCCGAAGGT#AAGCTTCCGCAC#GCAGGTTC#CAACTTATG#
• Os 4 fragmentos são alinhados com a sequência
combinada utilizando alinhamento local
• Na hora de computar sobreposições para o
alinhamento 2....
SOMENTE SERÃO
COMPUTADAS
SOBREPOSIÇÕES DESTA
REGIÃO

SÃO COMPUTADAS SOMENTE


SOBREPOSIÇÕES COM SCORE MAIOR QUE
UM CUTOFF
COMBINED SEQUENCE

• Após computar as sobreposições o programa


tenta estender em 2k o alinhamento válido de
tamanho k
Fragmento R
Fragmento T

2k 2k
k

Vous aimerez peut-être aussi