Você sabe como o BLAST funciona?

Data:

aligned_chairs

 

Você sabe como o BLAST funciona?

Autor | César Henrique Yokomizo

BLAST (do inglês, Basic Local Alignment Search Tool) é provavelmente a ferramenta de bioinformática mais utilizada de todos os tempos, tanto que o nome do programa já virou um verbo, o “Blastar” ou “dar um Blast”. 

Usado para alinhar sequências de ácidos nucleicos (DNA, RNA) ou de proteínas, a ferramenta foi lançada em 1990 como uma solução aos gargalos dos algoritmos de programação dinâmica, também usados em alinhamentos, como o de Needleman-Wunsch ou de Smith-Waterman, que exigem muito tempo de processamento e um alto poder computacional. 

O BLAST é de uso livre e pode ser acessado pelo site do NCBI (National Center for Biotechnology Information). Mas você sabe como o BLAST realiza os alinhamentos? Qual o tipo de algoritmo é usado? Se sua resposta for não, segue o texto para esclarecermos todas essas dúvidas! 

Como falamos, algoritmos de programação dinâmica foram os primeiros a serem utilizados para alinhar sequências. Esses algoritmos funcionam através de uma matriz onde as sequências são comparadas, utilizando um sistema de pontuação onde cada match (correspondência) nas sequências recebe 1 ponto  e cada mismatch (não correspondência) recebe -1 ponto. 

 A matriz inicia em zero (0) no seu primeiro nó (fonte), e o processo vai se repetindo até chegar no último nó (sumidouro), cada nó também contém uma seta (diagonal, esquerda ou para cima) apontando para o nó anterior, de onde o valor no nó atual foi obtido. 

A teoria por trás disso é um pouco mais complexa e não vamos entrar em tantos detalhes por hora, pois queremos apenas mostrar que essa complexidade do algoritmo, somada à quantidade exponencial de dados genômicos obtidos e que precisavam ser armazenados em bancos de dados cada vez maiores, culminaram nos impeditivos computacionais para utilizar esse tipo de algoritmo em alinhamentos. 

Fonte:https://www.nature.com/scitable/topicpage/basic-local-alignment-search-tool-blast-29096/

Eis que surge em 1990, o nosso querido BLAST, trazendo soluções para esses problemas, principalmente diminuindo drasticamente o tempo de busca e a quantidade de comparações realizadas entre sequências. O grande salto heurístico do BLAST foi dado ao conseguir aumentar a velocidade dos alinhamentos, diminuindo o espaço da busca, daí a natureza local da ferramenta, ou diminuindo o número de comparações que o programa precisa realizar. 

Diferentemente da programação dinâmica, o BLAST não compara resíduo por resíduo das sequências imputadas no alinhamento, adotando uma busca por “palavras” curtas provenientes das sequências que se quer alinhar (Query). Funciona assim: imagine que você tenha duas sequências quaisquer,  X e Y, e você quer fazer o alinhamento para saber a similaridade ou identidade entre elas. 

A primeira etapa do processo, após disponibilizar as sequências na ferramenta, é definir o tamanho da sua palavra, suponham que escolhemos 3 resíduos, pois nesse tamanho diminuímos a quantidade de regiões das sequências que serão comparadas, já palavras maiores, como por exemplo de 4 resíduos, diminuem ainda mais as regiões comparadas, mas também podem ser um problema em sequências muito curtas. 

Definidos esses parâmetros, o BLAST irá “quebrar” suas sequências, gerando todas as palavras com 3 resíduos possíveis. O próximo passo é unir os dois grupos de palavras geradas a partir de X e Y, depois disso é realizada a contagem das ocorrências em cada grupo e para cada palavra, por exemplo, a palavra CAT pode ocorrer 1 vez em Y e nenhuma vez em X. 

Uma vez terminada a contagem, as ocorrências são organizadas para serem então comparadas e medidas as suas dissimilaridades, geralmente através do cálculo da distância Euclidiana, onde quanto maior o valor da distância, maior será o valor da dissimilaridade, portanto, sequências idênticas têm o valor igual a 0.          

 

Fonte: Adaptado de Zielezinski, A., Vinga, S., Almeida, J. et al. Alignment-free sequence comparison: benefits, applications, and tools. Genome Biol 18, 186 (2017). https://doi.org/10.1186/s13059-017-1319-7

O BLAST realiza esse processo localmente, ou seja, num determinado trecho da sequência. O valor obtido em cada local, alimenta o programa (seeds) e permite que ele se extenda para o próximo local para realizar tudo novamente. 

Nesse contexto, existem três valores importantes para serem definidos que são o valor de threshold (T), o cutoff score (S) e o threshold score (X). 

O valor T é definido pelo usuário e o BLAST só irá extender as palavras encontradas com valores maiores que T, já o cuttoff é um valor de referência para o BLAST selecionar apenas alinhamentos com valores maiores que S, ou seja, onde há identidade/similaridade significativa entre as sequências. O threshold score representa um limite mínimo, usado para terminar alinhamentos no momento em que os valores de threshold ficarem abaixo de X. 

Todas essas particularidades tornaram o BLAST a opção mais recorrente e viável quando o assunto é alinhamento de sequências. 

 

Leituras recomendadas: 

Basic Local Alignment Search Tool (BLAST) - Nature Education 

Alignment-free sequence comparison: benefits, applications and tools

Basic local alignment search tool

 

#bioinformática #blast #ciência  

Última atualização: March 17, 2021, 5:19 p.m.

Posts Relacionados