ALINHAMENTO DE SEQUÊNCIAS BIOLÓGICAS

Vagner K. Okura vagner@cbmeg.unicamp.br

Leandro Costa do Nascimento leandro@lge.ibi.unicamp.br l.costa.nascimento@gmail.com

DADOS BIOLÓGICOS
Replicação

Transcrição

Tradução

DNA
Tecnologias Sequenciamento

RNA

Proteína

Seqüências de DNA

Seqüências de RNA

Seqüências de Proteína

NCBI

100

120

140

160

20

40

60

80

0 1982 1984 1986 1987

1988
1989 1991 1992 1993 1994 1995 1995 1996 1997 1998 1999 2000 2001

2001
2002 2003 2004 2005

2006
2006 2007 2008 2009

DADOS BIOLÓGICOS
Crescimento do Genbank 1982-2012

2010
2011 2011

Seqüências (milhões)

Pares de Base de DNA (bilhões)

ALINHAMENTO DE SEQÜÊNCIAS: CONCEITO
• Comparação de seqüências • Alinhamento de seqüências é uma maneira de arranjar/organizar seqüências de DNA, RNA ou proteína para identificar regiões de similaridade oriundas de relação funcional, estrutural e evolutiva entre as seqüências*.
– Muitas proteínas com seqüências similares possuem a mesma função biológica. – A similaridade entre duas seqüências de genes ou proteínas podem refletir o fato de que elas derivam por evolução da mesma seqüência ancestral.

*Mount DM. (2004). Bioinformatics: Sequence and Genome Analysis (2nd ed.). Cold Spring Harbor Laboratory Press: Cold Spring Harbor, NY.. ISBN 087969-608-7.

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 consenso a partir da sobreposição de fragmentos de sequências (montagem) .

ALINHAMENTO DE DUAS SEQÜÊ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. SEQ1: ATCGGTCCAA SEQ2: ATGGGACCAAAA ATCGGTCCAA ATGGGACCAAAA .

COMO ESCOLHER O MELHOR ALINHAMENTO? SEQ1: ATCGGTCCAA SEQ2: ATGGGACCAAAA ATCGGTCCAA ATCGGTCC AA ATGGGACCAAAA AT GGGACCAAAA .

– Gaps representam inserções e deleções entre as sequências (insere-se caracter ‘-’). • Score = #Matches*(2) + #Mismatches*(-1) + #Gaps*(-2) Score = 8*(2) + 2*(-1) + 2*(-2) = 10 .COMO ESCOLHER O MELHOR ALINHAMENTO? ATCGGTCCAA ATGGGACCAAAA Match = 2 Mismatch = -1 Gap = -2 • Criar um sistema de pontuação – Matches correspondem a bases casadas (letras iguais). • O melhor alinhamento é aquele que maximiza o score. – Os mismatches correspondem a substituições (letras diferentes).

j) = Max (i.gp (i-1. j-1) .PROGRAMAÇÃO DINÂMICA • Método computacional que calcula o melhor alinhamento possível entre sequências • Qualquer valor (i. j) é a pontuação do campo (1 para match e -1 para mismatch) • gp é a penalidade para gap (gap penalty) (i-1. j) da matriz é definido pela seguinte regra: Acima Esquerda Diagonal • p(i. j) . j) . j-1) + p(i.gp (i.

PROGRAMAÇÃO DINÂMICA: EXEMPLO • • • • • Sequência 1: AGCC Sequência 2: AAACC Gap penalty: -2 Mismatch: -1 Match: 1 .

PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 -4 -6 -8 A C C -6 -8 -10 ???? G - C - .

2 = -2 -2 = -4 (i. j) -4 -6 -8 A C C -6 -8 -10 Máximo (i-1. j-1) . j-1) + p(i. j) .2 = -2 -2 = -4 (i-1. j) = 0 + 1 = 1 Match: A e A .PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 (i.

PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 1 -4 -6 -8 A C C -6 -8 -10 .

j) = -2 . j-1) .j) -6 -8 A C C -6 -8 -10 Máximo (i-1.PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 1 -4 (i. j) .1 = -3 Mismatch: A e G . j-1) + p(i.2 = -4 -2 = -6 (i.2 = 1 -2 = -1 (i-1.

PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 1 -4 -1 -6 -8 A C C -6 -8 -10 .

PROGRAMAÇÃO DINÂMICA: EXEMPLO A G C C A A 0 -2 -4 -2 1 -1 -4 -1 0 -6 -3 -2 -8 -5 -4 A C C -6 -8 -10 -3 -5 -7 -2 -4 -6 -1 -1 -3 -3 0 0 .

• O alinhamento termina somente na 1ª célula da matriz. .RECONSTRUÇÃO DO ALINHAMENTO • 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.

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

RECONSTRUÇÃO DO ALINHAMENTO AGCC AG CC AAACC A GCC AAACC • • • • AAACC Matches: 3 Mismatches: 1 Gaps: 1 Score = 3 * 1 + 1 * (-1) + 1 * (-2) = 0 .

• Alinhamento local: são alinhados trechos conservados entre as seqüências. • Alinhamento semi-global: Similar ao alinhamento global.ALINHAMENTO GLOBAL. mas ignora espaços nos extremos das seqüências. – Aplicação: Montagem de Fragmentos . LOCAL E SEMI-GLOBAL • Alinhamento Global: as seqüências são alinhadas completamente.

LOCAL E SEMI-GLOBAL • Exemplos TCGATTCTCCTCATCTTCCTTTCCATTCAAATCTCAC-TTCCCTCTTCAC ------CTCCTCATC-TCTTTTCC--------CTCACATTCC-------Alinhamento Global CTCCTCATCTTCCTTTCC CTCCTCATC-TCTTTTCC CTCAC-TTCC CTCACATTCC Alinhamento Local GTTAGTGACTTAATTACCCTCACGCGAAGCACCTTAC CACGCGGAGCACCCTACCTCTGCTAGTCCTCCTAC Alinhamento Semi-Global .ALINHAMENTO GLOBAL.

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 .

j) da matriz é definido pela seguinte regra: (i.ALINHAMENTO LOCAL • Qualquer valor (i. j) Acima Esquerda Diagonal • Onde p(i. j-1) – 2 (i-1. j) = Max 0 (i-1. j-1) + p(i. j) é a pontuação do campo (1 para match e -1 para mismatch) . j) -2 (i.

ALINHAMENTO LOCAL A 0 0 A 0 A 0 A 0 C 0 C 0 G 0 T 0 C C 0 0 ???? C - G - .

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

ALINHAMENTO LOCAL A 0 0 A 0 1 A 0 A 0 C 0 C 0 G 0 T 0 C C 0 0 .

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

ALINHAMENTO LOCAL A 0 0 A 0 1 A 0 1 A 0 1 C 0 0 C 0 0 G 0 T 0 C C 0 0 .

ALINHAMENTO LOCAL A 0 0 A 0 1 A 0 1 A 0 1 C 0 0 C 0 0 G 0 0 T 0 0 C C 0 0 0 0 0 0 0 0 2 1 1 3 0 0 0 0 .

RECONSTRUÇÃO DO ALINHAMENTO LOCAL • 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 .

RECONSTRUÇÃO DO ALINHAMENTO LOCAL A 0 0 A 0 1 A 0 1 A 0 1 C 0 0 C 0 0 G 0 0 T 0 0 C C 0 0 0 0 0 0 0 0 2 1 1 3 0 0 0 0 .

RECONSTRUÇÃO DO 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 .

j) -2 Acima (i. j-1) + p(i. j) Esquerda Diagonal • Onde p(i. j) é a pontuação do campo (1 para match e -1 para mismatch) .ALINHAMENTO SEMI-GLOBAL • Qualquer valor (i. j) = Max (i-1. j) da matriz é definido pela seguinte regra: (i. j-1) – 2 (i-1.

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

j) .j) 0 0 0 0 0 T A 0 0 Máximo (i-1.1 = .2 = 0 -2 = -2 (i-1. j-1) + p(i.1 Mismatch: C e A T 0 .ALINHAMENTO SEMI-GLOBAL A A C C G T C G 0 0 0 0 (i.2 = 0 -2 = -2 (i. j-1) . j) = 0 .

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

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

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

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

RECONSTRUÇÃO DO ALINHAMENTO SEMI-GLOBAL • 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 .

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

MATRIZ ALINHAMENTO GLOBAL A A C C G T C G 0 -2 -4 -2 -1 -3 -4 -3 -2 -6 -3 -4 -8 -5 -4 -10 -7 -4 -12 -9 -6 T A -6 -8 -5 -5 -4 -4 -3 -5 -5 -4 -5 -6 -3 -5 T -10 -7 -6 -5 -6 -5 -5 .

A montagem das duas sequências formaria a seguinte: AACCGTAT .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.

MELHOR ALINHAMENTO X TEMPO DE EXECUÇÃO • Os algoritmos de programação dinâmica calculam o melhor alinhamento ou a solução ótima para o alinhamento entre duas seqüências. . – O problema é que todos os fragmentos tem que ser comparados com todos e em ambos os sentidos. • Porém. quando há milhares de sequências. – Montagem de 1. na prática.000 de fragmentos de 500 bp demoraria muito tempo. o tempo de execução ainda é um limitante.000.

ALINHAMENTOS BASEADOS EM HEURÍSTICAS • Heurísticas são algoritmos que produzem um resultado o mais próximo possível da solução ótima. mas de maneira mais eficiente em relação ao tempo de execução. .

.BUSCAR ALINHAMENTOS BASEADO EM PALAVRAS • Uma abordagem heurística para comparar milhares de seqüências duas a duas é diminuir o número de alinhamentos. • Duas seqüências são parecidas se elas possuem um trecho em comum (uma palavra). – Busca por palavras (exatas) em computação é bem eficiente (linear).

A T T A C G G T C C A G C T A K = 10 .BUSCAR ALINHAMENTOS BASEADO EM PALAVRAS • Criar sequências curtas (words ou palavras) de tamanho k dos fragmentos e buscar alinhamentos entre essas sequências. • Reduz muito o número de alinhamentos.

BUSCAR ALINHAMENTOS BASEADO EM PALAVRAS A A T T T T T T A A A C C C G G G G G G T T T C C C C C C A G C T A A T A A C C C G G G G G G T T T C C C C C C A A A G G G C C T G G T C C A G C T A .

mas que não tem sobreposições exatas entre as sequências curtas .BUSCAR ALINHAMENTOS BASEADO EM PALAVRAS TACA ATTACGGTCC C GA || |||||||||| | || TAGT ATTACGGTCC CAGA o -> Tamanho da sobreposição 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.

Sign up to vote on this title
UsefulNot useful