métodos computacionais e algoritmos de comparação de
Post on 12-Apr-2022
7 Views
Preview:
TRANSCRIPT
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Metodos computacionais e algoritmos decomparacao de sequencias
Maria Emilia M. T. WalterTutores: Daniel S. Souza e Joao Victor A. Oliveira
Universidade de Brasılia
Taina Raiol AlencarFiocruz Amazonia/Instituto Leonidas e Maria Deane
Universidade Federal de GoiasGoiania, 21 a 23 de setembro de 2015
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Topicos
Introducao
Alinhamento de duas sequencias (pairwise)Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Alinhamento Multiplo
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Investigando sequencias biologicas (Shifra Ben-Dor eIrit Or, Weizmann Institute of Science/Israel)
I Temos uma sequencia de DNA. O que e possıvelinvestigar sobre essa sequencia?
I possıveis regioes codificadorasI possıveis regioes regulatorias
I Temos uma sequencia de proteına. O que e possıvelinvestigar sobre ela?
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Investigando sequencias biologicas (Shifra Ben-Dor eIrit Or, Weizmann Institute of Science/Israel)
I Temos uma sequencia de DNA. O que e possıvelinvestigar sobre essa sequencia?
I possıveis regioes codificadorasI possıveis regioes regulatorias
I Temos uma sequencia de proteına. O que e possıvelinvestigar sobre ela?
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
I De forma generica: sequencias determinam estruturas eestruturas determinam funcoes
I Por meio de similaridade de sequencias, esperamosencontrar correlacoes entre a sequencia que queremosestudar e outras que possuem estruturas ou funcoesconhecidas
I Esse enfoque e bastante utilizado, com sucesso. Noentanto, muitas moleculas apresentam baixa similaridade,com estrutura e/ou funcao similares
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
I Motivos/Domınios: similaridade entre pequenossegmentos (pedacos) das sequencias
I Famılias de sequencias: similaridades entre sequenciaslongas
I Essas comparacoes podem nos apoiar em investigacoesde:
I estrutura (por meio da determinacao da correspondenciaentre resıduos)
I funcao (por meio da observacao de padroes conservados)I evolucao (inferencia de relacoes filogeneticas)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
Questoes que podem ser respondidas com comparacoes desequencias:
I as sequencias sao relacionadas (homologas)?I podemos qualificar suas similaridades?I elas possuem segmentos similares?
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
Terminologia:
I HomologiaI IdentidadeI Similaridade
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
Homologia:
I Ancestral comumI Conservacao de sequencias e normalmente de estruturasI Homologia nao e uma quantidade mensuravelI Homologia pode ser inferida, em condicoes apropriadas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
Identidade:
I Objetiva e bem definidaI Pode ser quantificada por metodos diferentes:
I porcentagemI numero de casamentos exatos (matches) dividido pelo
tamanho da regiao alinhada
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
Similaridade:
I Metodo mais comumente utilizadoI Nao e tao bem definidaI Depende dos parametros utilizados (alfabeto, matriz de
escores, etc...)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Comparacao de sequencias
O que estamos comparando?
I DNA ou RNAI 4 acidos nucleicos (conjunto basico)
I ProteınaI 20 aminoacidos (conjunto basico)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Conceitos basicos
I Para comparar duas ou mais sequencias, primeiro epreciso determinar as correspondencias entrenucleotıdeos ou aminoacidos nas posicoescorrespondentes
I Alinhamento de sequencias: posicionamento dassequencias, com indicacao das posicoes em que assequencias sao iguais e das que sao diferentes,preservando a ordem dos nucleotıdeos ou aminoacidosdentro de cada sequencia
I Estamos interessados no alinhamento otimo: o maximo desimilaridade e o mınimo de diferencas
I Alinhamento: ferramenta basica da bioinformatica
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Elementos do alinhamento
I Tipos de alinhamentos:I DNA x ProteınaI Alinhamento de duas sequencias x multiploI Alinhamento global x local
I Modelos de pontuacao para alinhamentos:I SubstituicoesI Gaps (insercoes, delecoes)I Matriz de substituicao e penalidades para gaps
I Algoritmos:I Programacao dinamicaI Heurısticas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Elementos do alinhamento
I Tipos de alinhamentos:I DNA x ProteınaI Alinhamento de duas sequencias x multiploI Alinhamento global x local
I Modelos de pontuacao para alinhamentos:I SubstituicoesI Gaps (insercoes, delecoes)I Matriz de substituicao e penalidades para gaps
I Algoritmos:I Programacao dinamicaI Heurısticas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Elementos do alinhamento
I Tipos de alinhamentos:I DNA x ProteınaI Alinhamento de duas sequencias x multiploI Alinhamento global x local
I Modelos de pontuacao para alinhamentos:I SubstituicoesI Gaps (insercoes, delecoes)I Matriz de substituicao e penalidades para gaps
I Algoritmos:I Programacao dinamicaI Heurısticas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
DNA x Proteına
I Sensibilidade: Habilidade de detectar todas ascorrespondencias verdadeiras entre caracteres.Comparacao mais sensıvel detecta numero maior decorrespondencias verdadeiras, mas tambem pode detectarmuitos falsos positivos
I Especificidade: Habilidade de rejeitar todos os falsospositivos. A comparacao mais especıfica detecta apenascorrespondencias verdadeiras, mas pode tambemidentificar muitos falsos negativos
I DNA formado por 4 caracteres (A, C, T, G): pelo menos25% dos nucleotıdeos nao relacionados de duassequencias serao identicos, levando a maior sensibilidade
I Proteına formada por 20 caracteres (aminoacidos):especificidade da comparacao e maior
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
DNA x Proteına
I Sensibilidade: Habilidade de detectar todas ascorrespondencias verdadeiras entre caracteres.Comparacao mais sensıvel detecta numero maior decorrespondencias verdadeiras, mas tambem pode detectarmuitos falsos positivos
I Especificidade: Habilidade de rejeitar todos os falsospositivos. A comparacao mais especıfica detecta apenascorrespondencias verdadeiras, mas pode tambemidentificar muitos falsos negativos
I DNA formado por 4 caracteres (A, C, T, G): pelo menos25% dos nucleotıdeos nao relacionados de duassequencias serao identicos, levando a maior sensibilidade
I Proteına formada por 20 caracteres (aminoacidos):especificidade da comparacao e maior
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Definicao dos metodos
I Multiplas possibilidades:I Podem ser permitidos gaps, ou nao
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Metricas associadas a alinhamento de sequencias
I Como definir metricas associadas a alinhamentos?I Devemos examinar todos os alinhamentos possıveis,
sistematicamenteI Devemos definir uma pontuacao que reflita a qualidade de
cada alinhamento possıvelI Devemos identificar o alinhamento com a melhor
pontuacaoI Muitos alinhamentos podem ter a mesma melhor
pontuacaoI Existem muitas maneiras de se pontuar um alinhamento
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Comparacao de duas sequencias
I Problema de comparar duas sequencias: encontrar omelhor alinhamento entre duas sequencias
I Metodo de programacao dinamica tem dois casos, muitoutilizados:
I inteiras: comparacao global (algoritmo deNeedleman-Wunsch)
I segmentos (substrings) das duas sequencias: comparacaolocal (algoritmo de Smith-Waterman)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Alinhamento local x global
Alinhamento Global (Needleman, 1970)
Alinhamento Local (Smith and Waterman, 1981)
(Pennacchio et al., 2003)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Alinhamento local x global
Alinhamento Global (Needleman, 1970)
Alinhamento Local (Smith and Waterman, 1981)
(Pennacchio et al., 2003)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Programacao Dinamica
I Modelo de desenvolvimento de algoritmos:I solucao otima do problema inteiro contem solucoes para
subproblemas menores e nao existe um numero ”grande”de solucoes diferentes para os subproblemas
I nosso caso: se um alinhamento e otimo para duassequencias, entao todos os ”subalinhamentos” contidosnesse alinhamento tambem sao otimos para ascorrespondentes subsequencias
I Armazena e reutiliza resultados intermediarios em umamatriz (de programacao dinamica)
I Tres etapas:I inıcioI preenchimento da matriz (pontuacao)I rastreamento do caminho com menores penalidades:
produz um alinhamento
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica(Setubal e Meidanis, 1997)
I Exemplo: tomar duas sequencias GACGGATTAG eGATCGGAATAG
I Um alinhamento possıvel:I G A C G G A T T A G (espaco em branco: −)I G A T C G G A A T A G
I G A − C G G A T T A GI G A T C G G A A T A G
I algoritmo: tomar duas sequencias e determinar o melhoralinhamento entre elas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica(Setubal e Meidanis, 1997)
I Exemplo: tomar duas sequencias GACGGATTAG eGATCGGAATAG
I Um alinhamento possıvel:I G A C G G A T T A G (espaco em branco: −)I G A T C G G A A T A G
I G A − C G G A T T A GI G A T C G G A A T A G
I algoritmo: tomar duas sequencias e determinar o melhoralinhamento entre elas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I Definicoes:I alinhamentos podem conter espacosI alinhamento: insercao de espacos nas sequencias para
que ambas fiquem de mesmo tamanhoI explicitar o alinhamento:
I colocamos uma sequencia com espacos, acima da outraI fazemos corresponder caracteres/espacos da primeira com
caracteres/espacos da segunda sequenciaI nao podemos alinhar espaco/espacoI podem aparecer espacos nas extremidades das
sequencias
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I Dado um alinhamento entre duas sequencias, associamosum escore a ele:
I cada coluna recebe um valor:I +1: casamento (match), caracteres identicosI −1: nao-casamento (mismatch), caracteres diferentesI −2: espaco (gap), representado por −
I escore total: soma dos valores associados a cada colunaI melhor alinhamento: maximo escoreI maximo escore: similaridade das sequencias s e t ,
denotado por sim(s, t)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I alinhamento anterior:I G A − C G G A T T A GI G A T C G G A A T A GI +1 +1 -2 +1 +1 +1 +1 -1 +1 +1 +1
I escore: 9x(+1) + 1x(−2) + 1x(−1) = 6I escolha de +1, -1, -2:
I comumente usado, mas pode ser modificado
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I gerar todos os possıveis alinhamentos e escolher omelhor: tempo exponencial
I tecnica: programacao dinamicaI dadas duas sequencias s e t :
I construımos solucoes determinando todas as similaridadesentre prefixos de s e prefixos de t
I inıcio: computamos prefixos menoresI depois: usamos valores previamente calculados para
resolver o problema para prefixos maiores
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I |s| = m, m + 1 prefixos (incluindo ε: substring vazia)I |t | = n, n + 1 prefixos (incluindo ε)I criamos uma matriz (m + 1)x(n + 1) tal que:
I (i , j) = sim(s[1..i], t [1..j])
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
I inicializacao: multiplos das penalidades de gaps (-2),razao: unico alinhamento possıvel com uma dassequencias vazia e adicionar −
I exemplo: s = AAAC e t = ε
I alinhamento:I A A A CI − − − −I −2 −2 −2 −2 = −8
I escore do alinhamento: −2k , k : tamanho da sequencianao-vazia
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I Tomando s = A A A C e t = A G C
//[5cm]
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I para construir (i , j), basta examinar tres entradas:I (i − 1, j): posicao anterior na verticalI (i − 1, j − 1): posicao anterior na diagonalI (i , j − 1): posicao anterior na horizontalI porque para obter o alinhamento entre s[1..i] e t [1..j]:
I alinhar s[1..i] com t [1..j − 1] e alinhar −/t [j] ouI alinhar s[1..i − 1] com t [1..j − 1] e alinhar s[i]/t [j] ouI alinhar s[1..i − 1] com t [1..j] e alinhar s[i]/−I observacao: nao se pode alinhar −/−
I
sim(s[1..i], t [1..j]) = max(sim(s[1..i], t [1..j − 1]) - 2,sim(s[1..i − 1], t [1..j − 1]) + p(i , j),sim(s[1..i − 1], t [1..j]) - 2)
I onde p(i , j) = +1, se s[i] = t [j] or −1, se s[i] 6= t [j]
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamicaI
sim(s[1..i], t[1..j]) = max(sim(s[1..i], t[1..j − 1]) - 2,
sim(s[1..i − 1], t[1..j − 1]) + p(i, j),
sim(s[1..i − 1], t[1..j]) - 2)
I Denotando a matriz por a:I
a[i, j] = max(a[i, j − 1]− 2,
a[i − 1, j − 1] + p(i, j),
a[i − 1, j]− 2)
I onde p(i, j) = +1, se s[i] = t[j] or −1, se s[i] 6= t[j]I Calculamos:
I linha (esquerda para direita) ou coluna (cima para baixo)I a[i , j − 1], a[i − 1, j − 1] e a[i − 1, j] tenham sido calculadas
quando a[i , j] for calculadaMaria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
a[1,1] = max(a[1,0]− 2,a[0,0] + p(1,1),a[0,1]− 2)= max(−2 − 2, 0 + 1, − 2 − 2)= max(−4, + 1, − 4)= +1
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Detalhando o metodo de programacao dinamica
I Tomando s = A A A C e t = A G C
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Obter alinhamentos otimos
I Como usar as setas:I inıcio: posicao a(m,n)I seguir as setasI final: posicao a(0,0)
I Cada seta indica uma coluna do alinhamento:I seta horizontal a esquerda←: alinhamento −/t [j]I seta vertical para cima ↑: alinhamento s[i]/−I seta diagonal↖: alinhamento s[i]/t [j]
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Obter alinhamentos otimos
I Escolhendo a seta no sentido anti-horario:I A A A CI A G − CI +1 −1 −2 +1 = −1 = a[m,n]I A A A CI − A G CI −2 +1 −1 +1 = −1 = a[m,n]
I nao precisa implementar seta:I basta testar se a[i , j] = max(a[i − 1, j]− 2,
a[i − 1, j − 1] + p(i , j), a[i , j − 1]− 2) (sentido anti-horario)I custo computacional do algoritmo:
I construir a matriz:I tempo: O(mn), e quando |s| = |t | = n, entao O(n2)I espaco: O(mn), e quando |s| = |t | = n, entao O(n2)
I construir o alinhamento: tempo e espaco: O(m + n), equando |s| = |t | = n, entao O(n)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Comparacao local
I alinhamento local entre s e t :I alinhamento entre substring de s e substring de t
I algoritmo: variante do algoritmo basicoI estrutura de dados: matriz (m + 1)x(n + 1)I (i , j) = maior escore entre sufixo(s[1..i]) e sufixo(t [1..j])
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
I linha 1 e coluna 1: inicializadas com 0I sempre existe alinhamento entre sufixos vazios de s[1..i] e
t [1..j] com escore 0, entao (i , j) = 0I
a[i , j] = max(a[i , j − 1]− 2,a[i − 1, j − 1] + p(i , j),a[i − 1, j]− 2,0)
I encontrar a maior entrada (escore de um alinhamentolocal otimo) da matriz:
I inıcio de um alinhamento local otimoI pode aparecer em mais de 1 posicao da matriz
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Alinhamento Local
I Para s =AAAC e t =AGC, temos os alinhamentos locais:I C/C: s[4]/t[3]I A/A: s[3]/t[1], s[2]/t[1], s[1]/t[1]
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Matriz de Substituicao e penalidades
I Outra forma de computar o valor de um alinhamento:atribuımos ganhos ou penalidades para cada alinhamentoentre dois resıduos em uma matriz de pontuacao
I Alinhamento: obtido ao achar o caminho otimo (de menorpenalidade) em uma matriz de penalidades
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Matriz de Substituicao e penalidades - Nucleotıdeos
I Um sistema simples de pontuacao:I match +1; mismatch -1; gap -2
I Pode-se penalizar mais determinadas trocas:I transicoes (Pu↔ Pu e Py↔ Py) sao menos penalizadas
que transversoes (Pu↔ Py)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Matriz de Substituicao e penalidades - Aminoacidos
I Matrizes de Pontuacao Posicao Independentes:I Matrizes PAM (Percent Accepted Mutation) (Dayhoff et al., 1972):
I baseada em distancias evolutivas: matrizes derivadas desequencias muito relacionadas e em suas mutacoes
I Matrizes BLOSUM (BLOck SUbstitution Matrices) (Henikoff and
Henikoff, 1992):I baseada em sequencias relacionadas de forma mais
distante: numero de cada matriz e a porcentagem deidentidade
I Matrizes de Pontuacao Posicao Especıfica (PositionSpecific Score Matrices - PSSMs)
I usadas no PSI-BLAST
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
PAM
I PAM1: 1% de mutacoes aceitas ou seja as sequenciastem 99% de similaridade (aminoacidos identicos)
I Dado um tempo evolutivo, calcula-se a probabilidade deum aminoacido ser substituıdo por outro
I As analises estatısticas de pares de sequencias muitorelacionadas permitem gerar uma matriz de substituicao
I As matrizes PAM foram baseadas em um numero pequenode substituicoes (∼ 1.500)
I PAM250: 20% de similaridade (melhor para sequenciasmenos relacionadas)
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
BLOSUM
I Mais sensıvel para detectar relacionamentos distantesI Gerada a partir de regioes de proteınas relacionadas
alinhadas sem gapsI BLOSUM62: mais comumente utilizada, foi criada pela
comparacao de sequencias com mais de 62% deidentidade
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Blast
I Basic Local Alignment Search Tool (Altschul et al., 1990)
I Abordagem heurıstica:I Passo 1: acha palavras curtas e monta tabela hashI Passo 2: procura palavras curtas em um banco de dados e
estende hitsI Passo 3: calcula estatısticas do alinhamento
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Passo 1
I Compila palavras (strings) curtas com alto valor de escore
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Passo 1
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Passo 1
I Monta tabela hash
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Passo 2
I Procura por hits: cada hit gera uma semente (seed)I Hit = High Scoring Segment Pair (HSP)I As sementes sao estendidas
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Passo 3
I A extensao e interrompida quando o e − value(dependente do score S) torna-se menor do que umdeterminado limite
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Algoritmos baseados em Programacao DinamicaAlgoritmo baseado em heurısticas
Saıda do Blast
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Alinhamento Multiplo: comentarios gerais
I Existem dezenas de metodos disponıveis, sendo oalinhamento multiplo progressivo um dos mais utilizados
I As principais caracterısticas desse tipo de alinhamentosao:
I pontuacao dada aos alinhamentos par-a-parI metodo de agrupamento (clustering)I tratamento de gaps
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Metodo de alinhamento progressivo
Passo 1: Alinhamentos par-a-par sao feitos entre todas assequencias do grupo que esta sendo estudo
I Pontuacoes sao utilizadas para construir uma matriz dedistancias
I Para calcular essa matriz, considera-se a divergenciaentre as sequencias
Passo 2: Uma arvore-guia (filogenetica) e construıda apartir da matriz de distancias utilizando o metodo deneighbour-joining
I a arvore-guia tem ramos de diferentes tamanhos, e seutamanho e proporcional a divergencia estimada ao longode cada ramo
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Metodo de alinhamento progressivo
Passo 1: Alinhamentos par-a-par sao feitos entre todas assequencias do grupo que esta sendo estudo
I Pontuacoes sao utilizadas para construir uma matriz dedistancias
I Para calcular essa matriz, considera-se a divergenciaentre as sequencias
Passo 2: Uma arvore-guia (filogenetica) e construıda apartir da matriz de distancias utilizando o metodo deneighbour-joining
I a arvore-guia tem ramos de diferentes tamanhos, e seutamanho e proporcional a divergencia estimada ao longode cada ramo
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Metodo de alinhamento progressivo
Passo 3: O alinhamento progressivo das sequencias efeito, seguindo a ordem dos ramos na arvore-guia
I As sequencias sao alinhadas a partir das extremidadesate a raiz
I Este alinhamento e feito de acordo com as relacoesfilogeneticas encontradas na arvore-guia
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Um exemplo de saıda de alinhamento multiplo
http://www.compbio.dundee.ac.uk/papers/ccp4_98b/node18.html
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Bibliography I
Altschul, S., Gish, W., Miller, W., Myers, E., Lipman, D., et al.(1990). Basic local alignment search tool. Journal ofmolecular biology, 215(3):403–410.
Dayhoff, M., Schwartz, R., and Orcutt, B. (1972). 22 a model ofevolutionary change in proteins. Atlas of protein sequenceand structure, 5:345–352.
Henikoff, S. and Henikoff, J. (1992). Amino acid substitutionmatrices from protein blocks. Proceedings of the NationalAcademy of Sciences, 89(22):10915.
Needleman, S. (1970). Needleman–Wunsch global alignment.J Mol Biol, 48:443–453.
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
IntroducaoAlinhamento de duas sequencias (pairwise)
Alinhamento MultiploReferencias
Bibliography II
Pennacchio, L., Rubin, E., et al. (2003). Comparative genomictools and databases: providing insights into the humangenome. Journal of Clinical Investigation, 111(8):1099–1106.
Smith, T. and Waterman, M. (1981). Local homologiesalgorithm to align sequences. Adv. Appl. Math, 2:482–489.
Maria Emilia Walter e Taina Raiol RNAs nao-codificadores: Algoritmos
top related