如何解决使用 biopython 从 genbank 文件中获取特征时出现 KeyError
我对 python 很陌生,但我一直在用它从 genbank 文件中提取基因序列。问题是有时我会得到我想要的输出(将序列打印到文件),有时它会返回一个关键错误。这取决于我使用的是哪个加入。有谁知道为什么有时可能会出现关键错误?我认为这可能与 genbank 记录本身有关,但它们看起来非常相似并且基因在那里(在基因特征限定符中)。 EG 适用于 HG738867.1,但不适用于 AP019703.1。 这是我的代码 -
#ifdef __cpp_lib_filesystem
# include <filesystem>
namespace fs = std::filesystem;
#else
# include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
#endif
这是回溯 -
from Bio import Entrez,SeqIO
gi_genome = 'accession'
name = 'acrA'
Entrez.email = 'email'
handle = Entrez.efetch(db="nucleotide",id=gi_genome,rettype="gbwithparts",retmode="text")
record = SeqIO.read(handle,"gb")
handle.close()
element = 0
for feature in record.features:
if feature.type == 'CDS' and name in feature.qualifiers["gene"]:
report = 'record.features[%s]' % str(element)
gene_sequence = feature.extract(record.seq)
with open('output.fasta','a') as f:
print('>' + gi_genome + ' ' + name,file=f)
print(gene_sequence,file=f)
break
else:
element = element + 1
提前致谢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。