#r #data-files #ncbi #pubmed #doi
#r #файлы данных #ncbi #pubmed #doi
Вопрос:
Я пытаюсь получить имена файлов данных из NCBI или PubMed, которые связаны или прикреплены к сотням уникальных DOI или PMID на языке R. Например. У меня есть PMID: 19122651, и я хочу получить имена трех подключенных к нему GSE, а именно: GSE12781, GSE12782 и GSE12783. Я безуспешно искал различные источники и пакеты.
Ценю вашу помощь.
Ответ №1:
Вы можете сделать это с помощью пакета rentrez.
Требуемая функция — entrez_link.
Пример:
library(rentrez)
results <- entrez_link(dbfrom = 'pubmed', id = 19122651, db = 'gds')
results$links$pubmed_gds
[1] "200012783" "200012782" "200012781"
3 результата — это идентификаторы для связанных записей набора географических данных. Вы можете преобразовать их в GSE accessions с помощью entrez_summary
.
Вот несколько уродливый sapply
, который может послужить основой для функции:
sapply(results$links$pubmed_gds, function (id) entrez_summary("gds", id)$accession,
USE.NAMES = FALSE)
[1] "GSE12783" "GSE12782" "GSE12781"
Комментарии:
1. Это потрясающе! Большое вам спасибо. Я ломал голову и рыскал по Интернету, и ни один не был таким простым или прямолинейным! Очень ценю ваше время и помощь.
2. Нет проблем.
rentrez
отличный пакет, с которым стоит познакомиться. Пожалуйста, примите ответ, если он решил проблему.3. @neilfws: у вас опечатка в последней строке кода с
sapply
? это выдает ошибку сresult$links$pubmed_gds
и, вероятно, так и должно было бытьresults$links$pubmed_gds
?
Ответ №2:
Вы можете запросить NCBI через rentrez
пакет, как описано здесь . Функция entrez_link()
должна уметь находить перекрестные ссылки