BLAST через Biopython NCBIWWW. Где я могу найти полный список баз данных?

Я использую модуль Biopython module NCBIWWW, чтобы запустить некоторые последовательности онлайн. Я хотел бы сравнить свои последовательности с различными доступными базами данных, однако я не могу найти их полный список.

Вот пример простого запроса к базе данных коллекции нуклеотидов с использованием алгоритма «blastn».

from Bio.Blast import NCBIWWW

result_handle = NCBIWWW.qblast("blastn", "nt", some_sequence)

Как видите, коллекция нуклеотидов базы данных указана как «nt». На что мне заменить «nt», если я хочу, например, запросить базу данных Human GRCh37/hg19? А если я захочу запросить другие виды/сборки? Есть ли доступный исчерпывающий список, где я могу найти короткие названия всех баз данных, доступных на http://blast.ncbi.nlm.nih.gov ?

Спасибо!


person alec_djinn    schedule 06.02.2015    source источник


Ответы (2)


Просмотрев документацию biopython в коде по адресу https://github.com/biopython/biopython/blob/master/Bio/Blast/NCBIWWW.py кажется, что он запрашивает этот API http://www.ncbi.nlm.nih.gov/BLAST/Doc/urlapi.html

(...) Эта функция не проверяет правильность параметров и передает значения на сервер как есть. Дополнительная помощь доступна по адресу: http://www.ncbi.nlm.nih.gov/BLAST/Doc/urlapi.html

Как видите, biopython позволяет вам запрашивать/анализировать все аспекты этого API, включая запись «DATABASE». Теперь проблема, которая на самом деле является вашим вопросом, заключается в том, каково короткое имя для вашей базы данных, чтобы оно распознавалось API. Документация API невелика, поэтому у них нет никакого списка с допустимыми именами БД (что полностью не зависит от биопитонов).

Я нашел эти списки на ebi, которые, хотя и не решают проблему, похоже, помогают.

http://www.ebi.ac.uk/Tools/sss/ncbiblast/help/index-нуклеотид.html http://www.ebi.ac.uk/Tools/sss/ncbiblast/help/index-protein.html

Другим подходом было бы посмотреть, как они называют свои базы данных в общедоступном ftp ftp://ftp. .ncbi.nlm.nih.gov/blast/db/

Надеюсь это поможет. Фабио

person Fábio Madeira    schedule 07.04.2015
comment
Привет Фабио, спасибо за ваш ответ. Предоставленные вами списки очень близки к тому, что я ищу. К сожалению, я все еще не могу получить доступ к базам данных, как хотелось бы. В [веб-форме BLAST] (blast.ncbi. nlm.nih.gov/), например, есть возможность выбрать между эталонным геномом человека GECh37 и GRCh38. Я ожидаю, что смогу сделать то же самое с помощью API, но я не могу найти, как указать правильную базу данных/геномную сборку, также в опубликованном вами списке нет указаний на разные сборки. - person alec_djinn; 09.04.2015
comment
@alec_djinn Один из немного более сложных подходов — проверять http-запрос, когда вы делаете взрыв в Интернете. Затем узнайте, как они составляют свои данные формы и результирующий закодированный URL-адрес. Вы можете сделать это с помощью инструментов разработчика в Chrome. Проверьте этот пример i.imgur.com/JGgMKWH.png?1 и дайте мне знать это вам нужна помощь. Я предполагаю, что имена их баз данных должны быть одинаковыми, и поэтому он будет работать с биопитоном. Фабио - person Fábio Madeira; 09.04.2015
comment
Интересно! Я попробую и дам вам знать. - person alec_djinn; 09.04.2015
comment
@FábioMadeira Ваш последний комментарий действительно полезен. Можете ли вы добавить это к своему ответу и сделать его более заметным? - person Hielke Walinga; 09.07.2018

Вы можете просто перейти на http://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=tblastn&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome и щелкните раскрывающийся список баз данных, и вы найдете там имена баз данных, например, nr, nt, est и т. д.

Попробуйте http://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastSearch&PROG_DEF=blastn&BLAST_PROG_DEF=megaBlast&BLAST_SPEC=OGP__9606__9558 для генома человека.

person Sharif Mamun    schedule 06.02.2015
comment
Да, но это работает для некоторых баз данных, что, если мне нужен геном человека hg19? - person alec_djinn; 08.02.2015
comment
Обновил ответ @alec_djinn - person Sharif Mamun; 12.02.2015
comment
Это хорошо работает с веб-сайта, мой вопрос: как получить тот же запрос (геном человека GRCh37) с помощью NCBIWWW? Какую строку мне нужно поставить вместо nt в вызове функции? NCBIWWW.qblast("blastn", "Genome (GRCh37.p13 reference assembly top-level, Annotation Release 105) - Homo sapiens", fasta_string) не работает... - person alec_djinn; 13.02.2015
comment
Тогда создайте локальную БД самостоятельно! - person Sharif Mamun; 13.02.2015
comment
Я предполагаю, что ответ на мой вопрос заключается в том, что нет способа — по крайней мере, используя Biopython — запрашивать BLAST так же, как это возможно сделать с веб-формой. - person alec_djinn; 14.02.2015