我偶然发现了Genbank格式的文件(此处显示为最小的虚拟示例),其中包含一个嵌套的功能:
FEATURES Location/Qualifiers
xxxx_domain complement(complement(1..145))
这样的功能崩溃了当前的Biopython Genbank解析器(1.59版本),但它显然没有在之前的版本中(例如1.55)。显然这种行为已经在1.57(见下面的评论)。
从Biopython bugtracker中,似乎旧的locationparser代码在1.56中被删除了:
我可以从ftp://ftp.ncbi.nih.gov/genbank/gbrel.txt和http://www.insdc.org/documents/feature_table.html#3.4.2的格式说明中推断出这种情况,这很可能无效。 (但请参阅下面的评论)。
有人可以对此发表评论。即这是Biopython中的故障还是Genbank文件的格式?
完整的演示文件:
LOCUS XXXXXXXXXXXXXX 240 bp DNA circular 17-JAN-2012
DEFINITION xxxxxx.
KEYWORDS xx.
SOURCE
ORGANISM
FEATURES Location/Qualifiers
xxxx_domain complement(complement(1..145))
/vntifkey="1"
/label=A label
/note="A note"
BASE COUNT 75 a 57 c 42 g 66 t
ORIGIN
1 tttacaaaac gcattttcaa accttgggta ctaccccctt ttaaatatcc gaatacacta
61 ataaacgctc tttcctttta ggtaaacccg ccaatatata ctgatacaca ctgatagttt
121 aaactagatg cagtggccga ccatcagatc tagtaggaaa cagctatgac catgattacg
181 cattacttat ttaagatcaa ccgtaccagt ataccctgcc agcatgatgg aaacctccct
//
显示错误的最小演示程序(假设安装了Biopython 1.59和Python 2.7,并且上述文件可用作“test.gb”:
#!/usr/bin/env python
from Bio import SeqIO
s = SeqIO.read(open("test.gb")), "r"), "genbank")
这与
崩溃 raise LocationParserError(location_line)
Bio.GenBank.LocationParserError: complement(1..145)
答案 0 :(得分:1)
我认为这是一个无效的位置。这是来自NCBI文件还是其他地方?
请注意,对于Biopython 1.60(下一版本),我们计划将错误的位置视为警告,而不是停止解析的错误。