用于下载带PMID的Medline摘要的脚本

0 投票
3 回答
962 浏览
提问于 2025-04-20 14:54

我在寻找一个脚本,能够让我通过提供一组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."

撰写回答