我正在处理NCBI核苷酸数据库中的细菌序列。如果我有加入,例如NC_002663,我需要GFF中的注释,我如何使用Entrez(最好是Biopython)轻松地做到这一点?
如果我转到NCBI DOM Tree,则会看到该程序集的链接。有没有一种简单的方法可以通过编程方式访问它?简易服务不会返回此类链接:
handle = Entrez.esummary(db='nucleotide', id='NC_002663')
record = Entrez.read(handle)
[DictElement({'Item': [], 'Id': '15601865', 'Caption': 'NC_002663', 'Title': 'Pasteurella multocida subsp. multocida str. Pm70, complete genome', 'Extra': 'gi|15601865|ref|NC_002663.1|[15601865]', 'Gi': IntegerElement(15601865, attributes={}), 'CreateDate': '2001/09/10', 'UpdateDate': '2018/01/11', 'Flags': IntegerElement(800, attributes={}), 'TaxId': IntegerElement(272843, attributes={}), 'Length': IntegerElement(2257487, attributes={}), 'Status': 'live', 'ReplacedBy': '', 'Comment': ' ', 'AccessionVersion': 'NC_002663.1'}, attributes={})]
我也许可以使用“标题”搜索Assembly db,但是似乎有更好的方法(无需调用太多API)。 谢谢!
答案 0 :(得分:1)
我不确定NCBI核苷酸是否允许通过编程方式(通过“提取”功能)下载GFF。您可以通过这种方式访问fasta或genbank文件,但未列出GFF。
您可以
Entrez.efetch
函数获取genbank文件,并将其转换为GFF wget
或其他工具)下载它。此外,还有一个biomart
软件包。它的R实现提及函数getGFF
可以查询多个数据库(尽管不是核苷酸数据库)。您可以检查其python实现是否具有相同的可用功能,以及是否可以从中找到相同的文件。