Você está na página 1de 7

Alinhamento de Sequências:

Alinhamento pairwise – FASTA e BLAST

Para alinhar sequências, existem diferentes tipos de algoritmos que podem ser
utilizados. Entre os métodos de alinhamento, estão algoritmos de programação dinâmica, o
qual tende a quebrar a sequência em problemas menores para encontrar o melhor resultado
de alinhamento. Entretanto, esse tipo de abordagem consome tempo, e é inviável para alinhar
sequências muito grandes ou comparar uma sequência com várias sequências em um banco
de dados. Alguns programas utilizam algoritmos heurísticos, os quais são utilizados em
buscas em bancos de dados e para alinhar sequências maiores em um menor tempo, porém
não esses algoritmos não garantem encontrar o melhor alinhamento, diferente da
programação dinâmica.
Embora métodos heurísticos não encontrem a solução ótima para o problema, sua
eficiência e rapidez na busca e alinhamento de sequências em bancos de dados fazem dessas
ferramentas as mais utilizadas em bioinformática. Métodos de palavras (words), também
chamados de métodos k-tuple são os tipos de algoritmos heurísticos mais utilizados no
alinhamento de sequências.

FASTA (https://www.ebi.ac.uk/Tools/sss/fasta/)
FASTA (lido “fast A”) é um algoritmo de passos múltiplos para alinhamento de
sequências criado em 1985 por Wilbur e Lipman. Originalmente, o software foi
desenvolvido para alinhamento de proteínas e, por tanto, era conhecido por FASTP (“fast
protein”). Com o avanço tanto no conhecimento de genética como na área da computação,
em 1987, foi introduzida a capacidade do software de realizar buscas por DNA e proteínas
traduzidas, sendo então denominado de FASTA (“fast all”). O formato FASTA (Fig. 1)
usado como entrada no software é hoje amplamente utilizado em diversos outros programas
para alinhamento e bancos de dados de sequências.

Figura 1. Texto em formato FASTA. Note o cabeçalho (marcado por um “>”) contendo
informações sobre a sequência de aminoácidos. A sequência apresenta 68 caracteres em cada
linha, exceto na última.
Após dar entrada na sequência (o query) que se quer alinhar com bancos de dados, o
algoritmo FASTA irá seguir os seguintes passos (Fig. 2): a) após organizar duas sequências
em uma matriz (o query e uma sequência do banco), é realizada uma busca por locais de
similaridades. b) K-mers (palavras) similares são pontuadas utilizando escores ou matrizes
de similaridade. Os melhores escores são mantidos. c) Os segmentos de similaridade que
não fazem parte do alinhamento de maior escore são eliminados. d) É utilizado um algoritmo
de programação dinâmica (Smith-Waterman) para otimizar o alinhamento na região mais
estreita com melhor pontuação encontrada anteriormente.

Figura 2. Passos realizados pelo algoritmo do programa de alinhamento FASTA. Os passos


estão descritos no texto acima.

BLAST (https://blast.ncbi.nlm.nih.gov/Blast.cgi)
O Basic Local Alignment Search Tool (ferramenta de busca para alinhamento local
básico, BLAST) é um dos programas de bioinformática mais utilizados. Ele foi desenvolvido
especificamente para busca alinhamento e pesquisa em bancos de dados em 1990 por
Stephen F. Altschul e colaboradores. Na busca por sequências semelhantes àquela que
estamos consultando (o query), podemos identificar sequências e relacioná-las
filogeneticamente, identificar possíveis funções com base em semelhanças com sequências
conhecidas e identificar organismos através de alinhamento de regiões altamente
conservadas do DNA, como o rRNA.
O algoritmo heurístico do BLAST funciona da seguinte forma (Fig. 3): 1) a sequência
query é quebrada em “palavras”. O tamanho dessas palavras varia, sendo que geralmente
nucleotídeos são quebrados em um kmer de tamanho 11 e aminoácidos em kmer de 3. Essas
palavras serão utilizadas para semear os alinhamentos. 2) O programa busca por
similaridades ou matches sequências alvo nos bancos de dados. Tenta-se alinhar cada palavra
do query com o alvo, procurando por similaridades. 3) Se o alvo tiver 3 matches com as
palavras do query (dado esse threshold), o alinhamento é estendido em ambas as direções
buscando por similaridade adicional. Por fim, é realizado o escore do alinhamento.

Figura 3. Passos realizados pelo algoritmo do programa de alinhamento BLAST. Os passos


estão descritos no texto acima.

Quando interpretando o resultado dos alinhamentos de programas como FASTA e


BLAST, deve se reconhecer as informações fornecidas para cada alinhamento (Fig. 4-5).
Alguns conceitos são importantes e devem ser avaliados quando observamos o resultado de
um alinhamento.
Score – a pontuação do alinhamento. Pode ser max score, ou seja, o maior escore encontrado
naquele alinhamento, ou total score, o escore de todos os escores daquele alinhamento. Isso
ocorre porque alguns alinhamentos apresentam mais de uma região alinhada e pontuada.
Query cover – porcentagem da query que é coberta pela sequência alvo. A parte não coberta
corresponde a gaps.
Ident ou Identities % – a identidade é a porcentagem de letras que são idênticas entre o
query e a sequência avo do banco de dados. A ident só é 100% em proteínas se as duas
sequências forem a mesma.
E-value ou E() – probabilidade do alinhamento ocorrer ao acaso. Esse valor varia de 0 a 1,
sendo que os melhores resultados apresentam os menores valores. Geralmente, são
considerados bons e-valores menores de 1E-5 (1 x 10-5). O E significa potência de 10.
Positivities – o número ou porcentagem de resíduos para os quais os valores do escore
durante o alinhamento foram positivos.

Figura 4. Exemplo de resultado de alinhamento obtido através do programa FASTA. Este é


um alinhamento de proteínas. DB:ID significa o número de identificação de banco de dados
de onde a sequência alvo foi retirada. Source indica a fonte da sequência alvo (organismo e
outras informações).

Figura 5. Exemplo de resultado de alinhamento obtido através do programa BLAST. Este é


um alinhamento de DNA. Accession significa o número de identificação de banco de dados
de onde a sequência alvo foi retirada. Description indica a fonte da sequência alvo
(organismo e outras informações).
Figura 6. Exemplo de resultado de alinhamento obtido através do programa BLAST. Este é
um alinhamento de DNA. O cabeçalho indica dados da sequência alvo do banco de dados.
Query é a sequência de entrada e Sbjct é a sequência do banco de dados. Note que letras
iguais entre as sequências recebem um traço vertical, enquanto letras diferentes apresentam
um espaço vazio. O traço horizontal (-) indica gap. Letras minúsculas e cinzas (não
mostradas na imagem) representam sequências pouco complexas.
Figura 7. Exemplo de resultado de alinhamento obtido através do programa BLAST. Este é
um alinhamento de proteína. O cabeçalho indica dados da sequência alvo do banco de dados.
Query é a sequência de entrada e Sbjct é a sequência do banco de dados. Note que letras
iguais entre as sequências recebem a mesma letra, enquanto letras diferentes apresentam um
espaço vazio. O traço horizontal (-) indica gap. O sinal positivo entre letras (+) indica uma
substituição conservativa, significando que houve uma troca no aminoácido daquela posição
por outro aminoácido com propriedades similares.
Exercício
1. O BLAST apresenta diferentes algoritmos dependendo do tipo de alinhamento
que se quer realizar. Observe os tipos de BLAST na figura abaixo e diga qual a
sequência de entrada (query) e qual o tipo de sequência de banco de dados (o
alvo) que cada tipo de BLAST utiliza no alinhamento.

___________________________________________________________________

___________________________________________________________________

___________________________________________________________________

___________________________________________________________________

___________________________________________________________________

2. Utilizando o programa de alinhamento BLAST, realize o alinhamento da seguinte


sequência proteica (use o algoritmo blastp) e responda o que se pede:

MARLLQASCLLSLLLAGFVSQSRGQEKSKMDCHGGISGTIYEYGALTIDGEEYIPFKQYAGKYVLFVNVA
SYUGLTGQYIELNALQEELAPFGLVILGFPCNQFGKQEPGENSEILPTLKYVRPGGGFVPNFQLFEKGDV
NGEKEQKFYTFLKNSCPPTSELLGTSDRLFWEPMKVHDIRWNFEKFLVGPDGIPIMRWHHRTTVSNVKMD
ILSYMRRQAALGVKRK

a) Qual o nome da proteína e a qual família ela pertence?

b) Qual o melhor valor de score e e-valor encontrados?

c) Qual a espécie que apresenta uma proteína com melhor resultado?

d) Qual a função dessa proteína?

Você também pode gostar