• Nenhum resultado encontrado

Estrat´ egia do algoritmo do BLAST

No documento Dissertação (páginas 43-46)

bilidade dos algoritmos, h´a a possibilidade de utilizar algoritmos em sequˆencia, executando-o em v´arios est´agios. Esse principio ´e utilizado pelo FASTA, que examina o espa¸co de busca e depois, com uma sensibilidade maior, analisa os dez melhores resultados.

Al´em do problema da compara¸c˜ao, para realizar um bom alinhamento, ´e necess´ario encontrar a m´axima pontua¸c˜ao dos segmentos analisados, num problema que remete `a an´alise de valor m´aximo. Os m´etodos baseados em heur´ıstica tem conhecida eficiˆencia nessa an´alise, e s˜ao portanto mais eficientes que os algoritmos tradicionais na busca do melhor resultado, pois os algoritmos tradicionais trabalham com a constru¸c˜ao de matrizes e traceback baseado em programa¸c˜ao dinˆamica.

O estudo e a combina¸c˜ao das t´ecnicas de grupos diferentes de algoritmos teve sempre como objetivo a busca de um algoritmo que alie sensibilidade e tempo de resposta. A partir da cria¸c˜ao do algoritmo FASTA, conseguiu-se tamb´em acrescentar `a pesquisa o car´ater intuitivo trazido pelos algoritmos gen´eticos, o que levou ao desenvolvimento do algor´ıtimo BLAST (Basic Local Alignment Search Tool), que utiliza algumas etapas do FASTA em adi¸c˜ao a algumas fun¸c˜oes pr´oprias que s˜ao apresentadas na Se¸c˜ao 2.1.

2.1

Estrat´egia do algoritmo do BLAST

Dadas duas sequˆencias s e t, o objetivo do algoritmo BLAST ´e alinhar s e t, sem a inser¸c˜ao de buracos, utilizando uma matriz de pontua¸c˜ao (BLOSUM ou PAM), para o caso de sequˆencias de prote´ınas (ALTSCHUL et al., 1990). Para alinhamento de sequˆencias de DNA, o crit´erio de pontua¸c˜ao pode ser outro, atribuindo-se um valor positivo para a igualdade e um valor negativo para a n˜ao-igualdade, por exemplo.

O algoritmo parte do princ´ıpio que, por exemplo, para que duas sequˆencias tenham alto grau de similaridade, elas devem ter v´arios pequenos trechos idˆenticos. Para as duas sequˆencias s e t dadas, define-se por segmento uma simples subdivis˜ao de s ou t em subsequˆencias de tamanhos menores. Um par de segmento (s, t) ou hit consiste em dois segmentos, um em s e um em t, de mesmo tamanho. A alus˜ao `a linguagem dos algoritmos gen´eticos permite que o hit seja chamado de semente. Quando uma sequˆencia ´e subdividida em segmentos de tamanho w, esse segmentos de tamanho w s˜ao chamados de palavra. A pontua¸c˜ao obtida pelo alinhamento do par de segmento (s, t) ´e representada por α(s, t). Denomina-se par de segmentos localmente m´aximo, representado pela sigla LMSP quando algum par de segmentos (s, t) atinge uma pontua¸c˜ao que n˜ao pode mais ser otimizada, seja aumentando ou diminuindo o par de segmento; e um Par de segmento m´aximo, representado pela sigla MSP , ´e qualquer

2.1 Estrat´egia do algoritmo do BLAST 42

par de segmento (s, t) cujo alinhamento atinge a m´axima pontua¸c˜ao α(s, t) (ALTSCHUL et al., 1990) (KORF; YANDELL; BEDELL, 2003).

Al´em das defini¸c˜oes LMSP e MSP, ´e determinado ainda, um valor m´ınimo para as pontua¸c˜oes. Esse valor ´e a pontua¸c˜ao de corte S. Um par de segmento (s, t) ´e chamado de HSP , se ele ´e localmente m´aximo e se α(s, t) ≥ S. Em termos pr´aticos, a meta do algoritmo BLAST ´e, portanto, computar todos os HSPs (ALTSCHUL et al., 1990).

O procedimento a seguir resume a estrat´egia e o funcionamento do BLAST, quando se tem duas sequˆencias de prote´ınas s e t a serem comparadas (ALTSCHUL et al., 1997) (ALTSCHUL et al., 1990) (KORF; YANDELL; BEDELL, 2003):

ˆ Pr´e-Processamento: A sequˆencia t ´e dividida em palavras de tamanho w. Para cada palavra gerada, ´e elaborada uma lista com todas as w-tuplas de tamanho w. Uma w- tupla ´e a gera¸c˜ao de uma nova palavra de tamanho w a partir da permuta¸c˜ao da palavra original sobre o alfabeto AP roteinas. Para cada palavra gerada, ´e calculada uma pontua¸c˜ao, e essa palavra ir´a compor a lista de w-tuplas se, e somente se, a pontua¸c˜ao atingida for superior ao limite m´ınimo (do inglˆes threshold, representado por T ). Na Tabela 9 h´a um exemplo desse preenchimento, tamb´em chamado de c´alculo da vizinhan¸ca;

ˆ Passo 1: Semeadura. ´E a etapa de localiza¸c˜ao dos hits. Nessa etapa, pesquisa-se em s por todos os w-tuplas da lista pr´e-processada. Armazena-se a posi¸c˜ao onde todos os hits s˜ao encontrados;

ˆ Passo 2: Extens˜ao. Nessa etapa, cada semente (s, t) (hit), encontrada na etapa de se- meadura ´e revisitada com o objetivo aumentar a quantidade de bases alinhadas. Cada semente estendida em ambas as dire¸c˜oes at´e que o escore α(s, t) n˜ao possa mais ser me- lhorado, gerando assim um LMSP. As extens˜oes que superarem o escore S s˜ao reportadas pelo algoritmo como HSP, e poss´ıveis solu¸c˜oes de alinhamento;

ˆ Passo 3: Avalia¸c˜ao. Nessa etapa ´e feita uma avalia¸c˜ao estat´ıstica sobre as respostas encontradas pelo algoritmo. Para algumas vers˜oes, a etapa de avalia¸c˜ao consiste apenas em comparar quais respostas s˜ao maiores e menores que o escore S. Para outras vers˜oes, a etapa de avalia¸c˜ao determina o E-Value, representado por E, que determina a quantidade de HSPs que pode ter ocorrido aleatoriamente. Essa avalia¸c˜ao ´e feita atrav´es da f´ormula E = K × n × m × ey×S, onde K e y s˜ao vari´aveis dependentes do modelo, m e n s˜ao os tamanhos da sequˆencias e S o limite superior.

2.1 Estrat´egia do algoritmo do BLAST 43

No procedimento descrito, o grande gargalo para a execu¸c˜ao do algor´ıtimo ´e a fase de pr´e-processamento. Na Tabela 9 observa-se que para um sequˆencia pequena, n = 7 e w = 2, existe n´umero consider´avel de palavras geradas. Isto infere que sequˆencias de tamanho maiores podem levar a uma explos˜ao combinacional. A forma usual de minimizar o problema do pr´e- processamento ´e atrav´es da constru¸c˜ao de uma tabela de pesquisa, lookup table.

O que justifica a cria¸c˜ao dessa tabela de pesquisa ´e a possibilidade de se buscar uma sequˆencia em um banco de dados, no que ´e determinado alinhamento m´ultiplo de sequˆencias. Dessa forma, a fase de pr´e-processamento, otimiza e evita o processo repetitivo de opera¸c˜ao nas sequˆencias relacionadas.

Tabela 9: Exemplo de pr´e-processamento para t = RQCSAGW, e a lista de palavras de w = 2 com escore T > 8 utilizando a matriz BLOSUM62

Palavra pares com escore T > 8

RQ RQ QC QC, RC, EC, NC, DC, KC, MC, SC CS CS, CA, CN, CD, CQ, CE, CG, CK, CT SA - AG AG GW GW, AW, RW, NW, DW, QW, EW, HW, KW, PW, SW, TW, WW

Ap´os entender o pr´e-processamento, ´e poss´ıvel vislumbrar o impacto do tamanho das sequˆencias, definidos por m e n; das palavras de tamanho w e dos parˆametros escolhidos T e S no tempo de execu¸c˜ao do algoritmo. Na Se¸c˜ao 2.2 ´e apresentado o detalhamento e o significado de cada parˆametro nas etapas do BLAST. Embora os parˆametros sejam universais, eles impactam de forma diferente em cada vers˜ao do BLAST. Isso ocorre pois a vers˜ao destinada ao alinhamento de prote´ınas apresentada diferen¸cas se comparada a vers˜ao para o alinhamento de sequˆencias de DNA.

Nessa Disserta¸c˜ao, o objetivo ´e propor uma arquitetura de hardware para o alinhamento sequˆencias de DNA. O algoritmo BLAST ´e simplificado para as sequˆencias de DNA, pois n˜ao h´a etapa de pr´e-processamento, e a fase de semeadura consiste em listar apenas as palavras de tamanho w idˆenticas encontradas tanto em s como em t. Isso implica dizer que a pontua¸c˜ao m´ınima T para que um trecho seja considerado semente ´e T = w × I sendo I o valor atribu´ıdo quando se encontra uma similaridade.

Na Se¸c˜ao 2.2 s˜ao apresentados os detalhes de como cada etapa funciona para o alinha- mento de sequˆencias de DNA, e a importˆancia de cada parˆametro.

No documento Dissertação (páginas 43-46)