Entendendo o BLAST (parte III): O BLAST por linha de comando

Giuli Marques
omixdata
Published in
5 min readMay 12, 2021

Olá pessoal! Hoje seguimos com a série de posts sobre o BLAST. Na parte I foram apresentados os tipos de BLAST e como são realizadas as análises pelo algoritmo. Já na parte II, apresentamos como utilizar o web BLAST para realizar análises e como interpretar os resultados. Neste post, trago um tutorial de como instalar e utilizar o BLAST por linha de comando.

Por que utilizar o BLAST por linha de comando?

O NCBI disponibiliza um pacote com ferramentas do BLAST, chamado de BLAST+, para que se possa utilizar essas ferramentas sem a necessidade de utilizar o servidor online. Isto é útil caso o pesquisador possua um volume muito grande de dados ou ainda tenha dados próprios, que ainda não estão disponibilizados para a comunidade ou que não podem ser.

A utilização do BLAST por linha de comando ainda pode ser preferencial no caso de desenvolvedores de softwares ou para utilização de pipelines. Dentro do pacote disponibilizado pelo NCBI são encontradas a maioria das funcionalidades disponíveis através da plataforma online, preservando uma utilização similar.

Pacote NCBI/BLAST+

São listados abaixo algumas das principais ferramentas disponíveis no pacote NCBI/BLAST+. Para mais informações sobre as ferramentas, clique aqui.

makeblastdb: Responsável por criar os bancos de dados para o BLAST com as sequências enviadas. É necessário para realização dos alinhamentos, caso não sejam utilizados os bancos de dados disponibilizados no site do NCBI.

blastn: Realiza alinhamento entre sequências de nucleotídeos. O banco de dados deve conter sequências de nucleotídeos, assim como a sequência query.

blastp: Realiza alinhamento entre sequências de proteínas. O banco de dados deve conter sequências de proteínas, assim como a sequência query.

blastx: Realiza o alinhamento de sequências de nucleotídeos contra sequências de proteínas, ou seja, o banco de dados possui sequências proteicas e a query é uma sequência de nucleotídeos. Para isso, a sequência de nucleotídeos é traduzida, simultaneamente, nos 6 frames de leitura.

tblastn: Realiza o alinhamento entre uma sequência proteica contra um banco de dados traduzido. O banco de dados, originalmente de nucleotídeos, é traduzido dinamicamente utilizando os 6 frames de leitura.

tblastx: Realiza o alinhamento entre uma sequência de nucleotídeos traduzida contra um banco de dados de nucleotídeos, também dinamicamente traduzida. Tanto a sequência query, quanto o banco de dados é traduzido nos 6 frames de leitura.

Como instalar o pacote NCBI/BLAST+

Existem diferentes maneiras de realizar a instalação do BLAST. Vou abordar algumas das mais corriqueiras, para mais informações você pode acessar o manual disponível no site do NCBI.

Para realizar a instalação do pacote, em sistemas linux, deve-se utilizar o seguinte comando:

$sudo apt-get install ncbi-blast+

Caso você tenha realizado a instalação do BLAST através de alguma outra ferramenta, você pode utilizar os comandos a seguir para baixar a versão atualizada do pacote:

$wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.11.0+-x64-linux.tar.gz
$tar -xvf ncbi-blast-2.11.0+-x64-linux.tar.gz

É possível que você tenha que modificar a localização dos arquivos do BLAST para que seja possível a execução dos comandos pela ferramenta. Estas informações geralmente estão contidas no arquivo README.md que vem junto com a ferramenta.

Criando o banco de dados

Para utilização do BLAST pela linha de comando é necessário criar o banco de dados que será utilizado para o alinhamento. Existem alguns bancos de dados disponíveis no NCBI, mas também é possível criar o seu próprio banco de dados.

Para criar o seu banco de dados, é necessário utilizar os seguintes comandos:

$cat *.fasta > data_base.fasta
$makeblastdb -dbtype prot -in data_base.fasta -out db

O comando cat une todos arquivos com formato FASTA disponíveis naquele diretório em um arquivo único, neste caso o arquivo “data_base.fasta”. O comando makeblastdb é utilizado para criar o banco de dados. É passado o arquivo gerado com o comando cat, que possui todas sequências que serão utilizadas para criação do banco de dados em um único arquivo, e é retornado o banco de dados no formato utilizado pelo NCBI. Esta etapa é crucial, pois ela prepara os arquivos para que sejam utilizados no alinhamento.

Realizando o alinhamento

Para realizar o alinhamento através do BLASTp é utilizado o comando:

$blastp -query genoma.faa -db db -out resultados_genome.txt

Neste caso, estamos utilizando o BLASTp, já que temos dados de proteínas. É informada uma query que, como no web BLAST, é a sequência que será comparada com o banco de dados. São informados, ainda, o banco de dados a ser utilizado, neste caso o banco de dados criado com os arquivos FASTA anteriormente, e um nome para o arquivo de saída.

Executando a análise

O Notebook do Google Colab com os códigos de exemplo está disponível abaixo. O download de todos arquivos utilizados é realizado através deste link.

Interpretando os resultados

Como resultado da análise, foi retornado um arquivo de texto. Assim como demonstrado no web BLAST, são observados: Score, E-value, Identities e gaps. No arquivo de resultado, são observadas quatro regiões distintas. A primeira região traz as informações de versão e referências da ferramenta utilizada.

Na segunda região é possível observar a sequência query utilizada e os melhores alinhamentos. Aqui são mostrados os valores de score e E-value para cada um deles. O score, aqui representado em bits, é a quantificação do alinhamento. Quanto maior o score, mais similar às sequências do banco de dados a query é. Já o E-value demonstra a possibilidade do alinhamento ter sido realizado ao acaso. Quanto mais próximo ao zero o valor for, mais confiabilidade pode se ter no alinhamento.

Na terceira região são observados os detalhes dos alinhamentos realizados pelo programa. Nesta área são mostrados os resultados de score, E-value (Expect), identities e gaps. Identities diz respeito ao número de matches do alinhamento, que é quando as sequências possuem o mesmo nucleotídeo ou um mesmo resíduo na mesma localização. E gaps são espaços adicionados pelo algoritmo por não haver similaridade naquela região. Quanto maior o número de gaps adicionados, menor será o score daquele alinhamento.

Como última região do documento, é possível observar a matriz utilizada, neste caso a BLOSUM62, e os valores utilizados pelo algoritmo para a adição e/ou extensão de gaps.

Vimos neste post como realizar uma análise do BLAST por linha de comando e como interpretar seus resultados. Assim como comentado no post anterior, existem diferentes maneiras de rodar o BLAST e os parâmetros variam com o tipo de análise. Neste tutorial foi demonstrado como realizar uma análise com o BLASTp pela linha de comando, por exemplo.

Gostaria de agradecer à Amanda Munari Guimarães, escritora aqui do omixdata também, pelo auxílio com o código e com as sequências disponibilizadas neste tutorial.

Gostou do post? Já realizou análises do BLAST por linha de comando ou gostaria de sugerir algum assunto? Deixa nos comentários!

--

--

Giuli Marques
omixdata

Técnica em química, pelo IFSUL. Biotecnologista, pela UFPEL. Mestranda do PPGBiotec na UFPEL.