使用 R 通过标题获取 Pubmed 摘要

Using R to fetch a Pubmed abstract by using its title

我一直在尝试使用它的标题来获取 Pubmed 摘要。例如,如果我将以下标题放在 pubmPd 掩码上 @ https://pubmed.ncbi.nlm.nih.gov/ :

A Pituitary-Derived MEG3 亚型在肿瘤细胞中作为生长抑制剂发挥作用

我得到一个显示以下摘要的页面:

摘要 人垂体腺瘤是最常见的颅内肿瘤。通常起源于单克隆,体细胞突变是肿瘤发展的先决条件。为了确定肿瘤形成的潜在发病机制,我们通过 cDNA-representational 差异分析比较了正常人垂体组织和临床无功能垂体腺瘤之间基因表达的差异。我们克隆了一个 cDNA,其表达在这些肿瘤中不存在,它代表了先前描述的 MEG3 的新转录本,MEG3 是一种功能未知的母体印记基因。它在正常人促性腺激素中表达,临床上无功能的垂体腺瘤来源于此。 Northern blot 和 RT-PCR 的进一步研究表明,该基因在功能性垂体瘤和许多人类癌细胞系中也不表达。此外,该基因的异位表达可抑制人类癌细胞(包括 HeLa、MCF-7 和 H4)的生长。基因组分析显示 MEG3 位于染色体 14q32.3 上,该位点被预测含有与脑膜瘤发病机制有关的抑癌基因。综上所述,我们的数据表明 MEG3 可能代表一种新型生长抑制剂,可能在人类垂体腺瘤的发展中发挥重要作用。

R 包中是否有任何命令可以执行相同的操作?我一直在玩 'easyPubmed'、'Rentrez' 等工具,但我有点被它们的复杂性吓倒了。 提前致谢。

我们可以使用rvest通过提交表单获取摘要。

library(rvest)
library(dplyr)

# URL
url = 'https://pubmed.ncbi.nlm.nih.gov/'
ncbi <- html_session(url)

# Grab the Form
search <- ncbi %>% html_node("form") %>% html_form()
#fill the form 
search <- search %>%
  html_form_set("term" = "A Pituitary-Derived MEG3 Isoform Functions as a Growth Suppressor in Tumor Cells")

# submit the form and save as a new session
session <- submit_form(ncbi, search) 

# get abstract
abstract <- session %>% html_nodes('.abstract-content') %>% html_text()

我认为 easyPubMed 包是比较容易使用的,顾名思义。这是一个完整的例子。

您可以创建一个查询字符值,在本例中只使用与 post.

中相同的标题

您可以使用 get_pubmed_ids 执行 PubMed 查询并使用 fetch_pubmed_data 检索记录。

然后,使用 table_articles_byAuth 您可以将结果放入 data.frame。通过将 included_authors 设置为“first”,您将只能获得有关记录的第一作者的信息。此外,使用 max_chars 您可以设置摘要中包含的字符数限制。

library(easyPubMed)

my_query <- paste(
  'A Pituitary-Derived MEG3 Isoform Functions as a Growth Suppressor in Tumor Cells',
  '[ti]'
)

my_pubmed_ids <- get_pubmed_ids(my_query)
my_data <- fetch_pubmed_data(my_pubmed_ids, encoding = "ASCII")

df <- table_articles_byAuth(my_data,
                            included_authors = "first",
                            max_chars = 2000,
                            encoding = "ASCII")

您的 data.frame 的结果列如下:

names(df)

 [1] "pmid"      "doi"       "title"     "abstract"  "year"      "month"     "day"       "jabbrv"    "journal"   "keywords" 
[11] "lastname"  "firstname" "address"   "email" 

如果您想查看所有摘要,它们将位于 data.frame 的 abstract 列中:

df$abstract

[1] "Human pituitary adenomas are the most common intracranial neoplasm...