制造生物粒子Entrez.esearch公司循环参数

2024-10-02 02:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试修改一个脚本(在这里找到:https://gist.github.com/bonzanini/5a4c39e4c02502a8451d),以便从PubMed中搜索和检索数据。你知道吗

以下是我目前掌握的情况:

#!/usr/bin/env python

from Bio import Entrez
import datetime
import json

# Create dictionary of journals (the official abbreviations are not used here...)
GroupA=["Nature", "Science", "PNAS","JACS"]
GroupB=["E-life", "Mol Cell","Plos Computational","Nature communication","Cell"]
GroupC=["Nature Biotech", "Nature Chem Bio", "Nature Str Bio", "Nature Methods"]
Journals = {}
for item in GroupA:
    Journals.setdefault("A",[]).append(item)
for item in GroupB:
    Journals.setdefault("B",[]).append(item)
for item in GroupC:
    Journals.setdefault("C",[]).append(item)

# Set dates for search
today = datetime.datetime.today()
numdays = 15
dateList = []
for x in range (0, numdays):
    dateList.append(today - datetime.timedelta(days = x))
dateList[1:numdays-1] = []
today = dateList[0].strftime("%Y/%m/%d")
lastdate = dateList[1].strftime("%Y/%m/%d")
print 'Retreiving data from ' '%s to %s' % (lastdate,today)


for value in Journals['A']:
    Entrez.email = "email"
    handle = Entrez.esearch(db="pubmed",term="gpcr[TI] AND value[TA]",
sort="pubdate",retmax="10",retmode="xml",datetype="pdat",mindate=lastdate,maxdate=today) 
    record = Entrez.read(handle)
    print(record["IdList"])

我想使用for循环的每个“值”(在本例中是journal titles)作为for的参数Entrez.搜索功能。这个没有内置的参数,所以它必须在term参数中,但是它不能像图所示那样工作。你知道吗

一旦我有了一个身份证清单,我就会使用Entrez.fetch公司检索和打印我想要的数据,但那是另一个问题。。。你知道吗

我希望这足够清楚,第一个问题对我来说!谢谢!你知道吗


Tags: inimportfortodaydatetimeentrezitembio
1条回答
网友
1楼 · 发布于 2024-10-02 02:31:56

如果我理解正确,我想这就是你要找的:

term="gpcr[TI] AND {}[TA]".format(value)

使用此选项,每个term将:

"gpcr[TI] AND Nature[TA]"
"gpcr[TI] AND Science[TA]"
"gpcr[TI] AND PNAS[TA]"
"gpcr[TI] AND JACS[TA]"

相关问题 更多 >

    热门问题