次のようなネストされた機能を含む Genbank 形式のファイル (最小限のダミーの例としてここに示されています) を偶然見つけました。
FEATURES Location/Qualifiers
xxxx_domain complement(complement(1..145))
このような機能は、現在の Biopython Genbank パーサー (1.59 リリース) をクラッシュさせますが、以前のリリース (1.55 など) ではクラッシュしなかったようです。どうやら、この動作は 1.57 で既に行われていたようです (以下のコメントを参照)。
Biopython バグトラッカーによると、古い 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)