有没有办法,使用Biopython,找出数据库的更新状态?
我正在尝试做这样的事情;
我有100000个医疗术语列表
7月1日,我检索了所有100000个条款的ID列表。
今天(7月3日)我想知道是否为100000个条款中的任何一个添加了新文章。
这样做的一种方法是重复整个过程(获取所有100000个术语),如下所示;
'termlist' = ['Malaria', 'Flu' ,...........]
for term in termlist:
handle = Entrez.esearch(db = "pubmed", term = 'Malaria')
record = Entrez.read(handle)
record['Count']
有没有办法只找出今天发布的更新条款?
如果我的条款是更新列表的一部分,我只需要搜索更新的条款,而不是所有100000条款。
答案 0 :(得分:0)
这里有所有与esearch相关的参数:
http://www.ncbi.nlm.nih.gov/books/NBK25499/#chapter4.ESearch
您感兴趣的是:reldate,datetype,mindate和maxdate。如果将这些参数传递给esearch命令,Biopython只需将它们插入NCBI查询中。
# Retrieve the entries of the last 3 days
handle = Entrez.esearch(db = "pubmed", term = 'Malaria',
datetype = "edat", reldate = 3)
# Retrieve the entries between two dates:
handle = Entrez.esearch(db = "pubmed", term = 'Malaria',
mindate = "2014/07/03", maxdate = "2014/07/01")
此外,您可以使用语法加入术语来加快查询过程:
term = "Malaria+OR+Cancer+OR+Anopheles"