Blast+ Local Configuration: Как настроить базы данных nt и nr?

Я настраиваю Blast+ на моем mac (os sierra) и у меня возникают проблемы с настройкой баз данных nr и nt, которые я также скачал локально. Я пытаюсь следовать инструкциям NCBI и зацикливаюсь на шагах настройки и выполнения примера.

Они говорят, чтобы изменить мой.bash_profile, чтобы он сказал:

export PATH=$PATH:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/ncbi-blast-2.6.0+/bin

Это прекрасно работает, и они говорят, что настроить путь для BLASTDB "аналогично", но к файлу, где будет моя БД, поэтому я сделал это:

export BLASTDB=$BLASTDB:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/blastdb/nt.00

где указана точная папка, которую я получил, когда разархивировал файл nt tar с их FTP. С этим путем, если я запускаю команду...

blastn -query test_query.fa -db nt.00 -task blastn -outfmt "7 qseqid sseqid evalue bitscore" -max_target_seqs 5

затем он запускается успешно, и я получаю результаты, но меня беспокоит, что они проверяются только по разделу nt.00 всего файла базы данных nt.00, особенно потому, что если я запускаю свою последовательность test_query.fa в Web Blast, я получить разные результаты.

Кроме того, в их инструкциях говорится, что путь должен указывать только на папку, содержащую всю папку базы данных nt.00, из разархивированного tar-файла, а не сам конкретный nt.00, который в моем случае был бы просто "blastdb/" (в отличие от "blastdb/nt.00/", который затем содержит nt.00.nhd, nt.00.nal и т. д.). Это имеет смысл, потому что, когда я работаю, я хочу иметь возможность взрывать в базе данных nt, а также в nr и т. Д., Изменяя флаг -db в моей команде, и не должно быть проблем с их наличием. все в этой папке, верно? Но если мне нужно указать путь для BLASTDB с добавленной в конец базы данных nt.00, как я могу использовать nr.00 в той же папке (blastdb/)? По сути, я хочу сделать, как говорится в инструкции, и просто иметь это:

export BLASTDB=$BLASTDB:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/blastdb/

И затем, в зависимости от того, какую базу данных я хочу использовать, я могу просто сказать это после флага -db в моей команде. Но когда я делаю путь, как показано выше, это дает мне эту ошибку:

BLAST Database error: No alias or index file found for nucleotide database [nt] in search path [/Users/LJStout::/Users/LJStout/Documents/Luke/Research/Pedulla 17-18/blast/blastdb:]

Я попытался выполнить ту же самую команду blastn сверху и поменять местами "nt" на "nt.00", и попробовал эти команды с путем для BLASTDB, оканчивающимся на "blastdb /" и "blastdb/nt" и, конечно, "blastdb/nt.00", который работает без ошибок.

Вот пример другого потока, который я прочитал, где ОП беспокоится о том, что его исполнения не проверяют всю папку nt.00, однако это отличалось от моей проблемы.

Спасибо за помощь!

1 ответ

Решение

Вся эта проблема сводилась к тому, что файлы nt.00 и nr.00, исходные папки, полученные в результате распаковки их соответствующих.tar.gz, в одной родительской папке, когда их содержимое должно находиться в одной родительской папке. Я просто удалил папки, в которые они вошли, и скопировал содержимое в моего нового единственного родителя. Я был немного введен в заблуждение инструкциями, это была простая ошибка. Теперь у меня есть одна папка, blastdb/ он содержит все содержимое каждой базы данных, которую я планирую использовать, включая nt, nr и refseq.

Другие вопросы по тегам