Prévia do material em texto
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. https://www.ebi.ac.uk/Tools/sss/fasta/ 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. https://blast.ncbi.nlm.nih.gov/Blast.cgi 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?