Вывод из BlastP с использованием NCBIWWW не то, что я ожидал

Я пытаюсь получить результаты blastP для конкретного белка, используя NCBIWWW. Проблема в том, что то, что отправляется обратно, не является тем, что я распознаю как данные выравнивания, я получаю вот что (это содержимое "Blast_record" в исходном коде); Я использую код, полученный из "Учебника и поваренной книги по BioPython", я искал его и Интернет в поисках источника ошибки, но просто не могу его найти. Мой исходный код таков;

# biopython
from Bio import SeqIO
from Bio.Blast import NCBIWWW
from Bio.Blast import NCBIXML

# first get the sequence we want to parse from a FASTA file
# f_record = next(SeqIO.parse('m_cold.fasta', 'fasta'))

print('Doing the BLAST and retrieving the results...')
result_handle = NCBIWWW.qblast('blastp', 'tsa', '365176198')

# save the results for later, in case we want to look at it
save_file = open('m_cold_blast.out', 'w')
blast_results = result_handle.read()
save_file.write(blast_results)
save_file.close()

Полученный файл:

<?xml version="1.0"?>
<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd">
<BlastOutput>
<BlastOutput_program>blastp</BlastOutput_program>
<BlastOutput_version>BLASTP 2.2.31+</BlastOutput_version>
<BlastOutput_reference>Stephen F. Altschul, Thomas L. Madden, Alejandro A. Sch&amp;auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), &quot;Gapped BLAST and PSI-BLAST: a new generation of protein database search programs&quot;, Nucleic Acids Res. 25:3389-3402.</BlastOutput_reference>
<BlastOutput_db>tsa</BlastOutput_db>
<BlastOutput_query-ID>gi|365176198|gb|AEW67975.1|</BlastOutput_query-ID>
<BlastOutput_query-def>polyprotein [Black queen cell virus]    </BlastOutput_query-def>
<BlastOutput_query-len>171</BlastOutput_query-len>
<BlastOutput_param>
<Parameters>
  <Parameters_matrix>BLOSUM62</Parameters_matrix>
  <Parameters_expect>10</Parameters_expect>
  <Parameters_gap-open>11</Parameters_gap-open>
  <Parameters_gap-extend>1</Parameters_gap-extend>
  <Parameters_filter>F</Parameters_filter>
</Parameters>
</BlastOutput_param>
<BlastOutput_iterations>
<Iteration>
<Iteration_iter-num>1</Iteration_iter-num>
<Iteration_query-ID>gi|365176198|gb|AEW67975.1|</Iteration_query-ID>
<Iteration_query-def>polyprotein [Black queen cell virus]</Iteration_query-def>
<Iteration_query-len>171</Iteration_query-len>
<Iteration_hits>
</Iteration_hits>
<Iteration_stat>
<Statistics>
  <Statistics_db-num>0</Statistics_db-num>
  <Statistics_db-len>0</Statistics_db-len>
  <Statistics_hsp-len>0</Statistics_hsp-len>
  <Statistics_eff-space>0</Statistics_eff-space>
  <Statistics_kappa>-1</Statistics_kappa>
  <Statistics_lambda>-1</Statistics_lambda>
  <Statistics_entropy>-1</Statistics_entropy>
</Statistics>
</Iteration_stat>
</Iteration>
</BlastOutput_iterations>
</BlastOutput>

Теперь, если я выполняю поиск с использованием BlastN и нуклеотидной последовательности белка, использованного выше, я получаю все совпадающие последовательности, их значения E, баллы и т. Д. Так почему же это не так при использовании BlastP?

Я очень плохо знаком с Python и Biopython, и за всю свою жизнь я не могу понять, что я делаю неправильно.

2 ответа

QUERY 365176198 - это белок

Базы данных нуклеотики

Что такое база данных Transcriptome Shotgun Assembly (TSA)?

TSA - это архив вычислительно собранных последовательностей из первичных данных, таких как EST, трассировки и технологии секвенирования следующего поколения. Перекрывающиеся последовательности считываний из полного транскриптома собираются в транскрипты вычислительными методами вместо традиционного клонирования и секвенирования клонированных кДНК.

Доступны ли последовательности TSA поиском BLAST?

Доступна база данных BLAST Transcriptome Shotgun Assembly (TSA). Последовательности были первоначально включены в NT, но теперь были выделены в отдельную базу данных. База данных TSA доступна на домашней странице BLAST в разделе Basic BLAST по ссылкам нуклеотидов, tblastn и tblastx. Эти последовательности не доступны в NT.

BLAST FLAVORS

BLASTP: 
     сравнивает аминокислотную последовательность запроса с последовательностью белка
     база данных

blastn: сравнивает последовательность запроса нуклеотидов с нуклеотидом 
     база данных последовательностей

blastx: сравнивает последовательность запроса нуклеотидов, переведенную во все 
     рамки считывания с базой данных последовательностей белков

tblastn: сравнивает последовательность запроса белка с нуклеотидом 
     база данных последовательностей динамически транслируется во все рамки чтения

tblastx: сравнивает шестикадровые переводы нуклеотидного запроса
     последовательность против шестикадровых трансляций нуклеотида 
     база данных последовательностей. Обратите внимание, что программа tblastx не может быть 
     используется с базой данных nr на веб-странице BLAST.

ВРУЧНУЮ ОТВЕТ

ввод взрыва вручную

выходной взрыв вручную

БИОПИТОН ОТВЕТ

вы должны использовать "tsa_nt" вместо "tsa" и "tblastn" вместо "blastp"

query = '365176198'
#note: this may take several minutes
result_handle = NCBIWWW.qblast('tblastn', 'tsa_nt', query, format_type="Text")

ты получаешь:

....... Оценка E Последовательности, приводящие к значительным выравниваниям:                       (биты) Значение gb|GAZV01037943.1|  Apis mellifera comp13466_c0_seq1 транскрибируют...  342     4e-105
gb|GAZF01116856.1|  Essigella californica C629542 расшифровывается...  179     1e-54 
gb|GBYB01008381.1|  Fopius arisanus c20283_g1_i1 транскрибировал R...  149     2e-37 
gb|GAUO01000423.1|  Velia caprai s423_L_1942_0 транскрибировал РНК...  58,9    3e-07 
gb|GAXG01028220.1|  Gynaikothrips ficorum s28263_L_292921_0 tr...  57,0    9e-07 
gb|GAWP01023404.1|  Grylloblatta bifratrilecta s23438_L_295244...  52,8    4e-05 
gb|GAWZ01143177.1|  Gryllotalpa sp. AD-2013 C589197 транскрибировать... 45,4 0,002 Гб |GAXW01013938.1|  Euroleon nostras s13984_L_116369_0 transcr...  45.8    0.006 
gb|GAXC01050700.1|  Thrips palmi C235436 транскрибируется с последовательностью РНК 42,0 0,017 гб |GAXH01037906.1|  Parides eurimedes C235744 транскрибировал РНК... 40,4 0,069 ГБ |GBES01007135.1|  Dichelops melacanthus Locus_17334_Transcri...  39,7 0,18 Гб |GBXI01014067.1|  Bactrocera cucurbitae c16593_g1_i1 transcr...  40,4 0,49 Гб |GAMC01001920.1|  Capitata Ceratitis comp55379_c0_seq1 мРНК... 40,4 0,49 ГБ |GARL01030594.1|  Spodoptera exigua SEUC25635_TC01 транскрибируют... 39,7 0,88 ГБ |GAZS01034153.1|  Acanthoscurria geniculata L2169_T1/2_Turan...  38,5 2,1   
gb|GAZS01034154.1|  Acanthoscurria geniculata L2170_T2/2_Turan...  38,5 2,1 Гб |GAYD01030921.1|  Blaberus atropos s30958_L_499964_0 transcr...  38,5 2,2 Гб |GAZR01021123.1|  Stegodyphus mimosarum L19863_T1/1_Velvet_W...  36,2 3,0 Гб |GBCX01022664.1|  Dastarcus helophoroides Unigene14575 trans...  37,7 3,8 Гб |GAYF01148415.1|  Nilaparvata lugens C730037 транскрибируется РНК... 37,7 4,5 Гб |GAMK01054259.1|  Phaseolus vulgaris Ref_259_comp8866_c0_seq...  37,0 8,5 Гб |EZ343106.1|  Artemisia annua штамм Уганда Contig10322.Uhm ...  35,8 8,9 ВЫРАВНИВАНИЯ>gb|GAZV01037943.1| TSA: последовательность транскрибированной РНК Apis mellifera comp13466_c0_seq1 Длина =6998 баллов = 342 бита (878), ожидаемое = 4e-105, метод: корректировка композиционной матрицы. Тождества = 164/168 (98%), Положительных = 167/168 (99%), Пробелы = 0/168 (0%) Рама = +2 Запрос 4     YALYRGGVRVKVVTGRGVDFVRATVSPQQTYGSEVAPTTHISTPLAIEQIPIKGVAEFQI  63
             YALYRGGVRVKVVT +GVDFVRATVSPQQTYGS+VAPTTHISTPLAIEQIPIKGVAEFQI
Sbjct  6317  YALYRGGVRVKVVTEKGVDFVRATVSPQQTYGSDVAPTTHISTPLAIEQIPIKGVAEFQI  6496 Запрос 64    PYYAPCLSSSFRANSETFYYSSGRNNLDIATSPPSINRYYAVGAGDDMDFSIFIGTPPCI  123
             PYYAPCLSSSFRANSETFYYSSGRNNLDI+TSPPSINRYYAVGAGDDMDFSIFIGTPPCI
Sbjct  6497  PYYAPCLSSSFRANSETFYYSSGRNNLDISTSPPSINRYYAVGAGDDMDFSIFIGTPPCI  6676

.......

Я заметил, что ваш выходной файл заканчивается на.out. Попробуйте сохранить его в файл XML, и он отобразит их в красивые столбцы. В первой строке выходного файла вы увидите "? Xml. Функция qBLAST использует XML по умолчанию и также имеет необязательный аргумент для "текста", хотя форматирование - это кошмар.

Также верно, что blastp и tsa - это разные базы данных. Модуль qblast имеет некоторую встроенную справку, которая может помочь с различными аргументами, к которым можно получить доступ с помощью этого.

>>> from Bio.Blast import NCBIWWW
>>> help(NCBIWWW.qblast)

(Я бы запустил ваш код, но у qBLAST есть проблемы прямо во время написания этой статьи)

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