用于下载带PMID的Medline摘要的脚本
我在寻找一个脚本,能够让我通过提供一组PubMed ID(PMID)号码(比如从一个.csv文件中)来下载一系列的摘要(或者文章的元数据)。理想的脚本是用R语言写的,然后是Python,不过我也欢迎任何解决方案或建议。你可以在这里找到PubMed。
顺便提一下,我找到一个叫MedlineR的旧包,但这个包从来没有进入Bioconductor,而且似乎最近也没有人讨论它。
3 个回答
-1
我不太确定,但我觉得你可以用R语言里的metafor
这个包做一些非常相似的事情。这个包非常棒,适合用来做元分析……也许可以试试看。
3
biopython
模块提供了这个功能。稍微修改一下教程中的示例(可以查看这个链接:http://biopython.org/DIST/docs/tutorial/Tutorial.html#sec136):
from Bio import Medline, Entrez
pmids = ['18680603', '18665331', '18661158', '18627489', '18627452', '18612381']
Entrez.email = 'your_email@your_address.com'
handle = Entrez.efetch(db="pubmed", id=pmids, rettype="medline", retmode="text")
records = Medline.parse(handle)
# returns a generator containing dicts
# E.g. to get journal titles back
for record in records:
print record['JT'] # Abstracts would be record['AB']
返回结果是
BMC pregnancy and childbirth Journal of natural medicines Mycorrhiza The New phytologist Molecular ecology PloS one
1
有一个叫RISmed的工具包,它似乎可以满足你的需求。 下面的内容是从说明书上摘录的。
require("RISmed")
res <- EUtilsSummary("myeloma[ti] jones[au]")
summary(res)
Query:
myeloma[ti] AND jones[au]
Result count: 66
fetch <- EUtilsGet(res)
PMID(fetch)
> [1] "25188537" "25181509" "25042852" ...
AbstractText(fetch)[[1]]
[1] "The cause of follicular spicules in multiple myeloma (MM) is not known."