使用Bio.Entrez模块从GenBank检索数据

时间:2019-02-13 17:51:54

标签: python bioinformatics biopython

我正在尝试解决罗莎琳德(Rosalind)的挑战之一,我似乎找不到在特定时间范围内检索数据的方法。

http://rosalind.info/problems/gbk/

是否/如何修改Entrez.esearch()以指定时间范围?

Question

Given:一个属名称,后跟两个以YYYY / M / D格式的日期。

Return:在指定日期之间发布的给定属的GenBank核苷酸GenBank条目数。

测试数据:

  • 花椒
  • 2003/7/25
  • 2005/12/27

答案:7

1 个答案:

答案 0 :(得分:1)

非常感谢@Kayvee提供的指针!就像魅力一样!

这是一种通过“在开始-结束之间张贴”搜索生物的格式:

(Anthoxanthum[Organism]) AND ("2003/7/25"[Publication Date] : "2005/12/27"[Publication Date])

这是Python代码:

# GenBank gene database
geneName = "Anthoxanthum"
pubDateStart = "2003/7/25"
pubDateEnd = "2005/12/27"
searchTerm = f'({geneName}[Organism]) AND("{pubDateStart}"[Publication Date]: "{pubDateEnd}"[Publication Date])'

print(f"\n[GenBank gene database]:")
Entrez.email = "please@pm.me"
handle = Entrez.esearch(db="nucleotide", term=searchTerm)
record = Entrez.read(handle)
print(record["Count"])