【发布时间】:2019-08-18 15:55:38
【问题描述】:
我正在尝试从 NCBI 或 PubMed 获取与数百个独特的 DOI 或 PMID 相关或附加到 R 语言的数据文件名。例如。我有 PMID:19122651,并且我想获取连接到它的三个 GSE 的名称,它们是:GSE12781、GSE12782 和 GSE12783。
我已经搜索了各种来源和软件包,但无济于事。
感谢您的帮助。
【问题讨论】:
标签: r data-files ncbi pubmed doi
我正在尝试从 NCBI 或 PubMed 获取与数百个独特的 DOI 或 PMID 相关或附加到 R 语言的数据文件名。例如。我有 PMID:19122651,并且我想获取连接到它的三个 GSE 的名称,它们是:GSE12781、GSE12782 和 GSE12783。
我已经搜索了各种来源和软件包,但无济于事。
感谢您的帮助。
【问题讨论】:
标签: r data-files ncbi pubmed doi
您可以使用rentrez 包来做到这一点。
需要的函数是entrez_link。
例子:
library(rentrez)
results <- entrez_link(dbfrom = 'pubmed', id = 19122651, db = 'gds')
results$links$pubmed_gds
[1] "200012783" "200012782" "200012781"
这 3 个结果是相关 GEO 数据集记录的 ID。您可以使用entrez_summary 将它们转换为 GSE 加入。
这是一个有点丑陋的sapply,它可以作为函数的基础:
sapply(results$links$pubmed_gds, function (id) entrez_summary("gds", id)$accession,
USE.NAMES = FALSE)
[1] "GSE12783" "GSE12782" "GSE12781"
【讨论】:
rentrez 是一个很棒的软件包,值得了解。如果它解决了问题,请接受答案。
sapply 有错字?它给出了result$links$pubmed_gds 的错误,可能是results$links$pubmed_gds?
您可以通过rentrez 包查询NCBI,如here 所述。函数entrez_link()应该可以找到交叉引用
【讨论】: