项目作者: ropensci

项目描述 :
R Interface to Europe PMC RESTful Web Service
高级语言: R
项目地址: git://github.com/ropensci/europepmc.git
创建时间: 2013-04-08T14:25:07Z
项目社区:https://github.com/ropensci/europepmc

开源协议:

下载


europepmc - R Interface to Europe PMC RESTful Web Service

R build status
codecov.io
cran version
rstudio mirror downloads

europepmc facilitates access to the Europe PMC RESTful Web
Service
. The client furthermore supports the Europe PMC Annotations API to retrieve text-mined concepts and terms per article.

Europe PMC covers life science literature and
gives access to open access full texts. Europe
PMC ingests all PubMed content and extends its index with other literature and patent sources.

For more infos on Europe PMC, see:

https://europepmc.org/About

Ferguson, C., Araújo, D., Faulk, L., Gou, Y., Hamelers, A., Huang, Z.,
Ide-Smith, M., Levchenko, M., Marinos, N., Nambiar, R., Nassar, M., Parkin, M., Pi, X., Rahman, F., Rogers, F., Roochun, Y., Saha, S., Selim, M., Shafique, Z., … McEntyre, J. (2020). Europe PMC in 2020. Nucleic Acids Research, 49(D1), D1507–D1514. https://doi.org/10.1093/nar/gkaa994.

Implemented API methods

This client supports the following API methods from the Articles RESTful API:

API-Method Description R functions
search Search Europe PMC and get detailed metadata epmc_search(), epmc_details(), epmc_search_by_doi()
profile Obtain a summary of hit counts for several Europe PMC databases epmc_profile()
citations Load metadata representing citing articles for a given publication epmc_citations()
references Retrieve the reference section of a publication epmc_refs()
databaseLinks Get links to biological databases such as UniProt or ENA epmc_db(), epmc_db_count()
labslinks Access links to Europe PMC provided by third parties epmc_lablinks(), epmc_lablinks_count()
fullTextXML Fetch full-texts deposited in PMC epmc_ftxt()
bookXML retrieve book XML formatted full text for the Open Access subset of the Europe PMC bookshelf epmc_ftxt_book()

From the Europe PMC Annotations API:

API-Method Description R functions

annotationsByArticleIds | Get the annotations contained in the list of articles specified | epmc_annotations_by_id() |

Installation

From CRAN

  1. install.packages("europepmc")

The latest development version can be installed using the
remotes package:

  1. require(remotes)
  2. install_github("ropensci/europepmc")

Loading into R

  1. library(europepmc)

Search Europe PMC

The search covers both metadata (e.g. abstracts or title) and full texts. To
build your query, please refer to the comprehensive guidance on how to search
Europe PMC: https://europepmc.org/help. Provide your query in the Europe
PMC search syntax to epmc_search().

  1. europepmc::epmc_search(query = '"2019-nCoV" OR "2019nCoV"')
  2. #> # A tibble: 100 × 29
  3. #> id source pmid pmcid doi title authorString journalTitle issue journalVolume
  4. #> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
  5. #> 1 36754560 MED 36754560 PMC9… 10.1… Inno… Yerlikaya S… BMJ Open 2 13
  6. #> 2 37400836 MED 37400836 PMC1… 10.1… Effe… Ebrahimi T,… BMC Oral He… 1 23
  7. #> 3 37223279 MED 37223279 PMC1… 10.1… Bill… Lamsal R, R… Data Brief <NA> 48
  8. #> 4 36727245 MED 36727245 PMC1… 10.1… Vasc… Morrissey E… JBI Evid Sy… 5 21
  9. #> 5 37648680 MED 37648680 <NA> 10.3… [Cli… Liu ZT, Che… Zhonghua Ya… 10 59
  10. #> 6 37211453 MED 37211453 PMC1… 10.1… Safe… Smith K, He… Vaccine 26 41
  11. #> 7 37479685 MED 37479685 PMC1… 10.1… SuPA… Wei C, Datt… Nat Commun 1 14
  12. #> 8 37652823 MED 37652823 <NA> 10.1… Immu… Raiser F, D… Vaccine <NA> <NA>
  13. #> 9 37714559 MED 37714559 <NA> 10.1… New-… Kobayashi N… BMJ Case Rep 9 16
  14. #> 10 PPR525786 PPR <NA> <NA> 10.1… The … Alihsan B, … <NA> <NA> <NA>
  15. #> # ℹ 90 more rows
  16. #> # ℹ 19 more variables: pubYear <chr>, journalIssn <chr>, pageInfo <chr>, pubType <chr>,
  17. #> # isOpenAccess <chr>, inEPMC <chr>, inPMC <chr>, hasPDF <chr>, hasBook <chr>,
  18. #> # hasSuppl <chr>, citedByCount <int>, hasReferences <chr>, hasTextMinedTerms <chr>,
  19. #> # hasDbCrossReferences <chr>, hasLabsLinks <chr>, hasTMAccessionNumbers <chr>,
  20. #> # firstIndexDate <chr>, firstPublicationDate <chr>, versionNumber <int>

Be aware that Europe PMC expands queries with MeSH synonyms by default. You can turn this behavior off using the synonym = FALSE parameter.

By default, epmc_search() returns 100 records. To adjust the limit, simply use
the limit parameter.

See vignette Introducing europepmc, an R interface to Europe PMC RESTful API for a long-form documentation about how to search Europe PMC with this client.

Creating proper review graphs with epmc_hits_trend()

There is also a nice function allowing you to easily create review graphs like described in Maëlle
Salmon’s blog post:

  1. tt_oa <- europepmc::epmc_hits_trend("Malaria", period = 1995:2019, synonym = FALSE)
  2. tt_oa
  3. #> # A tibble: 25 × 3
  4. #> year all_hits query_hits
  5. #> <int> <dbl> <dbl>
  6. #> 1 1995 449216 1471
  7. #> 2 1996 458644 1529
  8. #> 3 1997 456804 1834
  9. #> 4 1998 474693 1756
  10. #> 5 1999 493837 1951
  11. #> 6 2000 532142 2078
  12. #> 7 2001 545702 2180
  13. #> 8 2002 561497 2351
  14. #> 9 2003 588612 2596
  15. #> 10 2004 628176 2831
  16. #> # ℹ 15 more rows
  17. # we use ggplot2 for plotting the graph
  18. library(ggplot2)
  19. ggplot(tt_oa, aes(year, query_hits / all_hits)) +
  20. geom_point() +
  21. geom_line() +
  22. xlab("Year published") +
  23. ylab("Proportion of articles on Malaria in Europe PMC")

plot of chunk unnamed-chunk-4

For more info, read the vignette about creating literature review graphs:

https://docs.ropensci.org/europepmc/articles/evergreenreviewgraphs.html

Re-use of europepmc

Check out the tidypmc package

https://github.com/ropensci/tidypmc

The package maintainer, Chris Stubben (@cstubben), has also created an Shiny App that allows you to search and browse Europe PMC:

https://github.com/cstubben/euPMC

Other ways to access Europe PubMed Central

Other APIs

Other R clients

Meta

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License: GPL-3

Please use the issue tracker for bug reporting and feature requests.


rofooter