Como comparar sequências de aminoácidos no blast

Em bioinformática , o BLAST ( ferramenta básica de busca de alinhamento local ) [2] é um algoritmo e programa para comparar informações de sequência biológica primária , como as sequências de aminoácidos de proteínas ou os nucleotídeos de sequências de DNA e / ou RNA . Uma pesquisa BLAST permite que um pesquisador compare uma proteína em questão ou sequência de nucleotídeos (chamada de consulta) com uma biblioteca ou banco de dadosde sequências e identificar sequências de banco de dados que se assemelham à sequência de consulta acima de um certo limite. Por exemplo, após a descoberta de um gene anteriormente desconhecido no camundongo , um cientista normalmente realizará uma pesquisa BLAST no genoma humano para ver se os humanos carregam um gene semelhante; O BLAST identificará sequências no genoma humano que se assemelham ao gene do camundongo com base na similaridade da sequência.

O BLAST, que o New York Times chamou de Google da pesquisa biológica , [2] é um dos programas de bioinformática mais amplamente usados ​​para a busca de sequências. [3] Ele aborda um problema fundamental na pesquisa de bioinformática. O algoritmo heurístico que ele usa é muito mais rápido do que outras abordagens, como calcular um alinhamento ideal. Essa ênfase na velocidade é vital para tornar o algoritmo prático nos enormes bancos de dados do genoma atualmente disponíveis, embora os algoritmos subsequentes possam ser ainda mais rápidos.

Antes do BLAST, o FASTA foi desenvolvido por David J. Lipman e William R. Pearson em 1985. [4]

Antes de algoritmos rápidos como BLAST e FASTA serem desenvolvidos, a busca em bancos de dados por proteínas ou sequências nucleicas era muito demorada porque um procedimento de alinhamento completo (por exemplo, o algoritmo Smith-Waterman ) era usado.

O BLAST veio do modelo estocástico de 1990 de Samuel Karlin e Stephen Altschul [5]. Eles propuseram "um método para estimar semelhanças entre a sequência de DNA conhecida de um organismo com a de outro", [2] e seu trabalho foi descrito como "o base estatística para o BLAST. " [6] Posteriormente, Altschul, juntamente com Warren Gish , Webb Miller , Eugene Myers e David J. Lipman no National Institutes of Health projetaram o algoritmo BLAST, que foi publicado no Journal of Molecular Biology em 1990 e citado mais de 75.000 vezes . [7]

Embora o BLAST seja mais rápido do que qualquer implementação Smith-Waterman na maioria dos casos, ele não pode "garantir os alinhamentos ótimos das sequências de consulta e banco de dados" como o algoritmo Smith-Waterman faz. A otimização de Smith-Waterman "garantiu o melhor desempenho em precisão e os resultados mais precisos" às custas de tempo e poder do computador.

O BLAST é mais eficiente em termos de tempo do que o FASTA, pesquisando apenas os padrões mais significativos nas sequências, mas com sensibilidade comparativa. Isso poderia ser realizado ainda mais pela compreensão do algoritmo do BLAST apresentado a seguir.

Exemplos de outras perguntas que os pesquisadores usam o BLAST para responder são:

  • Quais espécies bacterianas têm uma proteína que está relacionada na linhagem a uma certa proteína com sequência de aminoácidos conhecida
  • Quais outros genes codificam proteínas que exibem estruturas ou motivos , como aqueles que acabaram de ser determinados

O BLAST também é freqüentemente usado como parte de outros algoritmos que requerem correspondência de sequência aproximada.

O BLAST está disponível na web no site do NCBI. Diferentes tipos de BLASTs estão disponíveis de acordo com as sequências de consulta e os bancos de dados de destino. Implementações alternativas incluem AB-BLAST (anteriormente conhecido como WU-BLAST), FSA-BLAST (atualizado pela última vez em 2006) e ScalaBLAST. [8] [9]

O artigo original de Altschul, et al. [7] foi o artigo mais citado publicado na década de 1990. [10]

Entrada

Sequências de entrada (no formato FASTA ou Genbank ), banco de dados para pesquisa e outros parâmetros opcionais, como matriz de pontuação.

Resultado

A saída do BLAST pode ser fornecida em uma variedade de formatos. Esses formatos incluem HTML , texto simples e formatação XML . Para a página da web do NCBI, o formato padrão de saída é HTML. Ao realizar um BLAST no NCBI, os resultados são fornecidos em um formato gráfico mostrando as ocorrências encontradas, uma tabela mostrando os identificadores de sequência para as ocorrências com dados relacionados à pontuação, bem como alinhamentos para a sequência de interesse e as ocorrências recebidas com as pontuações BLAST correspondentes Para estes. O mais fácil de ler e mais informativo deles é provavelmente a tabela.

Se alguém está tentando pesquisar uma sequência proprietária ou simplesmente uma que não está disponível em bancos de dados disponíveis ao público em geral por meio de fontes como o NCBI, existe um programa BLAST disponível para download em qualquer computador, sem nenhum custo. Isso pode ser encontrado em executáveis ​​BLAST +. Também existem programas comerciais disponíveis para compra. Os bancos de dados podem ser encontrados no site do NCBI, bem como nos bancos de dados Index of BLAST (FTP).

Usando um método heurístico , o BLAST encontra sequências semelhantes, localizando correspondências curtas entre as duas sequências. Esse processo de localização de sequências semelhantes é chamado de semeadura. É após esta primeira partida que o BLAST começa a fazer alinhamentos locais. Ao tentar encontrar semelhanças nas sequências, conjuntos de letras comuns, conhecidas como palavras, são muito importantes. Por exemplo, suponha que a sequência contenha o seguinte trecho de letras, GLKFA. Se um BLAST estivesse sendo conduzido em condições normais, o tamanho da palavra seria de 3 letras. Nesse caso, usando o trecho de letras fornecido, as palavras pesquisadas seriam GLK, LKF, KFA. O algoritmo heurístico do BLAST localiza todas as palavras de três letras comuns entre a sequência de interesse e a sequência ou sequências de acerto do banco de dados. Este resultado será então usado para construir um alinhamento. Depois de fazer as palavras para a sequência de interesse, o restante das palavras também é montado. Essas palavras devem satisfazer um requisito de ter uma pontuação de pelo menos o limiar T , quando comparadas usando uma matriz de pontuação.

Uma matriz de pontuação comumente usada para pesquisas BLAST é BLOSUM62 , [11] embora a matriz de pontuação ideal dependa da similaridade de sequência. Depois que as palavras e as palavras da vizinhança são montadas e compiladas, elas são comparadas às sequências no banco de dados para encontrar correspondências. A pontuação limite T determina se uma palavra específica será incluída ou não no alinhamento. Uma vez realizada a semeadura, o alinhamento que tem apenas 3 resíduos de comprimento, é estendido em ambas as direções pelo algoritmo usado pelo BLAST. Cada extensão impacta a pontuação do alinhamento aumentando ou diminuindo-o. Se esta pontuação for superior a um T pré-determinado , o alinhamento será incluído nos resultados fornecidos pelo BLAST. No entanto, se esta pontuação for inferior a este T pré-determinado , o alinhamento deixará de se estender, evitando que as áreas de alinhamento incorreto sejam incluídas nos resultados do BLAST. Observe que aumentar a pontuação T limita a quantidade de espaço disponível para pesquisa, diminuindo o número de palavras da vizinhança, enquanto ao mesmo tempo acelera o processo de BLAST

Para executar o software, o BLAST requer uma sequência de consulta a ser pesquisada e uma sequência a ser pesquisada (também chamada de sequência alvo) ou um banco de dados de sequência contendo várias dessas sequências. O BLAST encontrará subseqüências no banco de dados que são semelhantes às subsequências na consulta. No uso típico, a sequência de consulta é muito menor do que o banco de dados, por exemplo, a consulta pode ter mil nucleotídeos, enquanto o banco de dados tem vários bilhões de nucleotídeos.

A ideia principal do BLAST é que muitas vezes existem pares de segmentos de alta pontuação (HSP) contidos em um alinhamento estatisticamente significativo. O BLAST procura por alinhamentos de sequência de alta pontuação entre a sequência de consulta e as sequências existentes no banco de dados usando uma abordagem heurística que se aproxima do algoritmo Smith-Waterman . No entanto, a abordagem exaustiva de Smith-Waterman é muito lenta para pesquisar grandes bancos de dados genômicos, como o GenBank . Portanto, o algoritmo BLAST usa uma abordagem heurística que é menos precisa do que o algoritmo Smith-Waterman, mas mais de 50 vezes mais rápida. [8] A velocidade e a precisão relativamente boa do BLAST estão entre as principais inovações técnicas dos programas BLAST.

Uma visão geral do algoritmo BLAST (uma pesquisa de proteína para proteína) é a seguinte: [12]

  1. Remova regiões de baixa complexidade ou repetições de sequência na sequência de consulta. "Região de baixa complexidade" significa uma região de uma sequência composta de poucos tipos de elementos. Essas regiões podem fornecer pontuações altas que confundem o programa para encontrar as sequências significativas reais no banco de dados, portanto, elas devem ser filtradas. As regiões serão marcadas com um X (sequências de proteínas) ou N (sequências de ácidos nucléicos) e então serão ignoradas pelo programa BLAST. Para filtrar as regiões de baixa complexidade, o programa SEG é usado para sequências de proteínas e o programa DUST é usado para sequências de DNA. Por outro lado, o programa XNU é usado para mascarar as repetições tandem nas sequências de proteínas.
  2. Faça uma lista de palavras com k letras da seqüência de consulta. Pegue k = 3 por exemplo, listamos as palavras de comprimento 3 na sequência da proteína de consulta ( k é geralmente 11 para uma sequência de DNA) "sequencialmente", até que a última letra da sequência de consulta seja incluída. O método é ilustrado na figura 1.
  3. Liste as palavras correspondentes possíveis. Esta etapa é uma das principais diferenças entre o BLAST e o FASTA. O FASTA se preocupa com todas as palavras comuns no banco de dados e sequências de consulta listadas na etapa 2; no entanto, o BLAST só se preocupa com as palavras de alta pontuação. As pontuações são criadas comparando a palavra na lista na etapa 2 com todas as palavras de 3 letras. Ao usar a matriz de pontuação (matriz de substituição ) para pontuar a comparação de cada par de resíduos, há 20 ^ 3 pontuações de correspondência possíveis para uma palavra de 3 letras. Por exemplo, a pontuação obtida comparando PQG com PEG e PQA é respectivamente 15 e 12 com o esquema de ponderação BLOSUM62 . Para palavras de DNA, uma correspondência é pontuada como +5 e uma incompatibilidade como -4 ou como +2 e -3. Depois disso, um limite de pontuação de palavra da vizinhança T é usado para reduzir o número de palavras correspondentes possíveis. As palavras cujas pontuações são maiores que o limiar T permanecerão na lista de palavras correspondentes possíveis, enquanto aquelas com pontuações mais baixas serão descartadas. Por exemplo, o PEG é mantido, mas o PQA é abandonado quando T é 13.
  4. Organize as palavras de alta pontuação restantes em uma árvore de pesquisa eficiente. Isso permite que o programa compare rapidamente as palavras de alta pontuação com as sequências do banco de dados.
  5. Repita as etapas 3 a 4 para cada palavra da letra k na sequência de consulta.
  6. Examine as sequências do banco de dados em busca de correspondências exatas com as palavras restantes de alta pontuação. O programa BLAST varre as sequências do banco de dados em busca da palavra de alta pontuação restante, como PEG, de cada posição. Se uma correspondência exata for encontrada, essa correspondência é usada para semear um possível alinhamento sem lacunas entre a consulta e as sequências de banco de dados.
  7. Estenda as correspondências exatas para o par de segmentos de alta pontuação (HSP).
    • A versão original do BLAST estende um alinhamento mais longo entre a consulta e a sequência do banco de dados nas direções esquerda e direita, a partir da posição onde ocorreu a correspondência exata. A extensão não para até que a pontuação total acumulada do HSP comece a diminuir. Um exemplo simplificado é apresentado na figura 2.
    • Para economizar mais tempo, uma versão mais recente do BLAST, chamada BLAST2 ou BLAST com lacuna, foi desenvolvida. BLAST2 adota um limite inferior de pontuação de palavra de vizinhança para manter o mesmo nível de sensibilidade para detectar similaridade de sequência. Portanto, a lista de palavras correspondentes possíveis na etapa 3 torna-se mais longa. Em seguida, as regiões correspondentes exatas, dentro da distância A umas das outras na mesma diagonal na figura 3, serão unidas como uma nova região mais longa. Finalmente, as novas regiões são então estendidas pelo mesmo método que na versão original do BLAST, e as pontuações de HSPs (par de segmento de alta pontuação) das regiões estendidas são então criadas usando uma matriz de substituição como antes.
  8. Liste todos os HSPs no banco de dados cuja pontuação seja alta o suficiente para ser considerada. Listamos os HSPs cujas pontuações são maiores do que a pontuação de corte S determinada empiricamente . Ao examinar a distribuição das pontuações de alinhamento modeladas pela comparação de sequências aleatórias, uma pontuação de corte S pode ser determinada de modo que seu valor seja grande o suficiente para garantir a significância das HSPs restantes.
  9. Avalie a significância da pontuação HSP. O BLAST avalia a seguir a significância estatística de cada pontuação HSP, explorando a distribuição de valor extremo de Gumbel (EVD). (Está provado que a distribuição das pontuações de alinhamento local de Smith-Waterman entre duas sequências aleatórias segue o EVD de Gumbel. Para alinhamentos locais contendo lacunas, não está provado.). De acordo com o EVD de Gumbel, a probabilidade p de observar uma pontuação S igual ou maior que x é dada pela equação p ( S ≥ x ) = 1 - exp ⁡ ( - e - λ ( x - µ ) ) {\ displaystyle p \ left (S \ geq x \ right) = 1- \ exp \ left (-e ^ {- \ lambda \ left (x- \ mu \ right)} \ right)}
    Onde µ = registro ⁡ ( K m ′ n ′ ) λ {\ displaystyle \ mu = {\ frac {\ log \ left (Km'n '\ right)} {\ lambda}} \;} Os parâmetros estatísticos λ {\ displaystyle \ lambda} e K {\ displaystyle \ mathrm {K}} são estimados ajustando a distribuição das pontuações de alinhamento local sem lacunas, da sequência de consulta e muitas versões embaralhadas (embaralhamento global ou local) de uma sequência de banco de dados, à distribuição de valor extremo Gumbel. Observe que λ {\ displaystyle \ lambda} e K {\ displaystyle \ mathrm {K}} dependem da matriz de substituição, penalidades de gap e composição de sequência (as frequências das letras). m ′ {\ displaystyle m '} e n ′ {\ displaystyle n '} são os comprimentos efetivos das sequências de consulta e banco de dados, respectivamente. O comprimento da sequência original é reduzido para o comprimento efetivo para compensar o efeito de borda (um início de alinhamento próximo ao final de uma das consultas ou sequência de banco de dados provavelmente não terá sequência suficiente para construir um alinhamento ideal). Eles podem ser calculados como m ′ ≈ m - em ⁡ K m n H {\ displaystyle m '\ approx m - {\ frac {\ ln Kmn} {H}} \;} n ′ ≈ n - em ⁡ K m n H {\ displaystyle n '\ approx n - {\ frac {\ ln Kmn} {H}} \;} Onde H {\ displaystyle \ mathrm {H}} é a pontuação média esperada por par alinhado de resíduos em um alinhamento de duas sequências aleatórias. Altschul e Gish deram os valores típicos, λ = 0,318 {\ displaystyle \ lambda = 0,318} , K = 0,13 {\ displaystyle \ mathrm {K} = 0,13} , e H = 0,40 {\ displaystyle \ mathrm {H} = 0,40} , para alinhamento local sem lacuna usando BLOSUM62 como a matriz de substituição. O uso de valores típicos para avaliar a significância é chamado de método de tabela de pesquisa; não é preciso. A pontuação esperada E de uma correspondência de banco de dados é o número de vezes que uma sequência de banco de dados não relacionada obteria uma pontuação S maior do que x por acaso. A expectativa E obtida em uma busca por um banco de dados de sequências D é dada por E ≈ 1 - e - p ( s > x ) D {\ displaystyle E \ approx 1-e ^ {- p \ left (s> x \ right) D}} Além disso, quando p < 0,1 {\ displaystyle p <0,1} , E pode ser aproximado pela distribuição de Poisson como E ≈ p D {\ displaystyle E \ approx pD} Esta expectativa ou valor esperado "E" (frequentemente chamado de pontuação E ou valor E ou valor e ) avaliando a significância da pontuação HSP para alinhamento local sem lacuna é relatado nos resultados do BLAST. O cálculo mostrado aqui é modificado se HSPs individuais são combinados, como ao produzir alinhamentos com lacunas (descrito abaixo), devido à variação dos parâmetros estatísticos.
  10. Faça duas ou mais regiões HSP em um alinhamento mais longo. Às vezes, encontramos duas ou mais regiões HSP em uma sequência de banco de dados que pode ser feita em um alinhamento mais longo. Isso fornece evidências adicionais da relação entre a consulta e a sequência do banco de dados. Existem dois métodos, o método de Poisson e o método da soma das pontuações, para comparar a significância das regiões HSP recentemente combinadas. Suponha que existam duas regiões HSP combinadas com os pares de pontuações (65, 40) e (52, 45), respectivamente. O método de Poisson dá mais significância ao conjunto com a pontuação máxima inferior (45> 40). No entanto, o método da soma das pontuações prefere o primeiro conjunto, porque 65 + 40 (105) é maior do que 52 + 45 (97). O BLAST original usa o método de Poisson; o BLAST com intervalo e o WU-BLAST usam o método de soma de pontuações.
  11. Mostre os alinhamentos locais de Smith-Waterman com lacunas da consulta e cada uma das sequências de banco de dados correspondentes.
    • O BLAST original apenas gera alinhamentos não separados, incluindo os HSPs inicialmente encontrados individualmente, mesmo quando há mais de um HSP encontrado em uma sequência de banco de dados.
    • BLAST2 produz um único alinhamento com lacunas que podem incluir todas as regiões HSP encontradas inicialmente. Observe que o cálculo da pontuação e seu correspondente valor E envolve o uso de penalidades de gap adequadas.
  12. Informar todos os jogos cuja esperar pontuação é menor do que um parâmetro de limite de E .

BLAST paralelo

Versões BLAST paralelas de bancos de dados divididos são implementadas usando MPI e Pthreads e foram transferidas para várias plataformas, incluindo Windows , Linux , Solaris , Mac OS X e AIX . As abordagens populares para paralelizar o BLAST incluem distribuição de consulta, segmentação de tabela hash, paralelização de computação e segmentação de banco de dados (partição). Os bancos de dados são divididos em partes de tamanhos iguais e armazenados localmente em cada nó. Cada consulta é executada em todos os nós em paralelo e os arquivos de saída BLAST resultantes de todos os nós mesclados para produzir a saída final. Implementações específicas incluem MPIblast, ScalaBLAST, DCBLAST e assim por diante. [14]

O programa BLAST pode ser baixado e executado como um utilitário de linha de comando "blastall" ou acessado gratuitamente pela web. O servidor da web BLAST, hospedado pelo NCBI , permite que qualquer pessoa com um navegador da web realize pesquisas por similaridade em bancos de dados constantemente atualizados de proteínas e DNA que incluem a maioria dos organismos recentemente sequenciados.

O programa BLAST é baseado em um formato de código aberto, dando a todos acesso a ele e permitindo que tenham a capacidade de alterar o código do programa. Isso levou à criação de vários "spin-offs" do BLAST.

Existem agora vários programas BLAST diferentes disponíveis, que podem ser usados ​​dependendo do que se está tentando fazer e com o que está trabalhando. Esses programas diferentes variam na entrada da sequência de consulta, no banco de dados que está sendo pesquisado e no que está sendo comparado. Esses programas e seus detalhes estão listados abaixo:

O BLAST é na verdade uma família de programas (todos incluídos no executável blastall). Estes incluem: [15]

Nucleotídeo-nucleotídeo BLAST (blastn) Este programa, dada uma consulta de DNA, retorna as sequências de DNA mais semelhantes do banco de dados de DNA que o usuário especifica. Proteína-proteína BLAST (blastp) Este programa, dada uma consulta de proteína, retorna as sequências de proteínas mais semelhantes do banco de dados de proteínas que o usuário especifica. BLAST Iterativo de Posição Específica (PSI-BLAST) (blastpgp) Este programa é usado para encontrar parentes distantes de uma proteína. Primeiro, é criada uma lista de todas as proteínas intimamente relacionadas. Essas proteínas são combinadas em uma sequência de "perfil" geral, que resume as características significativas presentes nessas sequências. Uma consulta ao banco de dados de proteínas é então executada usando este perfil, e um grupo maior de proteínas é encontrado. Este grupo maior é usado para construir outro perfil e o processo é repetido. Ao incluir proteínas relacionadas na pesquisa, o PSI-BLAST é muito mais sensível na identificação de relações evolutivas distantes do que um BLAST de proteína-proteína padrão. Proteína de tradução de 6 quadros de nucleotídeo (blastx) Este programa compara os produtos de tradução conceitual de seis quadros de uma sequência de consulta de nucleotídeos (ambas as fitas) com um banco de dados de sequência de proteínas. Tradução de nucleotídeo 6-frame tradução de nucleotídeo 6-frame (tblastx) Este programa é o mais lento da família BLAST. Ele traduz a sequência de nucleotídeos da consulta em todos os seis quadros possíveis e a compara com as traduções de seis quadros de um banco de dados de sequência de nucleotídeos. O objetivo do tblastx é encontrar relações muito distantes entre as sequências de nucleotídeos. Tradução de proteína-nucleotídeo 6-frame (tblastn) Este programa compara uma consulta de proteína com todos os seis quadros de leitura de um banco de dados de sequência de nucleotídeos. Grande número de sequências de consulta (megablast) Ao comparar um grande número de sequências de entrada por meio do BLAST de linha de comando, "megablast" é muito mais rápido do que executar o BLAST várias vezes. Ele concatena muitas sequências de entrada para formar uma grande sequência antes de pesquisar o banco de dados BLAST e, em seguida, analisa os resultados da pesquisa para coletar alinhamentos individuais e valores estatísticos.

Destes programas, BLASTn e BLASTp são os mais comumente usados [ carece de fontes? ] Porque eles usam comparações diretas e não requerem traduções. No entanto, uma vez que as sequências de proteínas são melhor conservadas evolutivamente do que as sequências de nucleotídeos, tBLASTn, tBLASTx e BLASTx, produzem resultados mais confiáveis ​​e precisos ao lidar com DNA codificador. Eles também permitem que seja possível ver diretamente a função da sequência da proteína, uma vez que, ao traduzir a sequência de interesse antes de pesquisar, geralmente você obtém resultados anotados da proteína.

Versões alternativas

Uma versão projetada para comparar grandes genomas ou DNA é BLASTZ .

CS-BLAST ( BLAST específico do contexto) é uma versão estendida do BLAST para pesquisar sequências de proteínas que encontra duas vezes mais sequências remotamente relacionadas que o BLAST na mesma velocidade e taxa de erro. No CS-BLAST, as probabilidades de mutação entre os aminoácidos dependem não apenas de um único aminoácido, como no BLAST, mas também de seu contexto de sequência local. A Washington University produziu uma versão alternativa do NCBI BLAST, chamada WU-BLAST. Os direitos já foram adquiridos à Advanced Biocomputing, LLC.

Em 2009, o NCBI lançou um novo conjunto de executáveis ​​BLAST, o BLAST + baseado em C ++, e lançou versões C até 2.2.26. [16] A partir da versão 2.2.27 (abril de 2013), apenas os executáveis ​​BLAST + estão disponíveis. Entre as mudanças está a substituição do blastallexecutável por executáveis ​​separados para os diferentes programas BLAST e mudanças no tratamento de opções. O utilitário formatdb (baseado em C) foi substituído por makeblastdb (baseado em C ++) e os bancos de dados formatados por qualquer um deles devem ser compatíveis para lançamentos blast idênticos. Os algoritmos permanecem semelhantes, no entanto, o número de ocorrências encontradas e sua ordem podem variar significativamente entre a versão mais antiga e a mais recente. BLAST + desde

Versões aceleradas

TimeLogic oferece uma implementação acelerada por FPGA do algoritmo BLAST chamado Tera-BLAST que é centenas de vezes mais rápido.

Outras versões anteriormente suportadas incluem:

  • Acelerado por FPGA
    • Antes de sua aquisição pela Qiagen , a CLC bio colaborou com a SciEngines GmbH em um acelerador FPGA que eles alegaram fornecer uma aceleração 188x do BLAST.
    • O Mitrion-C Open Bio Project foi um esforço para portar o BLAST para rodar em FPGAs Mitrion .
  • Acelerado por GPU
    • GPU-Blast [17] é uma versão acelerada do NCBI BLASTP para CUDA que é 3x ~ 4x mais rápido do que o NCBI Blast.
    • CUDA-BLASTP [18] é uma versão do BLASTP que é acelerada por GPU e afirma ser executado até 10 vezes mais rápido do que o NCBI BLAST.
    • G-BLASTN [19] é uma versão acelerada do NCBI blastn e megablast, cujo speedup varia de 4x a 14x (em comparação com a mesma execução com 4 threads de CPU). Sua limitação atual é que o banco de dados deve caber na memória da GPU.
  • Acelerado por CPU
    • MPIBlast é uma implementação paralela do NCBI BLAST usando Message Passing Interface . Ao utilizar eficientemente recursos computacionais distribuídos por meio de fragmentação de banco de dados, segmentação de consulta, agendamento inteligente e E / S paralela, o mpiBLAST melhora o desempenho do NCBI BLAST em várias ordens de magnitude enquanto aumenta para centenas de processadores.
    • CaBLAST [20] torna a pesquisa em grandes bancos de dados ordens de magnitude mais rápida, explorando a redundância de dados.
    • O Paracel BLAST foi uma implementação comercial paralela do NCBI BLAST, suportando centenas de processadores.
    • QuickBLAST (kblastp) do NCBI é uma implementação acelerada por pré-filtragem baseada em estimativas de índice Jaccard com fragmentos pentaméricos em hash. A filtragem reduz ligeiramente a sensibilidade, mas aumenta o desempenho em uma ordem de magnitude. [21] O NCBI apenas disponibiliza a pesquisa em sua coleção de proteínas não redundantes (nr) e não oferece downloads.

O predecessor do BLAST, FASTA , também pode ser usado para pesquisas de similaridade de proteínas e DNA. O FASTA fornece um conjunto semelhante de programas para comparar proteínas a bancos de dados de proteínas e DNA, DNA a DNA e bancos de dados de proteínas, e inclui programas adicionais para trabalhar com peptídeos curtos não ordenados e sequências de DNA. Além disso, o pacote FASTA fornece SSEARCH, uma implementação vetorial do rigoroso algoritmo Smith-Waterman . FASTA é mais lento que o BLAST, mas fornece uma gama muito mais ampla de matrizes de pontuação, tornando mais fácil adaptar uma pesquisa a uma distância evolutiva específica.

Uma alternativa extremamente rápida, mas consideravelmente menos sensível ao BLAST é o BLAT ( B last L ike A lignment T ool). Enquanto o BLAST faz uma pesquisa linear, o BLAT depende da indexação do k-mer no banco de dados e, portanto, pode encontrar sementes mais rapidamente. [22] Outra alternativa de software semelhante ao BLAT é o PatternHunter .

Os avanços na tecnologia de sequenciamento no final dos anos 2000 tornaram a busca por correspondências de nucleotídeos muito semelhantes um problema importante. Novos programas de alinhamento adaptados para esse uso geralmente usam indexação BWT do banco de dados de destino (normalmente um genoma). As sequências de entrada podem então ser mapeadas muito rapidamente e a saída é normalmente na forma de um arquivo BAM. Programas de alinhamento de exemplo são BWA , SOAP e Bowtie .

Para a identificação de proteínas, pesquisar por domínios conhecidos (por exemplo, de Pfam ) combinando com modelos de Markov ocultos é uma alternativa popular, como HMMER .

Uma alternativa ao BLAST para comparar dois bancos de sequências é o PLAST. O PLAST fornece um banco de propósito geral de alto desempenho para a ferramenta de busca de similaridade de sequência de banco que conta com os algoritmos PLAST [23] e ORIS [24] . Os resultados do PLAST são muito semelhantes aos do BLAST, mas o PLAST é significativamente mais rápido e capaz de comparar grandes conjuntos de sequências com uma pequena pegada de memória (ou seja, RAM).

Para aplicações em metagenômica, onde a tarefa é comparar bilhões de leituras curtas de DNA contra dezenas de milhões de referências de proteínas, DIAMOND [25] é executado em até 20.000 vezes mais rápido que o BLASTX, enquanto mantém um alto nível de sensibilidade.

O software de código aberto MMseqs é uma alternativa ao BLAST / PSI-BLAST, que melhora as ferramentas de pesquisa atuais em toda a gama de troca de sensibilidade de velocidade, alcançando sensibilidades melhores do que PSI-BLAST em mais de 400 vezes sua velocidade. [26]

Abordagens de computação óptica têm sido sugeridas como alternativas promissoras para as implementações elétricas atuais. OptCAM é um exemplo de tais abordagens e se mostra mais rápido que o BLAST. [27]

Comparando o BLAST e o processo Smith-Waterman

Embora Smith-Waterman e BLAST sejam usados ​​para encontrar sequências homólogas pesquisando e comparando uma sequência de consulta com aquelas nos bancos de dados, eles têm suas diferenças.

Devido ao facto de o BLAST ser baseado num algoritmo heurístico, os resultados recebidos através do BLAST, em termos de acertos encontrados, podem não ser os melhores resultados possíveis, uma vez que não irá fornecer-lhe todos os acertos da base de dados. O BLAST perde partidas difíceis de encontrar.

Uma alternativa melhor para encontrar os melhores resultados possíveis seria usar o algoritmo de Smith-Waterman. Este método varia do método BLAST em duas áreas, precisão e velocidade. A opção Smith-Waterman oferece melhor precisão, pois encontra correspondências que o BLAST não consegue, porque não perde nenhuma informação. Portanto, é necessário para homologia remota. No entanto, quando comparado com o BLAST, é mais demorado, sem falar que requer grande quantidade de uso do computador e espaço. No entanto, descobriu-se que as tecnologias para acelerar o processo Smith-Waterman aumentam drasticamente o tempo necessário para realizar uma pesquisa. Essas tecnologias incluem chips FPGA e tecnologia SIMD .

Para receber melhores resultados do BLAST, as configurações podem ser alteradas de suas configurações padrão. No entanto, não existe uma maneira determinada ou definida de alterar essas configurações a fim de receber os melhores resultados para uma determinada sequência. As configurações disponíveis para alteração são Valor E, custos de lacuna, filtros, tamanho da palavra e matriz de substituição. Observe que o algoritmo usado para o BLAST foi desenvolvido a partir do algoritmo usado para Smith-Waterman. O BLAST emprega um alinhamento que encontra "alinhamentos locais entre sequências ao encontrar correspondências curtas e a partir dessas correspondências iniciais (locais) são criados alinhamentos". [28]

Para ajudar os usuários a interpretar os resultados do BLAST, diferentes softwares estão disponíveis. De acordo com a instalação e uso, recursos de análise e tecnologia, aqui estão algumas ferramentas disponíveis: [29]

  • Serviço NCBI BLAST
  • interpretadores de saída BLAST gerais, baseados em GUI: JAMBLAST, Blast Viewer, BLASTGrabber
  • ambientes BLAST integrados: PLAN, BlastStation-Free, SequenceServer
  • Analisadores de saída do BLAST: MuSeqBox, Zerg, BioParser, BLAST-Explorer
  • ferramentas especializadas relacionadas ao BLAST: MEGAN, BLAST2GENE, BOV, Circoletto

Visualizações de exemplo dos resultados do BLAST são mostradas nas Figuras 4 e 5.

O BLAST pode ser usado para diversos fins. Isso inclui a identificação de espécies, localização de domínios, estabelecimento de filogenia, mapeamento de DNA e comparação.

Identificando espécies Com o uso do BLAST, é possível identificar corretamente uma espécie ou encontrar espécies homólogas. Isso pode ser útil, por exemplo, quando você está trabalhando com uma sequência de DNA de uma espécie desconhecida. Localizando domínios Ao trabalhar com uma sequência de proteína, você pode inseri-la no BLAST, para localizar domínios conhecidos dentro da sequência de interesse. Estabelecendo filogenia Usando os resultados recebidos por meio do BLAST, você pode criar uma árvore filogenética usando a página da web do BLAST. Filogenias baseadas apenas no BLAST são menos confiáveis ​​do que outros métodos filogenéticos computacionais desenvolvidos para esse fim, portanto, devem ser usadas apenas para análises filogenéticas de "primeira passagem". Mapeamento de DNA Ao trabalhar com uma espécie conhecida e procurar sequenciar um gene em um local desconhecido, o BLAST pode comparar a posição cromossômica da sequência de interesse com as sequências relevantes no (s) banco (s) de dados. O NCBI tem uma ferramenta "Magic-BLAST" construída em torno do BLAST para esse propósito. [30] Comparação Ao trabalhar com genes, o BLAST pode localizar genes comuns em duas espécies relacionadas e pode ser usado para mapear anotações de um organismo para outro.

  • Classificador de proteína PSI
  • Algoritmo Needleman-Wunsch
  • Algoritmo Smith-Waterman
  • Alinhamento de sequência
  • Software de alinhamento de sequência
  • Sequerome
  • eTBLAST

  1. ^ "BLAST Developer Information" . blast.ncbi.nlm.nih.gov .
  2. ^ a b c Douglas Martin (21 de fevereiro de 2008). "Samuel Karlin, matemático versátil, morre aos 83" . The New York Times .
  3. ^ RM Casey (2005). "BLAST Sequences Aid in Genomics and Proteomics" . Rede de Business Intelligence.
  4. ^ Lipman, DJ; Pearson, WR (1985). "Pesquisas de similaridade proteína rápidos e sensíveis". Ciência . 227 (4693): 1435–41. Bibcode : 1985Sci ... 227.1435L . doi : 10.1126 / science.2983426 . PMID  2983426 .
  5. ^ "Tópicos do BLAST" .
  6. ^ Dan Stober (16 de janeiro de 2008). "Sam Karlin, matemático que melhorou a análise de DNA, morto aos 83" . Stanford.edu .
  7. ^ a b Stephen Altschul ; Warren Gish ; Webb Miller ; Eugene Myers ; David J. Lipman (1990). "Ferramenta básica de pesquisa de alinhamento local" . Journal of Molecular Biology . 215 (3): 403–410. doi : 10.1016 / S0022-2836 (05) 80360-2 . PMID  2231712 .
  8. ^ Oehmen, C .; Nieplocha, J. (2006). "ScalaBLAST: uma implementação escalonável do BLAST para análise de bioinformática intensiva em dados de alto desempenho" . Transações IEEE em Sistemas Paralelos e Distribuídos . 17 (8): 740. doi : 10.1109 / TPDS.2006.112 . S2CID  11122366 .
  9. ^ Oehmen, CS; Baxter, DJ (2013). "ScalaBLAST 2.0: Cálculos BLAST rápidos e robustos em sistemas multiprocessadores" . Bioinformática . 29 (6): 797–798. doi : 10.1093 / bioinformática / btt013 . PMC  3597145 . PMID  23361326 .
  10. ^ "Sentido de sequências: Stephen F. Altschul em Bettering BLAST" . ScienceWatch. Julho – agosto de 2000. Arquivado do original em 7 de outubro de 2007.
  11. ^ Steven Henikoff ; Jorja Henikoff (1992). "Matrizes de substituição de aminoácidos de blocos de proteínas" . PNAS . 89 (22): 10915–10919. Bibcode : 1992PNAS ... 8910915H . doi : 10.1073 / pnas.89.22.10915 . PMC  50453 . PMID  1438297 .
  12. ^ Mount, DW (2004). Bioinformatics: Sequence and Genome Analysis (2ª ed.). Cold Spring Harbor Press. ISBN 978-0-87969-712-9.
  13. ^ Adaptado de Biological Sequence Analysis I, Current Topics in Genome Analysis [1] .
  14. ^ Yim, WC; Cushman, JC (2017). "Divide and Conquer (DC) BLAST: execução rápida e fácil do BLAST em ambientes HPC" . PeerJ . 5 : e3486. doi : 10.7717 / peerj.3486 . PMC  5483034 . PMID  28652936 .
  15. ^ "Tabelas de seleção de programas do site Blast NCBI" .
  16. ^ Camacho, C .; Coulouris, G .; Avagyan, V .; Homem.; Papadopoulos, J .; Bealer, K .; Madden, TL (2009). "BLAST +: Arquitetura e aplicações" . BMC Bioinformatics . 10 : 421. doi : 10.1186 / 1471-2105-10-421 . PMC  2803857 . PMID  20003500 .
  17. ^ Vouzis, PD; Sahinidis, NV (2010). "GPU-BLAST: usando processadores gráficos para acelerar o alinhamento da sequência de proteínas" . Bioinformática . 27 (2): 182–8. doi : 10.1093 / bioinformática / btq644 . PMC  3018811 . PMID  21088027 .
  18. ^ Liu W., Schmidt B., Müller-Wittig W. (2011). "CUDA-BLASTP: acelerando BLASTP em hardware gráfico habilitado para CUDA". IEEE / ACM Trans Comput Biol Bioinform . 8 (6): 1678–84. doi : 10.1109 / TCBB.2011.33 . PMID  21339531 . S2CID  18221547 .
  19. ^ Zhao K, Chu X (maio de 2014). "G-BLASTN: acelerando o alinhamento de nucleotídeos por processadores gráficos" . Bioinformática . 30 (10): 1384–91. doi : 10.1093 / bioinformática / btu047 . PMID  24463183 .
  20. ^ Loh PR, Baym M, Berger B (julho de 2012). "Genômica compressiva" . Nat. Biotechnol . 30 (7): 627–30. doi : 10.1038 / nbt.2241 . PMID  22781691 .
  21. ^ Madden, Tom; Boratyn, Greg (2017). "QuickBLASTP: Faster Protein Alignments" (PDF) . Anais do NIH Research Festival . Página visitada em 16 de maio de 2019 . Página de resumo
  22. ^ Kent, W. James (01-04-2002). "BLAT - a ferramenta de alinhamento semelhante ao BLAST" . Genome Research . 12 (4): 656–664. doi : 10.1101 / gr.229202 . ISSN  1088-9051 . PMC  187518 . PMID  11932250 .
  23. ^ Lavenier, D .; Lavenier, Dominique (2009). "PLAST: ferramenta de pesquisa de alinhamento local paralelo para comparação de banco de dados" . BMC Bioinformatics . 10 : 329. doi : 10.1186 / 1471-2105-10-329 . PMC  2770072 . PMID  19821978 .
  24. ^ Lavenier, D. (2009). "Algoritmo de semente de índice ordenado para comparação de sequência de DNA intensiva" (PDF) . Simpósio Internacional IEEE 2008 sobre Processamento Paralelo e Distribuído (PDF) . pp. 1–8. CiteSeerX  10.1.1.155.3633 . doi : 10.1109 / IPDPS.2008.4536172 . ISBN 978-1-4244-1693-6. S2CID  10804289 .
  25. ^ Buchfink, Xie e Huson (2015). "Alinhamento de proteínas rápido e sensível usando DIAMOND". Métodos da natureza . 12 (1): 59–60. doi : 10.1038 / nmeth.3176 . PMID  25402007 . S2CID  5346781 .
  26. ^ Steinegger, Martin; Soeding, Johannes (2016-10-16). "MMseqs2 permite a busca de sequência de proteína sensível para a análise de conjuntos de dados massivos". Nature Biotechnology . 35 (11): 1026–1028. doi : 10.1038 / nbt.3988 . hdl : 11858 / 00-001M-0000-002E-1967-3 . PMID  29035372 . S2CID  402352 .
  27. ^ Maleki, Ehsan; Koohi, Somayyeh; Kavehvash, Zahra; Mashaghi, Alireza (2020). "OptCAM: uma arquitetura totalmente ótica ultrarrápida para a descoberta de variantes de DNA" . Journal of Biophotonics . 13 (1): e201900227. doi : 10.1002 / jbio.201900227 . PMID  31397961 .
  28. ^ "Bioinformatics Explained: BLAST versus Smith-Waterman" (PDF) . 4 de julho de 2007.
  29. ^ Neumann, Kumar e Shalchian-Tabrizi (2014). "Visualização da saída BLAST na nova era do sequenciamento" . Briefings em Bioinformática . 15 (4): 484–503. doi : 10.1093 / bib / bbt009 . PMID  23603091 .
  30. ^ "NCBI Magic-BLAST" . ncbi.github.io . Página visitada em 16 de maio de 2019 .

  • Website oficial
  • BLAST + executáveis - downloads de código-fonte gratuitos

Última postagem

Tag