Algoritmos para Alinhamento de Sequências



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

Analise filogenética baseada em alinhamento de domínios

Anotação de Genomas. Fabiana G. S. Pinto

O DNA é formado por pedaços capazes de serem convertidos em algumas características. Esses pedaços são

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

Dadas a base e a altura de um triangulo, determinar sua área.

Introdução à genética quantitativa usando os recursos do R

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

COMPARAÇÃO DE SEQÜÊNCIAS DE DNA

Explorando bancos de dados genômicos e introdução à bioinformática. Guilherme Targino Valente Marcos Tadeu Geraldo. Bioinformática

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Algoritmos Genéticos

As bactérias operárias

O que são domínios protéicos

Bioinformática Aula 01

Cadeias de Markov. Geovany A. Borges

Lista 2 - Modelos determinísticos

Disciplina de Projetos e Análise de Algoritmos

Complemento IV Introdução aos Algoritmos Genéticos

Bioinformática. Licenciaturas em Biologia, Bioquímica, Biotecnologia, Ciências Biomédicas, Engenharia Biológica. João Varela

Alinhamento de Seqüências Biológicas

Introdução à Bioinformática. Prof.

Análise de Componente Principais (PCA) Wagner Oliveira de Araujo

17/10/2012. Bases Instrumentais de bioinformática aplicada à Epidemiologia Molecular das doenças transmissíveis. Fábio Gregori. O que é?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Contagem I. Figura 1: Abrindo uma Porta.

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Disciplina de Projetos e Análise de Algoritmos. Aula 1 - Apresentação aos Algoritmos Computacionais

4 Avaliação Econômica

Árvores Binárias de Busca

Algoritmos e Estrutura de Dados III. Árvores

Bioinformática. Trabalho prático enunciado complementar. Notas complementares ao 1º enunciado

Diagrama de transição de Estados (DTE)

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Princípios moleculares dos processos fisiológicos

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

ISO/IEC 12207: Gerência de Configuração

Gerenciamento de Projeto: Criando o Termo de Abertura II. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Tutorial 5 Questionários

Hoje estudaremos a bioquímica dos ácidos nucléicos. Acompanhe!

PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *

Análise bioestatística em fumantes dinamarqueses associado

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Algoritmos Genéticos (GA s)


&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Hashing. Estruturas de Dados. Motivação

5 Mecanismo de seleção de componentes

APLICAÇÃO DE MÉTODOS HEURÍSTICOS EM PROBLEMA DE ROTEIRIZAÇÃO DE VEICULOS

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Um Estudo Sobre a Chance de Repetição de Sorteios na Mega-Sena

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Aula 4 Estatística Conceitos básicos

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

4 Segmentação Algoritmo proposto

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

ANÁLISE DE DIFERENTES MODELOS DE ATRIBUIÇÃO DE NOTAS DA AVALIAÇÃO INTEGRADORA (AVIN) DO CURSO DE ENGENHARIA CIVIL DO UNICENP

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

QUADRADO MÁGICO - ORDEM 4

Núcleo Celular. Biomedicina primeiro semestre de 2012 Profa. Luciana Fontanari Krause

Sistema de Computação

O que queremos. Processamento Estatístico da Linguagem Natural. Parsing Morfológico. Regras Simples. Adicionando palavras. Regras Derivacionais

Todos os exercícios sugeridos nesta apostila se referem ao volume 1. MATEMÁTICA I 1 FUNÇÃO DO 1º GRAU

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO PROGRAMA DE EDUCAÇÃO TUTORIAL - MATEMÁTICA PROJETO FUNDAMENTOS DE MATEMÁTICA ELEMENTAR

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

FAP - Faculdade de Apucarana Curso de Sistemas de Informação RESUMO EXPANDIDO DE TRABALHO DE CONCLUSÃO DE CURSO -

Uma Heurística para o Problema de Redução de Padrões de Corte

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

PLANEJAMENTO DA MANUFATURA

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I

Técnicas de Caixa Preta de Teste de Software

Resolução de problemas e desenvolvimento de algoritmos

O que é a estatística?

T U T O R I A I S SCOPUS TUTORIAL. Biblioteca da Escola de Engenharia da UFRGS. SCOPUS - Tutorial

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Complexidade da Distância de Translocação para Genomas Sem Sinal

Tópico 11. Aula Teórica/Prática: O Método dos Mínimos Quadrados e Linearização de Funções

Revisão de Estatística Básica:

ADM041 / EPR806 Sistemas de Informação

1. Sistemas de numeração

INF 1771 Inteligência Artificial

Importação de Dados no Sphinx

Utilização do SOLVER do EXCEL

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

IW10. Rev.: 02. Especificações Técnicas

Contagem. Prof. Dr. Leandro Balby Marinho. Matemática Discreta. Fundamentos Inclusão/Exclusão Princípio da Casa dos Pombos Permutações Combinações

Transcrição:

Algoritmos para Alinhamento de Sequências Gerardo Valdisio Rodrigues Viana Universidade Estadual do Ceará Hélio Augusto Sabóia Moura Faculdade Lourenço Filho RESUMO Comparar sequências de caracteres é um problema de grande interesse da Ciência da Computação. Muitas são as aplicações nos gerenciadores de banco de dados, processadores de texto e em diversas ferramentas da Bioinformática. Uma forma de comparar duas ou mais sequências é através da construção de um alinhamento entre elas. Algoritmos básicos para fazer um alinhamento buscam sempre sua melhor forma, ou seja, aquela que corresponda ao maior grau de similaridade entre as sequências comparadas. Aqui são apresentadas algumas técnicas algorítmicas desenvolvidas para o alinhamento simples que corresponde à comparação entre duas sequências, e múltiplo, entre três ou mais sequências. Palavras-chave: Alinhamento, Bioinformática, Otimização, Similaridade entre Sequências. 1 INTRODUÇÃO A Bioinformática é uma área interdisciplinar que utiliza técnicas da Ciência da Computação, da Matemática aplicada e da Estatística para resolver problemas da Biologia. No estudo da evolução e das funções da microbiologia, é comum a necessidade de comparar moléculas de várias espécies. Neste contexto, as sequências constituem as estruturas primitivas que indicam como os aminoácidos se encontram combinados em um gene ou em uma proteína; um alinhamento procura determinar o grau de similaridade entre estas sequências, na sua totalidade ou entre seus fragmentos. Pode-se então dizer que um alinhamento de sequências é uma forma de organizar sequências de DNA (DeoxyriboNucleic Acid), de RNA (RiboNucleic Acid) ou de proteínas, para identificar regiões similares indicativas de relações funcionais, estruturais ou evolucionárias entre elas (WATERMAN, 1995). Os resultados de um alinhamento são úteis na análise de genomas ou na análise de regiões conservadoras dos genes que sofreram mutações, bem como

68 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 no estudo das estruturas secundárias das proteínas e na geração de informações para construção de árvores filogenéticas (VIANA, 2007). Os algoritmos desenvolvidos para fazer alinhamentos buscam sempre a forma que corresponda ao maior grau de similaridade entre as sequências comparadas. A ideia central destas técnicas é minimizar as diferenças entre elas, ou seja, seu objetivo principal é buscar um alinhamento ótimo. No contexto da teoria da complexidade, este é um problema de otimização chamado, em geral, de AVS (Alinhamento de Várias Sequências) onde se procura a solução ótima que corresponde à maior similaridade. Não são conhecidos algoritmos que resolvam o problema do AVS em tempo polinomial, portanto ele é classificado como um problema da classe NP-completo (Non deterministic Polynomial-time complete). Uma demonstração desta classificação pode ser vista em Wang & Jiang (1994). Especificamente, para duas sequências, chamado problema do APS (Alinhamento de Pares de Sequências), a solução ótima é obtida em tempo polinomial. Para entender como se processa um alinhamento e como pode ser computado o grau de similaridade entre duas ou mais sequências, são apresentados alguns dos principais algoritmos desenvolvidos para esse fim. Além disso, são citadas várias referências com o objetivo de orientar àqueles que desejam realizar um estudo mais aprofundado deste assunto. O trabalho está assim organizado: na seção 2, são definidos os elementos necessários para se fazer um alinhamento e indicados quais os tipos existentes. Na seção 3, apresentamos várias técnicas de alinhamento e seus algoritmos, enquanto que, na seção 4 são mostradas as aplicações deste problema; por fim, a seção 5 trata da conclusão do trabalho. 2 CONCEITOS BÁSICOS 2.1 Símbolos e Sequências Um alfabeto é um conjunto finito, não vazio, de caracteres ou símbolos, incluindo o símbolo especial para representar um caractere branco, espaço ou traço. Exemplo 1: = {A,C,G,T, } é o alfabeto com as bases nitrogenadas.

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 69 Exemplo 2: = {A,C,D,E,F,G,H,I,K,L,M,M,P,Q,R,S,T,V,W,Y, } é o alfabeto com os 20 aminoácidos naturais. Uma sequência s sobre é uma cadeia de caracteres s=(c 1, c 2,...,c n ) n, n Z +. Nesse caso, o comprimento, ou tamanho da cadeia é n = s. Um segmento s [i..j], ou fragmento, é uma sequência definida para i j, correspondendo a um trecho de s, contíguo ou não, ou seja, s[i..j] = (c i, c i+1,...,c j ). Exemplo 3: s= CGT AAGCT T é uma sequência do alfabeto, sendo s[3..6]= T AAG. 2.2 Alinhamento Simples Um alinhamento simples é uma forma de descrever a relação entre duas sequências s 1 e s 2. O processo consiste em introduzir espaços ou lacunas (gaps), representados pelo símbolo, que correspondem aos deslocamentos dos segmentos, de modo que a maioria dos caracteres seja idêntica em algumas posições (match). Esses espaços podem ser inseridos nas extremidades ou no interior de s 1 e s 2, de modo que, s 1 [j] e s 2 [j], numa determinada posição j, não sejam símbolos simultaneamente iguais a. Esta propriedade é chamada de alinhamento livre de colunas em branco. Exemplo 4: Para s 1 = AAGCCT C e s 2 = AAACT, apresentamos a seguir algumas formas de alinhamento, entre vários possíveis: AAGCCT C AAGCCT C AAGCCT C AAGCCT C AAA C T AAA C T AAACT AA A C T (a) (b) (c) (d) s 1 s 2 Uma ligeira inspeção entre s 1 e s 2 mostra que estas duas sequências são parecidas, embora o alinhamento sugerido no caso (c) não seja desejado, visto que não ressalta este fato. Técnicas

70 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 para avaliar o grau de similaridade entre sequências, a serem mostradas na seção 3, permitem decidir, entre todas as possibilidades, qual a melhor delas. Para avaliar o grau de complexidade deste problema, podemos computar quantos alinhamentos ( ) possíveis existem entre duas sequências, da seguinte forma: Se s 1 = s 2 e não forem incluídos espaços, existe apenas um alinhamento, ou seja, =1. Se n= máx { s 1, s 2 }, já com espaços incluídos, no pior caso, temos: Exemplo 5: ou seja, mais de 138 bilhões de alinhamentos possíveis. A razão obtida na expressão anterior advém da aproximação de Stirling (GRAHAN et al., 1995) para o fatorial de n,, de modo que: Para se obter uma padronização no cálculo de uma função de pontuação que corresponde ao grau de similaridade, se s 1 = n 1 e s 2 = n 2, com n 1 n 2 devem ser inseridos espaços tais que as duas cadeias finais fiquem de mesmo tamanho, ou seja, s 1 = s 2 = n. 2.3 Alinhamento Múltiplo Seja k um inteiro positivo e s 1, s 2,..., s k sequências sobre um alfabeto \{ } com s i =n i, i=1..k. Um alinhamento múltiplo (CARRILLO & LIPMAN, 1988) A corresponde a

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 71 uma matriz A ij de ordem k x n, com entradas em onde n máx{ n i, i=1..k } de modo que a linha A i do alinhamento seja a sequência s i com possíveis espaços inseridos entre seus caracteres. Como dito anteriormente, se k=2, o problema é conhecido como APS (Alinhamento de Pares de Sequências) e se k>2, como AVS (Alinhamento de Várias Sequências). 2.4 Tipos de Alinhamento 2.4.1 Global É o tipo mais comum e envolve a comparação de uma extremidade a outra, conforme visto no Exemplo 4. Após a inclusão dos espaços, as sequências serão alinhadas uma sobre a outra para permitir que seja aplicada uma avaliação do grau de similaridade entre elas. Programas disponíveis em bases de dados públicas, como o CLUSTAL (2010) e o MULTALIN (2010), realizam este tipo de alinhamento. 2.4.2 Local O propósito é encontrar e extrair um ou mais segmentos das sequências comparadas que exibam alta similaridade. No caso, a avaliação seria feita de forma parcial, ou seja, somente nos segmentos selecionados. Os programas Blast - Basic Local Alignment Search Tool (ALTSCHUL et al., 1997) e Fasta Fast Alignment (PEARSON & LIPMAN, 1988) são as ferramentas de busca de alinhamento local mais utilizadas. 2.4.3 Global ou Local O alinhamento global é frequentemente utilizado para determinar regiões conservadas entre sequências homólogas 1 enquanto que o alinhamento local é geralmente utilizado na busca de segmentos homólogos em Banco de Dados públicos (NCBI, 2010) e na montagem de genomas. 1 A homologia é a ferramenta básica da Biologia comparada que retrata a similaridade entre espécies descendentes de um ancestral comum.

72 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 2.5 Grau de Similaridade Uma maneira usual de atribuir escores no alinhamento de duas sequências é dada pela estratégia de associar a cada coluna j das sequências alinhadas uma pontuação ou peso w j da seguinte forma: A função de pontuação ou função objetivo seria dada pela equação seguinte, onde maiores valores para f indicam que s 1 e s 2 são mais similares. Exemplo 6 Considerando os alinhamentos (a) e (b) do Exemplo 4 teríamos: s 1 A A G C C T C s 3 A A G C C T C s 2 A A A C T s 4 A A A C T w j +1 +1 1 2 +1 +1 2 w j 2 +1 +1 2 2 +1 +1 2 (a) f (s 1,s 2 ) = 1+1 1 2+1+1 2 = 1 (b) f (s 3,s 4 ) = 2+1+1 2 2+1+1 2 = 4 Como f (s 1,s 2 ) > f (s 3,s 4 ) então o alinhamento (a) é melhor que o (b). Utilizando este critério poderia comparar várias sequências e decidir quais são as mais semelhantes entre si. Exemplo 7: Considerando as sequências r, s e t da tabela abaixo, observa-se que s e t são mais próximas entre si do que as demais combinações. Estes resultados podem ser dispostos numa matriz de distâncias. r L L C C E G E f (r,s) = +1+1+1+1 2 2 2 1+1+1 = 1 s L L C C C T W M G E f (r,t) = 1+1+1+1 2 2 2 1+1+1 = 3 t C L C C R T W M G E f (s,t) = 1+1+1+1 1+1+1+1+1+1 = +6

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 73 2.6 Sequências Biológicas Para os pesquisadores da área de Biologia Molecular, o importante é obter o alinhamento que tenha mais significado biológico. Quando se comparam sequências biológicas, procura-se então verificar a evidência de que elas tiveram um ancestral comum e é consensual que as divergências ocorreram por processos de mutação ou de seleção natural. O processo de mutação mais simples considera substituição, inserção e eliminação de caracteres, e a seleção natural tem a capacidade de potenciar umas mutações em prejuízo das outras. Eventos como inversões e transposições não são detectados pelos algoritmos tradicionais. As ferramentas existentes geram matrizes de distâncias que são elementos básicos para geração de árvores filogenéticas. Estes algoritmos comparam genes das espécies em estudo, dispondo as pontuações numa tabela de pesos (escores), de modo que bases nitrogenadas iguais têm escore igual a (+2) e diferentes, igual a ( 1) indicando a uma penalidade; para os deslocamentos o escore é nulo. Exemplo 8: Para as sequências do Exemplo 6 seria considerada a seguinte tabela: A C T G A +2 1 1 1 C 1 +2 1 1 T 1 1 +2 1 G 1 1 1 +2 s 1 A A G C C T C s 3 A A G C C T C s 2 A A A C T s 4 A A A C T w j +2 +2 1 0 +2 +2 0 w j 0 +2 +2 0 0 +2 +2 0 (a) f (s 1,s 2 ) = 2+2 1+0+2+2+0 = 7 (b) f (s 3,s 4 ) = 0+2+2+0+0+2+2+0 = 8 Como o objetivo agora é minimizar as penalidades, teríamos f (s 1,s 2 ) < f (s 3,s 4 ), portanto, o alinhamento (a) também seria considerado melhor que o (b). Por este aspecto, não havendo penalização para os deslocamentos, significa que é mais provável isto acontecer do que uma

74 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 mudança de base (A C, G A, por exemplo). Do ponto de vista biológico, a mutação entre bases não ocorre com a mesma probabilidade, devido à composição das mesmas. Transições (mudanças de bases da mesma classe) são mais frequentes que transversões (mudanças de bases de classes distintas). As classes das bases nitrogenadas são as purinas (Adenina e Guanina) e piridinas (Citosina e Timina). Exemplo 9: Para atender a estas considerações, a tabela a ser usada ficaria assim: A C T G A +2 1 1 0,5 0 C 1 +2 0,5 1 0 T 1 0,5 +2 1 0 G 0,5 1 1 +2 0 0 0 0 0 x Nos alinhamentos múltiplos, a escolha da função é menos relevante, pois a comparação é feita entre sequências que representam espécies distintas. 2.7 Distância de Edição A distância de edição entre sequências é o número mínimo de operações de edição (inserção, remoção ou substituição de caracteres) necessárias para transformar uma sequência em outra. Se as operações não têm custos uniformes, utiliza-se o menor custo da transformação. As típicas distância de edição utilizadas são a de Hamming (1980), Levenshtein (HIRSCHBERG, 1997) e a de Damerau (1964). A primeira permite apenas substituição de caracteres e é restrita para strings (cadeias) de mesmo tamanho. Uma de suas aplicações é para o problema CSP Closest String Problem (VIANA et al., 2008). Para as duas seguintes, os strings podem ter tamanhos diferentes, sendo que a de Levenshtein calcula o custo de edição, considerando somente as três operações básicas citadas, enquanto que a de Damerau é uma variação da métrica de Levenshtein, sendo que considera também a operação de inversão de caracteres adjacentes.

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 75 2.8 Distância Evolutiva Duas sequências s 1 e s 2 estão a uma distância evolutiva dita PAM1, se uma série de mutações do tipo troca de caracteres convertem s 1 em s 2 com uma média de 1% (uma troca a cada 100 aminoácidos). O termo PAM Point Accepted Mutation refere-se à matriz de substituição utilizada no alinhamento de proteínas homólogas. Uma mutação aceita refere-se àquela gerada entre duas sequências que não provoca a extinção da espécie que contém a sequência descendente sob o ponto de vista filogenético. Uma matriz PAM (DAYHOFF, 1978) define um processo estocástico para geração da pontuação de seus termos, sem interesse no escopo deste trabalho. 3 PRINCIPAIS ALGORITMOS PARA O PROBLEMA DO ALINHAMENTO 3.1 Preliminares Todos os algoritmos apresentados constam de dois procedimentos, um (DIST) para o cálculo das distâncias ou geração da matriz de pontuação, e outro (ALIGN) para determinar o alinhamento ótimo que corresponde ao melhor alinhamento ou pontuação mínima. Entrada duas sequências s e t, de tamanhos, respectivamente, iguais a m e n. Notação A[i,j] = d(s[1..i], t [1..j]) d(s,t) = d(s[1..m], t [1..n]) = A[m,n], d=distância Matriz de pontuação A de ordem (m+1) x (n+1), incluindo o símbolo Um estudo completo destes e de outros algoritmos pode ser encontrado em Brito (2003).

76 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 3.2 Algoritmos APS (Alinhamento de Pares de Sequências)

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 77 Uma variante deste algoritmo é o método de Economia de Espaço (HIRSCHBERG, 1975) que altera a estrutura de dados do cálculo da distância utilizando um vetor linear a[0..n] em substituição à matriz de pontuação. Outras técnicas são similares às apresentadas, com alteração na geração da matriz de pontuação, por exemplo, o algoritmo de Needlman & Wunsch (1970) utiliza programação dinâmica para fazer o alinhamento global e o de Smith & Waterman (1981) faz uma busca em regiões com semelhança local, sem considerar todo seu comprimento. Os algoritmos da seção seguinte fazem o alinhamento múltiplo. O primeiro deles, Gusfield (1997), é um algoritmo de aproximação (VAZIRANI, 2003).

78 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 3.3 Algoritmos AVS (Alinhamento de Várias de Sequências) A razão de aproximação do Algoritmo 3 é dada pelo fator =(2 2/k), de modo que para duas sequências (k=2) o algoritmo é exato ( =1). O procedimento JUNCTION, correspondente ao Algoritmo 4, encontra-se na página seguinte. Outros algoritmos para o AVS usam uma interpretação estatística na pontuação dos alinhamentos. A geração da matriz de distâncias evolutivas evidencia um modelo de mutação com o pareamento de caracteres ao acaso através do logaritmo da razão de probabilidades log-odd scores. Como referência, citamos o Modelo de Markov de Estados Ocultos Hidden Markov Model que é um método de inferência (FORBES & PEYRARD, 2001).

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 79 4 APLICAÇÕES PARA O PROBLEMA DO ALINHAMENTO 4.1 Geração de Matrizes de Distâncias Evolutivas Programas conhecidos como Protdist, Dnadist e Distmat do pacote Phylip Phylogeny Inference Package (FELSENSTEIN, 1993) que fazem alinhamento de múltiplas sequências, úteis para o problema da filogenia, geram as matrizes de distâncias, utilizando os seguintes métodos ou algoritmos, Jukes & Cantor (1969), Tajima & Nei (1984), Kimura (1980), Mega3 (KUMAR et al., 2004) e Jin-Nei Gamma distance (JIN & NEI, 1990).

80 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 4.2 Montagem de Fragmentos Um projeto genoma tem como objetivo determinar as sequências de DNA completas de todos os cromossomos de um organismo. Os sequenciadores disponíveis em laboratórios de genética são limitados a sequenciar milhares de bases nitrogenadas, no entanto, mesmo os organismos menos complexos, como as bactérias, são formados por milhões destas bases. Uma maneira de amenizar este problema é fragmentar o DNA e a seguir montar as subsequências, ou fragmentos, obtidos. Foram desenvolvidos montadores de genomas que utilizam os resultados obtidos pelos algoritmos de alinhamento aqui descritos, para reconstruir a sequência completa do DNA (Sequencing Whole Genomes). 5 CONCLUSÃO A comparação de sequências de caracteres, feita através do processo de alinhamento, é uma das tarefas básicas da Bioinformática, conforme os algoritmos e as aplicações apresentadas. Vimos que para alinhar duas sequências existem algoritmos eficientes exatos para obter a solução ótima, embora alguns deles enquadram-se na categoria de pseudo-polinomiais. Para o caso de várias sequências, o problema do alinhamento múltiplo é NP-difícil. Assim foi observado que é necessário desenvolver novos algoritmos, para sua resolução em tempo, hábil buscando sempre soluções bem aproximadas da solução ótima.

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 81 Sequence Alignment Algorithms ABSTRACT Comparing strings is a problem of great interest in computer science. There are many applications in the database managers, word processors and various tools of Computational Biology. One way to compare two or more sequences is by building an alignment between them. Basic algorithms for alignment seek the best shape that corresponds to the highest degree of similarity between the sequences compared. This article presents some algorithmic techniques developed to align sequences corresponding to the simple comparison with two sequences, and multiple, with three or more sequences. Keywords: Alignment, Computational Biology, Optimization, Sequence Similarity. REFERÊNCIAS ALTSCHUL, S.F., MADDEN, T.L., SCHÄFFER, A.A., ZHANG, J., ZHANG, Z., MILLER, W. and LIPMAN, D.J., Gapped BLAST and PSI-BLAST: a new generation of protein database search programs. Nucleic Acids Research, 25:3389 4202, 1997. BRITO, R.T., Alinhamento de Sequências Biológicas, Dissertação de Mestrado, IME/USP, Instituto de Matemática e Estatística Universidade de São Paulo, 2003. CARRILLO, H. and LIPMAN, D., The multiple sequence alignment problem in biology, SIAM Journal of Applied Mathematics, 48(5):1073 1082, 1988. CLUSTAL, Disponível em: <www.ebi.ac.uk/clustalw>, Setembro, 2010. DAMERAU, F., A technique for computer detection and correction of spelling errors, Comm. of the ACM, 7(3):171 176, 1964. DAYHOFF, M.O., SCHWARTZ, R.M., ORCUTT, B.C., A model of evolutionary change in proteins, Atlas of Protein Sequence and Structure 5(3):345 352, 1978. FELSENSTEIN, J., PHYLIP Phylogeny Inference Package: Computer Programs for Inferring Phylogenies, version 3.69, University of Washington, Seatle, WA, 1993. <http://evolution.genetics. washington.edu/phylip.html>, September, 2010. FORBES, F. and PEYRARD, N., Hidden Markov Models Selection Criteria based on Mean Field-like approximations, INRIA Institute National de Recherche en Informatique et Automatique, Rapport #4371, 33p., Février, 2001.

82 Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 GRAHAN, R. L., KNUTH, D. E. and PATASHNIK, O., Matemática Concreta: Fundamentos para a Ciência da Computação, Rio de Janeiro: LTC, 1995. GUSFIELD, D., Algorithms on strings, trees and sequences: Computer Science and Computational Biology, Cambridge University Press, 1997. HAMMING, R. W., Coding and information theory, Prentice-Hall, Inc., 1980. HIRSCHBERG, D. S., Serial computations of Levenshtein distances, Pattern Matching Algorithms, A. Apostolico and Z. Galil, editors, Oxford University Press, p. 123 141, 1997., A linear space algorithm for computing maximal common subsequences, Communications of the ACM 18:341 343, 1975. JIN, L. and NEI, M., Limitations of the evolutionary parsimony method of phylogenetic analysis. Molecular Biology and Evolutions, 7:82 102, 1990. JUKES, T.H. and CANTOR, R.C., Evolution of Protein Molecules, in Mammalian Protein Metabolism, chapter 2, p. 22 132, New York: Academic Press, 1969. KIMURA, M., A simple method for estimating evolutionary rates of base substitutions through comparative studies of nucleotide sequences, Molecular Evolutions, 16:111 120, 1980. KUMAR, S., TAMURA, K. and NEI, M., MEGA3: Integrated software for molecular evolutionary genetics analysis and sequence alignment, Bioinformatics, 5(2):150 163, 2004. MULTALIN, Disponível em: <http://multalin.toulouse.inra.fr/multalin>, Setembro, 2010. NCBI National Center for Biotechnology Information, disponível em <http://ncbi.nlm.nih.gov>, Setembro, 2010. NEEDLEMAN, S. B. and WUNSCH, C. D., A general method applicable to the search for similarities in the amino acid sequence of two proteins, Journal of Molecular Biology 48 (3): 443 53, 1970. PEARSON, W. R. and LIPMAN, D. J., Improved tools for biological sequence comparison. PNAS Proceedings of the National Academy of Sciences, 85:2444 2448, 1988. SMITH, T. F. and WATERMAN, M. S., Identification of common molecular subsequences, Journal of Molecular Biology 147:195 197, 1981. TAJIMA, F. and M. NEI, M., Estimation of evolutionary distance between nucleotide sequences, Molecular Biology and Evolutions, 1(3):269 285, 1984. VAZIRANI, V.V., Approximation Algorithms, Berlin: Springer-Verlag, 2003. VIANA, G.V.R., GOMES, F.C., MENESES, C.N. and PARDALOS, P.M., A parallel multistart algorithm for the closest string problem, Computers & Operations Research 35:3636 3643, 2008.

Revista Científica da Faculdade Lourenço Filho - v.7, n.1, 2010 83 VIANA, G.V.R., Técnicas para Construção de Árvores Filogenéticas, Tese de Doutorado, DC/UFC, Departamento de Computação Universidade Federal do Ceará, Fortaleza: 2007. WANG, L. and JIANG, T., On the complexity of multiple sequence alignment, Journal of Computational Biology, 1:337 348, 1994. WATERMAN, M. S., Introduction to computational biology: Maps, sequences and genomes, Chapman and Hall, 1995. Gerardo Valdisio Rodrigues Viana Doutor em Ciência da Computação - UFC/USP Professor Associado - UECE Áreas de interesse: Otimização Combinatória, Algoritmos e Bioinformática. e-mail: valdisio@gmail.com Hélio Augusto Sabóia Moura Professor de Desenvolvimento da Faculdade Lourenço Filho Mestrando em Computação Aplicada - MPCOMP / UECE Analista de Sistemas do Departamento de Informática da UECE Áreas de interesse: Engenharia de Software, Linguagens de Programação e Desenvolvimento em Java e-mail: helio.moura@uece.br