Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares

Documentos relacionados
Alinhamento de Seqüências Biológicas

Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Bioinformática. Alinhamento de Sequências. Prof. Msc. Rommel Ramos

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

TESTES SOCIOMÉTRICOS

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Inteligência Artificial

A dissertação é dividida em 6 capítulos, incluindo este capítulo 1 introdutório.

Biblioteca Escolar da EB2 Dr. Manuel de Oliveira Perpétua. Como pesquisar na internet

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Bombons a Granel. Série Matemática na Escola. Objetivos 1. Introduzir e mostrar aplicações do produto de matrizes.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

Emparelhamentos Bilineares Sobre Curvas

MINERAÇÃO DE DADOS. Thiago Marzagão MINERAÇÃO DE TEXTOS. Thiago Marzagão (UnB) MINERAÇÃO DE DADOS 1/ / 25

ActivALEA. ative e atualize a sua literacia

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

A matemática e o genoma. Resumo

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Módulo de Equações do Segundo Grau. Equações do Segundo Grau: Resultados Básicos. Nono Ano

AULA 07 Distribuições Discretas de Probabilidade

Exemplo COMO FAZER UM TRABALHO ESCOLAR O QUE DEVE CONSTAR EM UM TRABALHO ESCOLAR? Um Trabalho Escolar que se preze, de nível fundamental, deve conter:

Matrizes de Transferência de Forças e Deslocamentos para Seções Intermediárias de Elementos de Barra

Computação Gráfica - 12

PROJETO ATUALIDADE EM FOCO

Técnicas de Contagem I II III IV V VI

Função. Adição e subtração de arcos Duplicação de arcos

TIN0036 Bancos de Dados Distribuídos e Data Warehousing. PRIMEIRA LISTA DE EXERCÍCIOS Individual GABARITO

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Probabilidade e Estatística

MÓDULO 2 Topologias de Redes

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

Método de ordenação - objetivos:

Resolução da Lista de Exercício 6

Matemática Discreta - 08

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

RELATÓRIO DEFINIÇÃO. Resumo

Ciência da Computação (CC) e Sistemas de Informação (SI)

Prof. José Maurício S. Pinheiro - UGB

UM JOGO BINOMIAL 1. INTRODUÇÃO

UNIVERSIDADE ESTADUAL DE CAMPINAS FACULDADE DE EDUCAÇÃO. Elaborado por Gildenir Carolino Santos Grupo de Pesquisa LANTEC

Arquitecturas de Software Enunciado de Projecto

Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

Unidade 1: O Computador

Módulo de Princípios Básicos de Contagem. Segundo ano

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Perguntas frequentes graduação sanduíche Ciência sem Fronteiras

Métodos de Estudo & Investigação Científica. Elaborando um projeto de pesquisa

REGIMENTO DA REVISTA DIÁLOGO EDUCACIONAL

MARCO TÚLIO NOGUEIRA SILVA

Instruções para utilização dos Fóruns pelo Grupo dos Consensos Psiquiátricos para Clínicos Gerais 2005

Andrés Eduardo Coca Salazar Tutor: Prof. Dr. Zhao Liang

Educação a distância dissensos e consensos

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Software PHC com MapPoint 2007

Modelos de Regressão Linear Simples - Erro Puro e Falta de Ajuste

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

MBA em Gerenciamento de Projetos. Teoria Geral do Planejamento. Professora: Maria Erileuza do Nascimento de Paula

Brazilian Depositary Receipt BDR Nível I Não Patrocinado

1. Ao realizar o 3º Concurso de Fotografia, a Ajustes objetiva promover o gosto pela fotografia.

Probabilidade. Luiz Carlos Terra

ISS Eletrônico. Formato de Arquivos para Transmissão de Documentos Declarados através do aplicativo OFFLINE. Extensão do Arquivo JUNHO2006.

Métodos Estatísticos Avançados em Epidemiologia

Acionamento de Motores: PWM e Ponte H

Dureza Rockwell. No início do século XX houve muitos progressos. Nossa aula. Em que consiste o ensaio Rockwell. no campo da determinação da dureza.

Motantagem de Contigs de sequências de genomas e Transcriptomas. Introdução

Probabilidade e Estatística 2008/2. Regras de adicão, probabilidade condicional, multiplicação e probabilidade total.

Impressora Latex série 300. Garantia limitada

Adição de probabilidades. O número de elementos da união dos conjuntos A e B n(aub) = n(a B) Dividindo os dois membros por n(e):

CURSO PRÉ-VESTIBULAR DA UFSCar

Cap. II EVENTOS MUTUAMENTE EXCLUSIVOS E EVENTOS NÃO- EXCLUSIVOS

Sistemática dos seres vivos

Data: 06 a 10 de Junho de 2016 Local: Rio de Janeiro

OI CLOUD SEJA BEM-VINDO!

Auxiliar em Administração de Redes Redes de Computadores I

Testes de Hipóteses Estatísticas

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE - UNICENTRO CURSO DE PÓS GRADUAÇÃO EM MÍDIAS NA EDUCAÇÃO JULIANA LEME MOURÃO ORIENTADOR: PAULO GUILHERMETI

FUNDAÇÃO EDUCACIONAL DE ANDRADINA NOME DO(S) AUTOR(ES) EM ORDEM ALFABÉTICA TÍTULO DO TRABALHO: SUBTÍTULO DO TRABALHO, SE HOUVER

Manual do usuário Certificado Digital

Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos Jorge Figueiredo, DSC/UFCG. Análise e Técnicas de Algoritmos 2005.

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Programação Orientada a Objetos SANTOS, Rafael


Exemplos. Jogo dos oito :-) Mundo dos blocos (ex: torre de Hanoi) Poblema das rainhas. Criptoaritmética. Missionários e Canibais.

ENGENHARIA DE SOFTWARE

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

BALANÇO PATRIMONIAL AMBIENTAL - EXERCÍCIO COMENTADO Prof Alan

REGULAMENTO ESPECÍFICO BASQUETEBOL. (Revisto em Setembro de 2014)

Princípios e Conceitos de Desenho de Software. Projeto de Sistemas de Software Prof. Rodrigo Ribeiro

INICIADOS - 2ª Sessão ClubeMath

LIXO ELETRÔNICO: origens e reaproveitamento

Orientações para Inscrição do Grupo e Projeto de Pesquisa

Conteúdo programático por disciplina Matemática 6 o ano

Definição de determinantes de primeira e segunda ordens. Seja A uma matriz quadrada. Representa-se o determinante de A por det(a) ou A.

GEOGRAFIA UNIVERSOS. Por que escolher a coleção Universos Geografia

Resumo: Estudo do Comportamento das Funções. 1º - Explicitar o domínio da função estudada

ALGORITMOS E COMPLEXIDADE PROBLEMAS E ALGORITMOS

3 - Bacias Hidrográficas

Conteúdo programático

Matriz de Sensibilidade Modal

Transcrição:

1 Alinhamentos de Múltiplas Seqüências Rogério T. Brito Orientador: José A. R. Soares

2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores evolucionárias ou filogenéticas). É necessário comparar as espécies, de alguma forma.

2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores evolucionárias ou filogenéticas). É necessário comparar as espécies, de alguma forma. Um método: comparar características de cada espécie (número de asas, vertebrado ou não, número de patas etc). Foi um dos primeiros métodos para construir filogenias.

2 Motivação Problema em Biologia: saber qual é o grau de parentesco entre um conjunto de espécies (construção de árvores evolucionárias ou filogenéticas). É necessário comparar as espécies, de alguma forma. Um método: comparar características de cada espécie (número de asas, vertebrado ou não, número de patas etc). Foi um dos primeiros métodos para construir filogenias. Outro método: usar, de algum jeito, o código genético (DNA, RNA) das espécies.

3 Usando Código Genético Para o método de código genético, comparamos, na realidade, as seqüências das espécies em questão.

3 Usando Código Genético Para o método de código genético, comparamos, na realidade, as seqüências das espécies em questão. Grande quantidade de dados para análise (várias bases em cada código genético) significa bastante trabalho repetitivo.

3 Usando Código Genético Para o método de código genético, comparamos, na realidade, as seqüências das espécies em questão. Grande quantidade de dados para análise (várias bases em cada código genético) significa bastante trabalho repetitivo. É adequado um tratamento sistemático via computador.

3 Usando Código Genético Para o método de código genético, comparamos, na realidade, as seqüências das espécies em questão. Grande quantidade de dados para análise (várias bases em cada código genético) significa bastante trabalho repetitivo. É adequado um tratamento sistemático via computador. Vários modos de comparar uma coleção de seqüências; modo mais utilizado é fazer um alinhamento.

4 Aplicações Alinhamentos possuem conexões com vários outros problemas em Biologia Computacional. Aplicações importantes de alinhamentos: busca de fragmentos de DNA em bancos de dados de seqüências (BLAST, FASTA);

4 Aplicações Alinhamentos possuem conexões com vários outros problemas em Biologia Computacional. Aplicações importantes de alinhamentos: busca de fragmentos de DNA em bancos de dados de seqüências (BLAST, FASTA); comparação de seqüências;

4 Aplicações Alinhamentos possuem conexões com vários outros problemas em Biologia Computacional. Aplicações importantes de alinhamentos: busca de fragmentos de DNA em bancos de dados de seqüências (BLAST, FASTA); comparação de seqüências; predição de estrutura secundária (no plano) de RNA e de proteínas;

4 Aplicações Alinhamentos possuem conexões com vários outros problemas em Biologia Computacional. Aplicações importantes de alinhamentos: busca de fragmentos de DNA em bancos de dados de seqüências (BLAST, FASTA); comparação de seqüências; predição de estrutura secundária (no plano) de RNA e de proteínas; construção de árvores filogenéticas (via parcimônia máxima, máxima verossimilhança, Neighbor-Joining etc);

4 Aplicações Alinhamentos possuem conexões com vários outros problemas em Biologia Computacional. Aplicações importantes de alinhamentos: busca de fragmentos de DNA em bancos de dados de seqüências (BLAST, FASTA); comparação de seqüências; predição de estrutura secundária (no plano) de RNA e de proteínas; construção de árvores filogenéticas (via parcimônia máxima, máxima verossimilhança, Neighbor-Joining etc); aplicações diversas em Ciência da Computação.

5 Mas o que é um Alinhamento? É uma maneira de comparar várias seqüências, inserindo-se espaços em cada seqüência de modo que todas fiquem com mesmo comprimento.

5 Mas o que é um Alinhamento? É uma maneira de comparar várias seqüências, inserindo-se espaços em cada seqüência de modo que todas fiquem com mesmo comprimento. Exemplo de um alinhamento entre s = ACTATGC e t = ACTCTC (espaços representados por ): ACTATGC ACTCTC

5 Mas o que é um Alinhamento? É uma maneira de comparar várias seqüências, inserindo-se espaços em cada seqüência de modo que todas fiquem com mesmo comprimento. Exemplo de um alinhamento entre s = ACTATGC e t = ACTCTC (espaços representados por ): ACTATGC ACTCTC Alinhamento melhor entre s e t: ACTATGC ACTCT C

6 Qualidade dos Alinhamentos Os bons alinhamentos (de interesse biológico) evidenciam as diferenças e semelhanças entre as seqüências. Objetivo: escolher o melhor alinhamento dentre todos (ou um melhor, no caso de muitos igualmente bons ). Como decidir, via computador, a qualidade de um alinhamento (i.e., qual é melhor )?

6 Qualidade dos Alinhamentos Os bons alinhamentos (de interesse biológico) evidenciam as diferenças e semelhanças entre as seqüências. Objetivo: escolher o melhor alinhamento dentre todos (ou um melhor, no caso de muitos igualmente bons ). Como decidir, via computador, a qualidade de um alinhamento (i.e., qual é melhor )? Atribuindo pontuação a eles.

7 Pontuações Método usual atribui pontuação a cada coluna do alinhamento (dependendo dos caracteres alinhados). A pontuação do alinhamento é a soma das pontuações das colunas. Duas estratégias para escolha de pontuações: 1. dar pontuação alta a caracteres semelhantes pareados e baixa a caracteres diferentes ; 2. dar pontuação baixa a caracteres semelhantes pareados e alta a caracteres diferentes (ex.: distância de edição). Assume-se que a pontuação p escolhida é tal que p(, ) = 0. No exemplo anterior, as seqüências s e t possuem distância de edição igual a 2: uma substituição e uma remoção de caracteres.

8 Para estratégia 1, o problema é de maximização: se A é o conjunto de todos alinhamentos entre s e t, define-se sim(s, t) = max A A p(a); procura-se um alinhamento com pontuação igual a sim(s, t). Para a estratégia 2, o problema é de minimização: define-se d(s, t) = min A A p(a); procura-se um alinhamento com pontuação igual a d(s, t). Em geral, usam-se métricas (i.e., funções distâncias) para pontuação. No trabalho, fazemos uso de distâncias, embora quase todos algoritmos estudados funcionem com similaridades também.

9 Limitações do Trabalho Variantes do problema não consideradas no trabalho: alinhamentos semiglobais (espaços no início ou fim de uma seqüência não são penalizados ); alinhamentos locais (busca de quais regiões ou segmentos das seqüências de entrada possuem similaridade máxima); sistemas de pontuação com lacunas (brancos consecutivos) com pontuação afim (i.e., funções da forma h + g l, onde l 1 é o número de brancos consecutivos) ou funções mais complexas.

10 Encontrando Alinhamentos Ótimos Como encontrar alinhamentos ótimos? Como vários outros problemas combinatórios, o espaço de busca é grande : busca exaustiva é ruim!

10 Encontrando Alinhamentos Ótimos Como encontrar alinhamentos ótimos? Como vários outros problemas combinatórios, o espaço de busca é grande : busca exaustiva é ruim! Propriedades dos alinhamentos: existem apenas três possibilidades para última coluna: ( ) símbolo de s alinhado a espaço: s[m] ;

10 Encontrando Alinhamentos Ótimos Como encontrar alinhamentos ótimos? Como vários outros problemas combinatórios, o espaço de busca é grande : busca exaustiva é ruim! Propriedades dos alinhamentos: existem apenas três possibilidades para última coluna: ( ) símbolo de s alinhado a espaço: s[m] ; ( ) símbolo de s alinhado a símbolo de t: s[m] ; t[n]

10 Encontrando Alinhamentos Ótimos Como encontrar alinhamentos ótimos? Como vários outros problemas combinatórios, o espaço de busca é grande : busca exaustiva é ruim! Propriedades dos alinhamentos: existem apenas três possibilidades para última coluna: ( ) símbolo de s alinhado a espaço: s[m] ; ( ) símbolo de s alinhado a símbolo de t: s[m] ; t[n] ( ) símbolo de t alinhado a espaço: t[n].

10 Encontrando Alinhamentos Ótimos Como encontrar alinhamentos ótimos? Como vários outros problemas combinatórios, o espaço de busca é grande : busca exaustiva é ruim! Propriedades dos alinhamentos: existem apenas três possibilidades para última coluna: ( ) símbolo de s alinhado a espaço: s[m] ; ( ) símbolo de s alinhado a símbolo de t: s[m] ; t[n] ( ) símbolo de t alinhado a espaço: t[n]. Normalmente, não alinhamos com.

11 Algoritmo Básico Um algoritmo de programação dinâmica usando propriedade anterior data de 1970 (Needleman & Wunsch), bastante modificado e adaptado desde então, principalmente por Smith & Waterman (1981). Complexidade de tempo original: O(n 3 ); complexidade da melhor versão conhecida: O(n 2 ). O algoritmo opera em duas etapas: 1. Preenche uma tabela a com cálculos parciais da distância, de forma que a[i, j] = d(s[1..i], t[1..j]); 2. Constrói um alinhamento ótimo observando as entradas da tabela que levaram à pontuação do alinhamento (a[m, n]).

12 Pela propriedade dos alinhamentos, o cálculo de a[i, j] depende de, no máximo, 3 outras entradas: a[i 1, j 1] a[i 1, j] a[i, j 1] a[i, j]

12 Pela propriedade dos alinhamentos, o cálculo de a[i, j] depende de, no máximo, 3 outras entradas: a[i 1, j 1] a[i 1, j] a[i, j 1] a[i, j] O algoritmo roda em tempo O(mn) ou, para ambas seqüências de tamanho n, em tempo O(n 2 ). Cálculo do alinhamento propriamente dito (etapa 2 do algoritmo) é feito em tempo linear (O(m + n)). Observação: por meio de divisão e conquista, é possível usar espaço linear para ambas etapas do algoritmo, ainda mantendo o tempo quadrático.

13 Alinhamentos de Múltiplas Seqüências (AMS) Para as aplicações, desejamos comparar várias espécies. O que fazer? Alinhamento de Múltiplas Seqüências. Muitas semelhanças são sutis e pouco percebidas em alinhamentos de 2 seqüências, mas visíveis em alinhamentos múltiplos. One or two homologous sequences whisper... a full multiple sequence alignment shouts out loud. Arthur Lesk

13 Alinhamentos de Múltiplas Seqüências (AMS) Para as aplicações, desejamos comparar várias espécies. O que fazer? Alinhamento de Múltiplas Seqüências. Muitas semelhanças são sutis e pouco percebidas em alinhamentos de 2 seqüências, mas visíveis em alinhamentos múltiplos. One or two homologous sequences whisper... a full multiple sequence alignment shouts out loud. Arthur Lesk Problema (versão de minimização): Dadas k seqüências s 1,..., s k, encontrar um alinhamento A de s 1,..., s k com pontuação mínima.

14 A pontuação usada para o AMS geralmente é a pontuação SP ( ), SP (A) = i<j p(s i, s j), onde s i e s j são, respectivamente, as seqüências s i e s j após inserção de espaços. Cada par (s i, s j ), removidas colunas só com espaços, é uma projeção (ou restrição) de A ao par s i e s j. Problema é resolvido por generalização do algoritmo para 2 seqüências.

14 A pontuação usada para o AMS geralmente é a pontuação SP ( ), SP (A) = i<j p(s i, s j), onde s i e s j são, respectivamente, as seqüências s i e s j após inserção de espaços. Cada par (s i, s j ), removidas colunas só com espaços, é uma projeção (ou restrição) de A ao par s i e s j. Problema é resolvido por generalização do algoritmo para 2 seqüências. Não é prático. Para k seqüências de tamanho n, espaço usado Θ(n k ); tempo usado: Ω(2 k n k ). Não é polinomial, nem eficiente na prática.

15 Método de Carrillo-Lipman Interpreta a matriz k-dimensional de programação dinâmica como um reticulado ou grafo e observa que, possivelmente, nem todos os nós são necessários para calcular pontuação a[ n].

15 Método de Carrillo-Lipman Interpreta a matriz k-dimensional de programação dinâmica como um reticulado ou grafo e observa que, possivelmente, nem todos os nós são necessários para calcular pontuação a[ n]. Tenta limitar o número de nós considerados (i.e., visitados) no caminho do nó 0 ao nó n ( fim do reticulado). Usa um alinhamento qualquer como referência (para limitar a região considerada). Problema: ainda assim pode não ficar muito prático.

16 Complexidade do AMS Na realidade, algoritmos eficientes para o AMS são improváveis. Em 1994, Wang e Jiang mostraram redução para o problema de superseqüência de comprimento mínimo; AMS é NP-difícil. Demonstração usa matriz não realista. Em 2001, Bonizzoni e Vedova mostraram que o AMS é NP-difícil para a seguinte métrica: a b a 0 1 2 b 1 0 1 2 1 0 Um resultado posterior de Just (2001) generaliza o resultado de Bonizzoni e Vedova.

17 Usando Menos Recursos Obter alinhamento ótimo é provavelmente intrinsecamente difícil. O que fazer?

17 Usando Menos Recursos Obter alinhamento ótimo é provavelmente intrinsecamente difícil. O que fazer? Usar heurísticas: Divisão e Conquista

17 Usando Menos Recursos Obter alinhamento ótimo é provavelmente intrinsecamente difícil. O que fazer? Usar heurísticas: Divisão e Conquista Usar algoritmos de aproximação Algoritmo de Alinhamentos Estrela Algoritmo de Alinhamentos l-estrela

17 Usando Menos Recursos Obter alinhamento ótimo é provavelmente intrinsecamente difícil. O que fazer? Usar heurísticas: Divisão e Conquista Usar algoritmos de aproximação Algoritmo de Alinhamentos Estrela Algoritmo de Alinhamentos l-estrela Heurísticas Funcionam rápido em geral, são empregadas na prática, mas não garantem a qualidade da solução. Estudaremos a heurística de Divisão e Conquista.

18 Algoritmos de Aproximação Tempo polinomial no tamanho da entrada; Soluções com garantia de qualidade ; Limitação: Assumem que a função objetivo é métrica.

18 Algoritmos de Aproximação Tempo polinomial no tamanho da entrada; Soluções com garantia de qualidade ; Limitação: Assumem que a função objetivo é métrica. Algoritmo de Estrelas (Gusfield, 1993) Escolhe seqüência para centro da estrela; Alinha demais seqüências com o centro; Razão de aproximação: 2 2/k.

18 Algoritmos de Aproximação Tempo polinomial no tamanho da entrada; Soluções com garantia de qualidade ; Limitação: Assumem que a função objetivo é métrica. Algoritmo de Estrelas (Gusfield, 1993) Escolhe seqüência para centro da estrela; Alinha demais seqüências com o centro; Razão de aproximação: 2 2/k. Algoritmo de l-estrelas (Bafna et.al., 1996) Generaliza o algoritmo anterior; Em vez de estrelas, l-estrelas; Razão de aproximação: 2 l/k.

19 Alinhamentos na Prática ClustalW Um dos programas mais populares é o ClustalW, com diversas variantes, disponível via WWW em vários sites (uso on-line). Seu funcionamento é feito em 3 etapas: 1. alinha seqüências duas a duas; 2. constrói uma árvore guia ; 3. constrói o alinhamento múltiplo a partir da árvore.

20 MSA Em 1995, Gupta, Kececioglu e Schäffer implementaram segunda versão do programa MSA, de Lipman, Altschul e Kececioglu (1989, publicado sem muitos comentários sobre a implementação original). O MSA procura construir alinhamentos ótimos, embora nem sempre consiga. Versão 2.0 do programa bem documentada, com objetivo de melhorar tempo e espaço. Usa idéias do método de Carrilo-Lipman e variante do algoritmo de Dijkstra. Também disponível em sites da WWW.

21 Apêndice Algoritmo de Ukkonen (1983, 1985) Especializado para 2 seqüências; Calcula distância de edição d(s, t); Modifica algoritmo de programação dinâmica; Tempo O(d(s, t) min( s, t )); Espaço O(d 2 (s, t)).

21 Apêndice Algoritmo de Ukkonen (1983, 1985) Especializado para 2 seqüências; Calcula distância de edição d(s, t); Modifica algoritmo de programação dinâmica; Tempo O(d(s, t) min( s, t )); Espaço O(d 2 (s, t)). Alinhamentos de 3 seqüências (Powell et. al., 2000) Especializado para 3 seqüências; Tempo O(d 3 + n) (média), O(nd 2 ) (pior caso).

22 Proposta de Trabalho Estudar os artigos e livros relacionados a Alinhamentos de Múltiplas Seqüências listados na Bibliografia da Proposta de Exame de Qualificação. Escrever um texto em ĺıngua portuguesa, introdutório, acessível a alunos de graduação, descrevendo, de forma unificada, os principais algoritmos e resultados sobre o problema de Alinhamento de Múltiplas Seqüências.