diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 998dfcb..2c39720 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: config: - - {os: macOS-latest, r: 'release'} + - {os: macos-latest, r: 'release'} - {os: windows-latest, r: 'release'} - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - {os: ubuntu-latest, r: 'release'} @@ -29,7 +29,7 @@ jobs: R_KEEP_PKG_SOURCE: yes steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: r-lib/actions/setup-pandoc@v2 @@ -45,3 +45,5 @@ jobs: needs: check - uses: r-lib/actions/check-r-package@v2 + with: + upload-snapshots: true \ No newline at end of file diff --git a/DESCRIPTION b/DESCRIPTION index c59f0f3..3878e40 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: europepmc Title: R Interface to the Europe PubMed Central RESTful Web Service -Version: 0.4.1.09 +Version: 0.4.2 Authors@R: c( person("Najko", "Jahn", email = "najko.jahn@gmail.com", role = c("aut", "cre", "cph")), @@ -36,7 +36,7 @@ Imports: tibble, tidyr, rlang -RoxygenNote: 7.1.1 +RoxygenNote: 7.2.3 Suggests: testthat, knitr, diff --git a/R/annotations_by_id.R b/R/annotations_by_id.R index 175d4dc..b5f4952 100644 --- a/R/annotations_by_id.R +++ b/R/annotations_by_id.R @@ -61,13 +61,13 @@ epmc_annotations_by_id_ <- function(ids = NULL, .pb = NULL) { out <- tibble::tibble( source = req[["source"]], ext_id = req[["extId"]], - pmcid = dplyr::if_else( + pmcid = ifelse( is.null(req[["pmcid"]]), NA_character_, req[["pmcid"]] ), annotations = req[["annotations"]] ) - tidyr::unnest(tidyr::unnest(out, .data$annotations), - .data$tags) + tidyr::unnest(tidyr::unnest(out, "annotations"), + "tags") } else { NULL } diff --git a/R/epmc_details.r b/R/epmc_details.r index 071c4fa..159239d 100644 --- a/R/epmc_details.r +++ b/R/epmc_details.r @@ -127,7 +127,7 @@ parse_aut <- function(res) { out <- tibble::tibble() } if("authorAffiliationDetailsList.authorAffiliation" %in% colnames(out)) - out <- tidyr::unnest(out, cols = c(.data$authorAffiliationDetailsList.authorAffiliation)) + out <- tidyr::unnest(out, cols = c("authorAffiliationDetailsList.authorAffiliation")) return(out) } diff --git a/R/epmc_lablinks.r b/R/epmc_lablinks.r index 1f1b2ec..8dd907a 100644 --- a/R/epmc_lablinks.r +++ b/R/epmc_lablinks.r @@ -5,7 +5,7 @@ #' providers, which can be selected through Europe PMC's advanced search, #' include Wikipedia, Dryad Digital Repository or other open services. #' For more information, see -#' \url{http://europepmc.org/labslink}. +#' \url{https://europepmc.org/labslink}. #' #' @param ext_id publication identifier #' @param data_src data source, by default Pubmed/MedLine index will be searched. diff --git a/R/epmc_lablinks_count.r b/R/epmc_lablinks_count.r index 05b04b5..475daba 100644 --- a/R/epmc_lablinks_count.r +++ b/R/epmc_lablinks_count.r @@ -5,7 +5,7 @@ #' providers, which can be selected through Europe PMC's advanced search, #' include Wikipedia, Dryad Digital Repository or the institutional repo of #' Bielefeld University. For more information, see -#' \url{http://europepmc.org/labslink}. +#' \url{https://europepmc.org/labslink}. #' #' @param ext_id publication identifier #' @param data_src data source, by default Pubmed/MedLine index will be searched. diff --git a/R/epmc_profile.r b/R/epmc_profile.r index b0320e2..ee975c8 100644 --- a/R/epmc_profile.r +++ b/R/epmc_profile.r @@ -4,7 +4,7 @@ #' and breaks it down to the various publication types, data sources, and #' subsets Europe PMC provides. #' @param query character, search query. For more information on how to -#' build a search query, see \url{http://europepmc.org/Help} +#' build a search query, see \url{https://europepmc.org/Help} #' @param synonym logical, synonym search. If TRUE, synonym terms from MeSH #' terminology and the UniProt synonym list are queried, too. Enabled by #' default. diff --git a/R/epmc_search.r b/R/epmc_search.r index 199c30d..20e929c 100644 --- a/R/epmc_search.r +++ b/R/epmc_search.r @@ -1,15 +1,15 @@ #' Search Europe PMC publication database #' #' @description This is the main function to search Europe PMC RESTful Web -#' Service (\url{http://europepmc.org/RestfulWebService}). It fully supports +#' Service (\url{https://europepmc.org/RestfulWebService}). It fully supports #' the comprehensive Europe PMC query language. Simply copy & paste your query #' terms to R. To get familiar with the Europe PMC query syntax, check the #' Advanced Search Query Builder \url{https://europepmc.org/advancesearch}. #' -#' @seealso \url{http://europepmc.org/Help} +#' @seealso \url{https://europepmc.org/Help} #' #' @param query character, search query. For more information on how to build a -#' search query, see \url{http://europepmc.org/Help} +#' search query, see \url{https://europepmc.org/Help} #' @param output character, what kind of output should be returned. One of #' 'parsed', 'id_list' or 'raw' As default, parsed key metadata will be #' returned as data.frame. 'id_list' returns a list of IDs and sources. Use @@ -159,7 +159,7 @@ epmc_search <- function(query = NULL, #' pages within the defined limit. #' #' @param query character, search query. For more information on how to -#' build a search query, see \url{http://europepmc.org/Help} +#' build a search query, see \url{https://europepmc.org/Help} #' @param output character, what kind of output should be returned. One of 'parsed', 'id_list' #' or 'raw' As default, parsed key metadata will be returned as data.frame. #' 'id_list returns a list of IDs and sources. diff --git a/R/europepmc.r b/R/europepmc.r index 60c36f4..f066dfa 100644 --- a/R/europepmc.r +++ b/R/europepmc.r @@ -15,9 +15,11 @@ #' to other databases hosted by the European Bioinformatics Institute (EBI). #' #' For more information about Europe PMC, see their current paper: -#' Levchenko, M., Gou, Y., Graef, F., Hamelers, A., Huang, Z., Ide-Smith, M., -#' … McEntyre, J. (2017). Europe PMC in 2017. Nucleic Acids Research, 46(D1), -#' D1254–D1260. \doi{10.1093/nar/gkx1005}. +#' 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. \doi{10.1093/nar/gkaa994}. #' #' @name europepmc @@ -38,4 +40,4 @@ #' @importFrom tibble as_tibble tibble #' @importFrom tidyr unnest #' @importFrom rlang .data -NULL +"_PACKAGE" diff --git a/README.Rmd b/README.Rmd index 446e666..c1c27a6 100644 --- a/README.Rmd +++ b/README.Rmd @@ -14,7 +14,7 @@ knitr::opts_chunk$set( [![R build status](https://github.com/ropensci/europepmc/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/europepmc/actions) [![Build status](https://ci.appveyor.com/api/projects/status/f8xtpvhhr074lk44?svg=true)](https://ci.appveyor.com/project/sckott/europepmc) -[![codecov.io](https://codecov.io/github/ropensci/europepmc/coverage.svg?branch=master)](https://codecov.io/github/ropensci/europepmc?branch=master) +[![codecov.io](https://codecov.io/github/ropensci/europepmc/coverage.svg?branch=master)](https://app.codecov.io/github/ropensci/europepmc?branch=master) [![cran version](https://www.r-pkg.org/badges/version/europepmc)](https://cran.r-project.org/package=europepmc) [![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/europepmc)](https://github.com/r-hub/cranlogs.app) [![](https://badges.ropensci.org/29_status.svg)](https://github.com/ropensci/software-review/issues/29) @@ -30,7 +30,8 @@ For more infos on Europe PMC, see: -Levchenko, M., Gou, Y., Graef, F., Hamelers, A., Huang, Z., Ide-Smith, M., … McEntyre, J. (2017). Europe PMC in 2017. Nucleic Acids Research, 46(D1), D1254–D1260. +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. . ## Implemented API methods @@ -140,7 +141,7 @@ The package maintainer, Chris Stubben (@cstubben), has also created an Shiny App - use rOpenSci's `oai` to get metadata and full text via Europe PMC's OAI interface: - use rOpenSci's `rentrez` to interact with [NCBI databases](https://www.ncbi.nlm.nih.gov/) such as PubMed: -- rOpenSci's `fulltext` package gives access to supplementary material of open access life-science publications in Europe PMC: +- rOpenSci's `fulltext` package gives access to supplementary material of open access life-science publications in Europe PMC: ## Meta diff --git a/README.md b/README.md index b8e5fb3..88a9709 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ europepmc - R Interface to Europe PMC RESTful Web Service [![R build status](https://github.com/ropensci/europepmc/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/europepmc/actions) [![Build status](https://ci.appveyor.com/api/projects/status/f8xtpvhhr074lk44?svg=true)](https://ci.appveyor.com/project/sckott/europepmc) -[![codecov.io](https://codecov.io/github/ropensci/europepmc/coverage.svg?branch=master)](https://codecov.io/github/ropensci/europepmc?branch=master) +[![codecov.io](https://codecov.io/github/ropensci/europepmc/coverage.svg?branch=master)](https://app.codecov.io/github/ropensci/europepmc?branch=master) [![cran version](https://www.r-pkg.org/badges/version/europepmc)](https://cran.r-project.org/package=europepmc) [![rstudio mirror downloads](https://cranlogs.r-pkg.org/badges/europepmc)](https://github.com/r-hub/cranlogs.app) [![](https://badges.ropensci.org/29_status.svg)](https://github.com/ropensci/software-review/issues/29) @@ -23,7 +23,8 @@ For more infos on Europe PMC, see: -Levchenko, M., Gou, Y., Graef, F., Hamelers, A., Huang, Z., Ide-Smith, M., … McEntyre, J. (2017). Europe PMC in 2017. Nucleic Acids Research, 46(D1), D1254–D1260. +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. . ## Implemented API methods @@ -81,25 +82,25 @@ PMC search syntax to `epmc_search()`. ```r europepmc::epmc_search(query = '"2019-nCoV" OR "2019nCoV"') #> # A tibble: 100 × 29 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 33406042 MED 33406042 10.1… 2019… Xiao M, Liu… IEEE/ACM Tr… 4 18 -#> 2 34059225 MED 34059225 10.1… Livi… Santillan-G… Med Intensi… 5 45 -#> 3 34181072 MED 34181072 10.1… Self… Varghese JJ… Support Car… -#> 4 34108756 MED 34108756 10.2… COVI… Gabarron E,… Bull World … 6 99 -#> 5 33197230 MED 33197230 10.2… Sear… Lazarus JV,… J Med Inter… 11 22 -#> 6 33181701 MED 33181701 10.1… The … Kim YJ, Qia… Medicine (B… 46 99 -#> 7 34291001 MED 34291001 10.4… How … Moradi G, G… Med J Islam… 35 -#> 8 33521188 MED 33521188 10.1… Tota… Chen AZ, Sh… Arthroplast… 8 -#> 9 33009914 MED 33009914 10.1… A da… Zhu Z, Meng… Database (O… 2020 -#> 10 32341597 MED 32341597 10.1… Obes… Carretero G… Rev Clin Es… 6 220 -#> # … with 90 more rows, and 20 more variables: pubYear , journalIssn , +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 36754560 MED 36754560 PMC992… 10.1… Inno… Yerlikaya S… BMJ Open 2 +#> 2 37400836 MED 37400836 PMC103… 10.1… Effe… Ebrahimi T,… BMC Oral He… 1 +#> 3 37223279 MED 37223279 PMC101… 10.1… Bill… Lamsal R, R… Data Brief +#> 4 36727245 MED 36727245 PMC101… 10.1… Vasc… Morrissey E… JBI Evid Sy… 5 +#> 5 37211453 MED 37211453 PMC101… 10.1… Safe… Smith K, He… Vaccine 26 +#> 6 PPR525786 PPR 10.1… The … Alihsan B, … +#> 7 PPR621660 PPR 10.1… Safe… Smith K, He… +#> 8 36679914 MED 36679914 PMC986… 10.3… The … Cherif YYS,… Vaccines (B… 1 +#> 9 PPR689808 PPR 10.2… Perf… MOUNA L, BO… +#> 10 37258070 MED 37258070 PMC102… 10.1… Comp… Hui L, Garn… BMJ Open 5 +#> # ℹ 90 more rows +#> # ℹ 20 more variables: journalVolume , pubYear , journalIssn , #> # pageInfo , pubType , isOpenAccess , inEPMC , #> # inPMC , hasPDF , hasBook , hasSuppl , #> # citedByCount , hasReferences , hasTextMinedTerms , #> # hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , pmcid , versionNumber +#> # hasTMAccessionNumbers , firstIndexDate , … ``` Be aware that Europe PMC expands queries with MeSH synonyms by default. You can turn this behavior off using the `synonym = FALSE` parameter. @@ -121,17 +122,17 @@ tt_oa #> # A tibble: 25 × 3 #> year all_hits query_hits #> -#> 1 1995 449064 1495 -#> 2 1996 458526 1572 -#> 3 1997 456744 1873 -#> 4 1998 474613 1762 -#> 5 1999 493745 1947 -#> 6 2000 532019 2092 -#> 7 2001 545674 2187 -#> 8 2002 561425 2378 -#> 9 2003 588572 2612 -#> 10 2004 628141 2845 -#> # … with 15 more rows +#> 1 1995 449216 1471 +#> 2 1996 458644 1529 +#> 3 1997 456805 1834 +#> 4 1998 474695 1756 +#> 5 1999 493837 1951 +#> 6 2000 532142 2078 +#> 7 2001 545709 2179 +#> 8 2002 561496 2350 +#> 9 2003 588612 2596 +#> 10 2004 628192 2830 +#> # ℹ 15 more rows # we use ggplot2 for plotting the graph library(ggplot2) ggplot(tt_oa, aes(year, query_hits / all_hits)) + @@ -172,7 +173,7 @@ The package maintainer, Chris Stubben (@cstubben), has also created an Shiny App - use rOpenSci's `oai` to get metadata and full text via Europe PMC's OAI interface: - use rOpenSci's `rentrez` to interact with [NCBI databases](https://www.ncbi.nlm.nih.gov/) such as PubMed: -- rOpenSci's `fulltext` package gives access to supplementary material of open access life-science publications in Europe PMC: +- rOpenSci's `fulltext` package gives access to supplementary material of open access life-science publications in Europe PMC: ## Meta diff --git a/man/epmc_lablinks.Rd b/man/epmc_lablinks.Rd index 5898ccf..b6fef03 100644 --- a/man/epmc_lablinks.Rd +++ b/man/epmc_lablinks.Rd @@ -49,7 +49,7 @@ links from Europe PMC to other webpages or tools. Current External Link providers, which can be selected through Europe PMC's advanced search, include Wikipedia, Dryad Digital Repository or other open services. For more information, see -\url{http://europepmc.org/labslink}. +\url{https://europepmc.org/labslink}. } \examples{ \dontrun{ diff --git a/man/epmc_lablinks_count.Rd b/man/epmc_lablinks_count.Rd index fea7efe..9c9f21d 100644 --- a/man/epmc_lablinks_count.Rd +++ b/man/epmc_lablinks_count.Rd @@ -35,7 +35,7 @@ links from Europe PMC to other webpages or tools. Current External Link providers, which can be selected through Europe PMC's advanced search, include Wikipedia, Dryad Digital Repository or the institutional repo of Bielefeld University. For more information, see -\url{http://europepmc.org/labslink}. +\url{https://europepmc.org/labslink}. } \examples{ \dontrun{ diff --git a/man/epmc_profile.Rd b/man/epmc_profile.Rd index aab7f60..9ea6c84 100644 --- a/man/epmc_profile.Rd +++ b/man/epmc_profile.Rd @@ -8,7 +8,7 @@ epmc_profile(query = NULL, synonym = TRUE) } \arguments{ \item{query}{character, search query. For more information on how to -build a search query, see \url{http://europepmc.org/Help}} +build a search query, see \url{https://europepmc.org/Help}} \item{synonym}{logical, synonym search. If TRUE, synonym terms from MeSH terminology and the UniProt synonym list are queried, too. Enabled by diff --git a/man/epmc_search.Rd b/man/epmc_search.Rd index f6e5947..e78e935 100644 --- a/man/epmc_search.Rd +++ b/man/epmc_search.Rd @@ -15,7 +15,7 @@ epmc_search( } \arguments{ \item{query}{character, search query. For more information on how to build a -search query, see \url{http://europepmc.org/Help}} +search query, see \url{https://europepmc.org/Help}} \item{output}{character, what kind of output should be returned. One of 'parsed', 'id_list' or 'raw' As default, parsed key metadata will be @@ -42,7 +42,7 @@ tibble } \description{ This is the main function to search Europe PMC RESTful Web - Service (\url{http://europepmc.org/RestfulWebService}). It fully supports + Service (\url{https://europepmc.org/RestfulWebService}). It fully supports the comprehensive Europe PMC query language. Simply copy & paste your query terms to R. To get familiar with the Europe PMC query syntax, check the Advanced Search Query Builder \url{https://europepmc.org/advancesearch}. @@ -77,5 +77,5 @@ attr(my.data, "hit_count") } } \seealso{ -\url{http://europepmc.org/Help} +\url{https://europepmc.org/Help} } diff --git a/man/epmc_search_.Rd b/man/epmc_search_.Rd index bf6e1e3..aabe0f3 100644 --- a/man/epmc_search_.Rd +++ b/man/epmc_search_.Rd @@ -14,7 +14,7 @@ epmc_search_( } \arguments{ \item{query}{character, search query. For more information on how to -build a search query, see \url{http://europepmc.org/Help}} +build a search query, see \url{https://europepmc.org/Help}} \item{limit}{integer, limit the number of records you wish to retrieve. By default, 25 are returned.} diff --git a/man/europepmc.Rd b/man/europepmc.Rd index 6e9b1bc..3027064 100644 --- a/man/europepmc.Rd +++ b/man/europepmc.Rd @@ -3,6 +3,7 @@ \docType{package} \name{europepmc} \alias{europepmc} +\alias{europepmc-package} \title{europepmc - an R client for the Europe PMC RESTful article API} \description{ What is europepmc?: @@ -20,7 +21,27 @@ retrieve reference sections and citations, text-mined terms or cross-links to other databases hosted by the European Bioinformatics Institute (EBI). For more information about Europe PMC, see their current paper: -Levchenko, M., Gou, Y., Graef, F., Hamelers, A., Huang, Z., Ide-Smith, M., - … McEntyre, J. (2017). Europe PMC in 2017. Nucleic Acids Research, 46(D1), - D1254–D1260. \doi{10.1093/nar/gkx1005}. +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. \doi{10.1093/nar/gkaa994}. +} +\seealso{ +Useful links: +\itemize{ + \item \url{https://docs.ropensci.org/europepmc/} + \item \url{https://github.com/ropensci/europepmc/} + \item Report bugs at \url{https://github.com/ropensci/europepmc/issues} +} + +} +\author{ +\strong{Maintainer}: Najko Jahn \email{najko.jahn@gmail.com} [copyright holder] + +Other contributors: +\itemize{ + \item Maëlle Salmon [contributor] +} + } diff --git a/man/figures/unnamed-chunk-4-1.png b/man/figures/unnamed-chunk-4-1.png index 8d30433..6ab3f39 100644 Binary files a/man/figures/unnamed-chunk-4-1.png and b/man/figures/unnamed-chunk-4-1.png differ diff --git a/vignettes/evergreenreviewgraphs.Rmd b/vignettes/evergreenreviewgraphs.Rmd index 5c051bc..460612a 100644 --- a/vignettes/evergreenreviewgraphs.Rmd +++ b/vignettes/evergreenreviewgraphs.Rmd @@ -1,7 +1,7 @@ --- title: "Making trend graphs" author: "Najko Jahn" -date: "2021-08-24" +date: "2023-08-21" output: rmarkdown::html_vignette vignette: > %\VignetteEngine{knitr::rmarkdown} @@ -11,29 +11,35 @@ vignette: > -Trend graphs in literature reviews show the development of concepts in scholarly communication. Some trend graphs, however, don't acknowledge that the number of scholarly publications is growing each year, but simply display the absolute number of hits they have found for a given concept. Noam Ross called these misleading graphs evergreen review graphs because of their enduring popularity in review papers. Examples can be found on Twitter under the Hashtag [#evergreenreviewgraph](https://twitter.com/hashtag/evergreenreviewgraph). +Trend graphs in literature reviews show the development of concepts in scholarly communication. Some trend graphs, however, don't acknowledge that the number of scholarly publications is growing each year, but simply display the absolute number of hits they have found for a given concept. Noam Ross called these misleading graphs evergreen review graphs because of their enduring popularity in review papers. -This vignette guides you how to make proper trend graphs when reviewing Europe PMC literature. In these graphs, the number of hits found is divided by the total number of records indexed in Europe PMC for a given search query. +This vignette guides you how to make proper trend graphs when reviewing Europe PMC literature. In these graphs, the number of hits found is divided by the total number of records indexed in Europe PMC for a given search query. ## Preparing proper review graphs with `epmc_hits_trend()` -We use `epmc_hits_trend()` function, which was firstly introduced in Maëlle Salmon's blog post about "How not to make an evergreen review graph"[^1]. The function takes a query in the Europe PMC search syntax[^2] and the period of years over which to perform the search as arguments, and returns a data-frame with year, total number of hits (`all_hits`) and number of hits for the query (`query_hits`). +We use `epmc_hits_trend()` function, which was firstly introduced in Maëlle Salmon's blog post about "How not to make an evergreen review graph"[^1]. The function takes a query in the Europe PMC search syntax[^2] and the period of years over which to perform the search as arguments, and returns a data-frame with year, total number of hits (`all_hits`) and number of hits for the query (`query_hits`). ```r library(europepmc) -europepmc::epmc_hits_trend(query = "aspirin", period = 2010:2016) -#> # A tibble: 7 × 3 -#> year all_hits query_hits -#> -#> 1 2010 851021 7219 -#> 2 2011 904618 7888 -#> 3 2012 945899 9054 -#> 4 2013 1003845 10127 -#> 5 2014 1055435 10895 -#> 6 2015 1095859 11750 -#> 7 2016 1116157 12099 +europepmc::epmc_hits_trend(query = "aspirin", period = 2010:2022) +#> # A tibble: 13 × 3 +#> year all_hits query_hits +#> +#> 1 2010 851063 5507 +#> 2 2011 904794 6003 +#> 3 2012 946175 6833 +#> 4 2013 1004386 7652 +#> 5 2014 1055159 8210 +#> 6 2015 1096370 8779 +#> 7 2016 1117117 8950 +#> 8 2017 1138383 9394 +#> 9 2018 1180056 10103 +#> 10 2019 1243536 10666 +#> 11 2020 1450476 14294 +#> 12 2021 1549953 16643 +#> 13 2022 1542398 15975 ``` By default, synonym search is disabled and only Medline/PubMed index is searched. @@ -42,40 +48,45 @@ By default, synonym search is disabled and only Medline/PubMed index is searched [^2]: Europe PMC Search Syntax: -## Use Cases +## Use Cases ### Use Case: Growth of Open Access Literature -There is a growing interest in knowing the proportion of open access to scholarly literature. Europe PMC allows searching for open access content with the [`OPEN_ACCESS:Y` parameter](https://europepmc.org/search?query=OPEN_ACCESS:Y&page=1&sortby=Relevance). At the moment, Europe PMC contains 3,740,002 open access full-texts. Let's see how they are relatively distributed over the period 1995 - 2016. +There is a growing interest in knowing the proportion of open access to scholarly literature. Europe PMC allows searching for open access content with the [`OPEN_ACCESS:Y` parameter](https://europepmc.org/search?query=OPEN_ACCESS:Y&page=1&sortby=Relevance). At the moment, Europe PMC contains 5,509,277 open access full-texts. Let's see how they are relatively distributed over the period 2010 - 2022. ```r -tt_oa <- europepmc::epmc_hits_trend("OPEN_ACCESS:Y", period = 1995:2016, synonym = FALSE) +tt_oa <- europepmc::epmc_hits_trend("OPEN_ACCESS:Y", period = 2010:2022, synonym = FALSE) tt_oa -#> # A tibble: 22 × 3 +#> # A tibble: 13 × 3 #> year all_hits query_hits #> -#> 1 1995 449064 3337 -#> 2 1996 458526 3508 -#> 3 1997 456744 3665 -#> 4 1998 474613 3836 -#> 5 1999 493745 3918 -#> 6 2000 532019 4328 -#> 7 2001 545674 5479 -#> 8 2002 561426 5894 -#> 9 2003 588572 7148 -#> 10 2004 628141 9795 -#> # … with 12 more rows +#> 1 2010 851063 78677 +#> 2 2011 904794 105675 +#> 3 2012 946175 140016 +#> 4 2013 1004386 176541 +#> 5 2014 1055159 212039 +#> 6 2015 1096370 244234 +#> 7 2016 1117117 273364 +#> 8 2017 1138383 312717 +#> 9 2018 1180056 352067 +#> 10 2019 1243536 405927 +#> 11 2020 1450476 585116 +#> 12 2021 1549953 714017 +#> 13 2022 1542398 790600 # we use ggplot2 for plotting the graph library(ggplot2) -ggplot(tt_oa, aes(year, query_hits / all_hits)) + - geom_point() + +ggplot(tt_oa, aes(factor(year), query_hits / all_hits, group = 1)) + + geom_point() + geom_line() + - xlab("Year published") + + xlab("Year published") + ylab("Proportion of OA full-texts in Europe PMC") ``` -oa in europe pmc +
+oa in europe pmc +

plot of chunk oa_pmc

+
Be careful with the interpretation of the slower growth in the last years because there are several ways how open access content is added to Europe PMC including the digitalization of back issues.[^3] @@ -105,7 +116,7 @@ Let's prepare the queries for links to the above mentioned code hosting services ```r -dvcs <- c("code.google.com", "github.com", +dvcs <- c("code.google.com", "github.com", "sourceforge.net", "bitbucket.org", "cran.r-project.org") # make queries including reference section dvcs_query <- paste0('REF:"', dvcs, '"') @@ -118,47 +129,47 @@ and get publications for which Europe PMC gives access to reference lists for no library(dplyr) my_df <- purrr::map_df(dvcs_query, function(x) { # get number of publications with indexed reference lists - refs_hits <- - europepmc::epmc_hits_trend("has_reflist:y", period = 2009:2016, synonym = FALSE)$query_hits - # get hit count querying for code repositories - europepmc::epmc_hits_trend(x, period = 2009:2016, synonym = FALSE) %>% + refs_hits <- + europepmc::epmc_hits_trend("has_reflist:y", period = 2009:2022, synonym = FALSE)$query_hits + # get hit count querying for code repositories + europepmc::epmc_hits_trend(x, period = 2009:2022, synonym = FALSE) %>% dplyr::mutate(query_id = x) %>% dplyr::mutate(refs_hits = refs_hits) %>% dplyr::select(year, all_hits, refs_hits, query_hits, query_id) -}) +}) my_df -#> # A tibble: 40 × 5 +#> # A tibble: 70 × 5 #> year all_hits refs_hits query_hits query_id #> -#> 1 2009 793068 555477 13 "REF:\"code.google.com\"" -#> 2 2010 851021 540514 40 "REF:\"code.google.com\"" -#> 3 2011 904618 603060 65 "REF:\"code.google.com\"" -#> 4 2012 945899 635448 92 "REF:\"code.google.com\"" -#> 5 2013 1003845 761512 135 "REF:\"code.google.com\"" -#> 6 2014 1055435 797039 140 "REF:\"code.google.com\"" -#> 7 2015 1095859 779562 117 "REF:\"code.google.com\"" -#> 8 2016 1116157 782630 65 "REF:\"code.google.com\"" -#> 9 2009 793068 555477 2 "REF:\"github.com\"" -#> 10 2010 851021 540514 10 "REF:\"github.com\"" -#> # … with 30 more rows +#> 1 2009 793211 555994 13 "REF:\"code.google.com\"" +#> 2 2010 851063 541440 40 "REF:\"code.google.com\"" +#> 3 2011 904794 604311 65 "REF:\"code.google.com\"" +#> 4 2012 946175 636818 92 "REF:\"code.google.com\"" +#> 5 2013 1004386 763699 135 "REF:\"code.google.com\"" +#> 6 2014 1055159 797691 140 "REF:\"code.google.com\"" +#> 7 2015 1096370 780509 117 "REF:\"code.google.com\"" +#> 8 2016 1117117 783865 65 "REF:\"code.google.com\"" +#> 9 2017 1138383 819481 52 "REF:\"code.google.com\"" +#> 10 2018 1180056 757547 29 "REF:\"code.google.com\"" +#> # ℹ 60 more rows ### total -hits_summary <- my_df %>% - group_by(query_id) %>% - summarise(all = sum(query_hits)) %>% +hits_summary <- my_df %>% + group_by(query_id) %>% + summarise(all = sum(query_hits)) %>% arrange(desc(all)) hits_summary #> # A tibble: 5 × 2 #> query_id all #> -#> 1 "REF:\"cran.r-project.org\"" 8221 -#> 2 "REF:\"github.com\"" 1609 -#> 3 "REF:\"code.google.com\"" 667 -#> 4 "REF:\"sourceforge.net\"" 643 -#> 5 "REF:\"bitbucket.org\"" 94 +#> 1 "REF:\"cran.r-project.org\"" 44677 +#> 2 "REF:\"github.com\"" 28886 +#> 3 "REF:\"sourceforge.net\"" 1777 +#> 4 "REF:\"code.google.com\"" 896 +#> 5 "REF:\"bitbucket.org\"" 440 ``` -The proportion of papers where Europe PMC was able to make the cited literature available was 70 for the period 2009-2016. There also seems to be a time-lag between indexing reference lists because the absolute number of publication was decreasing over the years. This is presumably because Europe PMC also includes delayed open access content, i.e. content which is not added immediately with the original publication.[^4] +The proportion of papers where Europe PMC was able to make the cited literature available was 63 for the period 2009-2022. There also seems to be a time-lag between indexing reference lists because the absolute number of publication was decreasing over the years. This is presumably because Europe PMC also includes delayed open access content, i.e. content which is not added immediately with the original publication.[^4] [^4]: Ebd. @@ -167,7 +178,7 @@ Now, let's make a proper review graph normalizing our query results with the num ```r library(ggplot2) -ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, +ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, color = query_id)) + geom_line(size = 1, alpha = 0.8) + geom_point(size = 2) + @@ -176,21 +187,24 @@ ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, ylab("Proportion of articles in Europe PMC") ``` -literature links to software in europe pmc +
+literature links to software in europe pmc +

plot of chunk software_lit

+
#### Discussion and Conclusion -Although this figure illustrates the relative popularity of citing code hosted by CRAN and GitHub in recent years, there are some limits that needs to be discussed. As said before, Europe PMC does not extract reference lists from every indexed publication. It furthermore remains open whether and to what extent software is cited outside the reference section, i.e. as footnote or in the acknowledgements. +Although this figure illustrates the relative popularity of citing code hosted by CRAN and GitHub in recent years, there are some limits that needs to be discussed. As said before, Europe PMC does not extract reference lists from every indexed publication. It furthermore remains open whether and to what extent software is cited outside the reference section, i.e. as footnote or in the acknowledgements. -Another problem of our query approach is that we did not consider that DOIs can also be used to cite software, a best-practice implemented by [Zenodo and GitHub](https://guides.github.com/activities/citable-code/) or the [The Journal of Open Source Software](https://joss.theoj.org/). +Another problem of our query approach is that we did not consider that DOIs can also be used to cite software, a best-practice implemented by [Zenodo and GitHub](https://docs.github.com/repositories/archiving-a-github-repository/referencing-and-citing-content) or the [The Journal of Open Source Software](https://joss.theoj.org/). -Lastly, it actually remains unclear, which and what kind of software is cited how often. We could also not control if authors just cited the homepages and not a particular source code repository. One paper can also cite more than one code repository, which is also not represented in the trend graph. +Lastly, it actually remains unclear, which and what kind of software is cited how often. We could also not control if authors just cited the homepages and not a particular source code repository. One paper can also cite more than one code repository, which is also not represented in the trend graph. To conclude, a proper trend graph on the extent of software citation can only be the start for a more sophisticated approach that mines links to software repositories from scientific literature and fetches metadata about these code repositories from the hosting facilities. ## Conclusion -This vignette presented first steps on how to make trend graphs with `europepmc`. As our use-cases suggest, please carefully consider how you queried Europe PMC in the interpretation of your graph. Although trend graphs are a nice way to illustrate the development of certain concepts in scientific literature or recent trends in scholarly communication, they must be put in context in order to become meaningful. +This vignette presented first steps on how to make trend graphs with `europepmc`. As our use-cases suggest, please carefully consider how you queried Europe PMC in the interpretation of your graph. Although trend graphs are a nice way to illustrate the development of certain concepts in scientific literature or recent trends in scholarly communication, they must be put in context in order to become meaningful. ## Acknowledgements diff --git a/vignettes/evergreenreviewgraphs.Rmd.orig b/vignettes/evergreenreviewgraphs.Rmd.orig index f36f6d6..d88509f 100644 --- a/vignettes/evergreenreviewgraphs.Rmd.orig +++ b/vignettes/evergreenreviewgraphs.Rmd.orig @@ -17,8 +17,13 @@ knitr::opts_chunk$set( message = FALSE, echo = TRUE, fig.width = 7, - fig.height = 4 + fig.height = 5, + fig.retina = 1, + dpi = 300, + fig.path = "vignettes/", fig.process = function(x) {basename(x)} ) +knitr::opts_knit$set(root.dir = "vignettes/") + options(scipen = 999, digits = 2) knitr::knit_hooks$set(inline = function(x) { if(is.numeric(x)){ @@ -29,18 +34,18 @@ knitr::knit_hooks$set(inline = function(x) { }) ``` -Trend graphs in literature reviews show the development of concepts in scholarly communication. Some trend graphs, however, don't acknowledge that the number of scholarly publications is growing each year, but simply display the absolute number of hits they have found for a given concept. Noam Ross called these misleading graphs evergreen review graphs because of their enduring popularity in review papers. Examples can be found on Twitter under the Hashtag [#evergreenreviewgraph](https://twitter.com/hashtag/evergreenreviewgraph). +Trend graphs in literature reviews show the development of concepts in scholarly communication. Some trend graphs, however, don't acknowledge that the number of scholarly publications is growing each year, but simply display the absolute number of hits they have found for a given concept. Noam Ross called these misleading graphs evergreen review graphs because of their enduring popularity in review papers. -This vignette guides you how to make proper trend graphs when reviewing Europe PMC literature. In these graphs, the number of hits found is divided by the total number of records indexed in Europe PMC for a given search query. +This vignette guides you how to make proper trend graphs when reviewing Europe PMC literature. In these graphs, the number of hits found is divided by the total number of records indexed in Europe PMC for a given search query. ## Preparing proper review graphs with `epmc_hits_trend()` -We use `epmc_hits_trend()` function, which was firstly introduced in Maëlle Salmon's blog post about "How not to make an evergreen review graph"[^1]. The function takes a query in the Europe PMC search syntax[^2] and the period of years over which to perform the search as arguments, and returns a data-frame with year, total number of hits (`all_hits`) and number of hits for the query (`query_hits`). +We use `epmc_hits_trend()` function, which was firstly introduced in Maëlle Salmon's blog post about "How not to make an evergreen review graph"[^1]. The function takes a query in the Europe PMC search syntax[^2] and the period of years over which to perform the search as arguments, and returns a data-frame with year, total number of hits (`all_hits`) and number of hits for the query (`query_hits`). ```{r} library(europepmc) -europepmc::epmc_hits_trend(query = "aspirin", period = 2010:2016) +europepmc::epmc_hits_trend(query = "aspirin", period = 2010:2022) ``` By default, synonym search is disabled and only Medline/PubMed index is searched. @@ -49,21 +54,21 @@ By default, synonym search is disabled and only Medline/PubMed index is searched [^2]: Europe PMC Search Syntax: -## Use Cases +## Use Cases ### Use Case: Growth of Open Access Literature -There is a growing interest in knowing the proportion of open access to scholarly literature. Europe PMC allows searching for open access content with the [`OPEN_ACCESS:Y` parameter](https://europepmc.org/search?query=OPEN_ACCESS:Y&page=1&sortby=Relevance). At the moment, Europe PMC contains `r europepmc::epmc_hits("OPEN_ACCESS:Y")` open access full-texts. Let's see how they are relatively distributed over the period 1995 - 2016. +There is a growing interest in knowing the proportion of open access to scholarly literature. Europe PMC allows searching for open access content with the [`OPEN_ACCESS:Y` parameter](https://europepmc.org/search?query=OPEN_ACCESS:Y&page=1&sortby=Relevance). At the moment, Europe PMC contains `r europepmc::epmc_hits("OPEN_ACCESS:Y")` open access full-texts. Let's see how they are relatively distributed over the period 2010 - 2022. -```{r oa_pmc, fig.align="center", fig.path="../vignettes/", fig.alt="oa in europe pmc"} -tt_oa <- europepmc::epmc_hits_trend("OPEN_ACCESS:Y", period = 1995:2016, synonym = FALSE) +```{r oa_pmc, fig.align="center", fig.alt="oa in europe pmc"} +tt_oa <- europepmc::epmc_hits_trend("OPEN_ACCESS:Y", period = 2010:2022, synonym = FALSE) tt_oa # we use ggplot2 for plotting the graph library(ggplot2) -ggplot(tt_oa, aes(year, query_hits / all_hits)) + - geom_point() + +ggplot(tt_oa, aes(factor(year), query_hits / all_hits, group = 1)) + + geom_point() + geom_line() + - xlab("Year published") + + xlab("Year published") + ylab("Proportion of OA full-texts in Europe PMC") ``` @@ -94,7 +99,7 @@ We only want to search reference lists. Because Europe PMC does not index refere Let's prepare the queries for links to the above mentioned code hosting services: ```{r} -dvcs <- c("code.google.com", "github.com", +dvcs <- c("code.google.com", "github.com", "sourceforge.net", "bitbucket.org", "cran.r-project.org") # make queries including reference section dvcs_query <- paste0('REF:"', dvcs, '"') @@ -106,33 +111,33 @@ and get publications for which Europe PMC gives access to reference lists for no library(dplyr) my_df <- purrr::map_df(dvcs_query, function(x) { # get number of publications with indexed reference lists - refs_hits <- - europepmc::epmc_hits_trend("has_reflist:y", period = 2009:2016, synonym = FALSE)$query_hits - # get hit count querying for code repositories - europepmc::epmc_hits_trend(x, period = 2009:2016, synonym = FALSE) %>% + refs_hits <- + europepmc::epmc_hits_trend("has_reflist:y", period = 2009:2022, synonym = FALSE)$query_hits + # get hit count querying for code repositories + europepmc::epmc_hits_trend(x, period = 2009:2022, synonym = FALSE) %>% dplyr::mutate(query_id = x) %>% dplyr::mutate(refs_hits = refs_hits) %>% dplyr::select(year, all_hits, refs_hits, query_hits, query_id) -}) +}) my_df ### total -hits_summary <- my_df %>% - group_by(query_id) %>% - summarise(all = sum(query_hits)) %>% +hits_summary <- my_df %>% + group_by(query_id) %>% + summarise(all = sum(query_hits)) %>% arrange(desc(all)) hits_summary ``` -The proportion of papers where Europe PMC was able to make the cited literature available was `r round(sum(my_df$refs_hits) / sum(my_df$all_hits), digits = 2) *100` for the period 2009-2016. There also seems to be a time-lag between indexing reference lists because the absolute number of publication was decreasing over the years. This is presumably because Europe PMC also includes delayed open access content, i.e. content which is not added immediately with the original publication.[^4] +The proportion of papers where Europe PMC was able to make the cited literature available was `r round(sum(my_df$refs_hits) / sum(my_df$all_hits), digits = 2) *100` for the period 2009-2022. There also seems to be a time-lag between indexing reference lists because the absolute number of publication was decreasing over the years. This is presumably because Europe PMC also includes delayed open access content, i.e. content which is not added immediately with the original publication.[^4] [^4]: Ebd. Now, let's make a proper review graph normalizing our query results with the number of publications with indexed references. -```{r software_lit, fig.align="center", fig.path="../vignettes/", fig.alt="literature links to software in europe pmc"} +```{r software_lit, fig.align="center", fig.alt="literature links to software in europe pmc"} library(ggplot2) -ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, +ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, color = query_id)) + geom_line(size = 1, alpha = 0.8) + geom_point(size = 2) + @@ -143,17 +148,17 @@ ggplot(my_df, aes(factor(year), query_hits / refs_hits, group = query_id, #### Discussion and Conclusion -Although this figure illustrates the relative popularity of citing code hosted by CRAN and GitHub in recent years, there are some limits that needs to be discussed. As said before, Europe PMC does not extract reference lists from every indexed publication. It furthermore remains open whether and to what extent software is cited outside the reference section, i.e. as footnote or in the acknowledgements. +Although this figure illustrates the relative popularity of citing code hosted by CRAN and GitHub in recent years, there are some limits that needs to be discussed. As said before, Europe PMC does not extract reference lists from every indexed publication. It furthermore remains open whether and to what extent software is cited outside the reference section, i.e. as footnote or in the acknowledgements. -Another problem of our query approach is that we did not consider that DOIs can also be used to cite software, a best-practice implemented by [Zenodo and GitHub](https://guides.github.com/activities/citable-code/) or the [The Journal of Open Source Software](https://joss.theoj.org/). +Another problem of our query approach is that we did not consider that DOIs can also be used to cite software, a best-practice implemented by [Zenodo and GitHub](https://docs.github.com/repositories/archiving-a-github-repository/referencing-and-citing-content) or the [The Journal of Open Source Software](https://joss.theoj.org/). -Lastly, it actually remains unclear, which and what kind of software is cited how often. We could also not control if authors just cited the homepages and not a particular source code repository. One paper can also cite more than one code repository, which is also not represented in the trend graph. +Lastly, it actually remains unclear, which and what kind of software is cited how often. We could also not control if authors just cited the homepages and not a particular source code repository. One paper can also cite more than one code repository, which is also not represented in the trend graph. To conclude, a proper trend graph on the extent of software citation can only be the start for a more sophisticated approach that mines links to software repositories from scientific literature and fetches metadata about these code repositories from the hosting facilities. ## Conclusion -This vignette presented first steps on how to make trend graphs with `europepmc`. As our use-cases suggest, please carefully consider how you queried Europe PMC in the interpretation of your graph. Although trend graphs are a nice way to illustrate the development of certain concepts in scientific literature or recent trends in scholarly communication, they must be put in context in order to become meaningful. +This vignette presented first steps on how to make trend graphs with `europepmc`. As our use-cases suggest, please carefully consider how you queried Europe PMC in the interpretation of your graph. Although trend graphs are a nice way to illustrate the development of certain concepts in scientific literature or recent trends in scholarly communication, they must be put in context in order to become meaningful. ## Acknowledgements diff --git a/vignettes/introducing-europepmc.Rmd b/vignettes/introducing-europepmc.Rmd index 55d373c..545ea96 100644 --- a/vignettes/introducing-europepmc.Rmd +++ b/vignettes/introducing-europepmc.Rmd @@ -1,7 +1,7 @@ --- title: "Overview" author: "Najko Jahn" -date: "2021-08-24" +date: "2023-08-21" output: rmarkdown::html_vignette vignette: > %\VignetteEngine{knitr::rmarkdown} @@ -37,26 +37,26 @@ In the following, some examples demonstrate how to search Europe PMC with R. ```r library(europepmc) europepmc::epmc_search('malaria') -#> # A tibble: 100 × 29 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 34100426 MED 34100426 10.4… New … Lima MN, Ba… Neural Rege… 1 17 -#> 2 33341138 MED 33341138 10.1… Trip… Wang J, Xu … Lancet 10267 396 -#> 3 33341139 MED 33341139 10.1… Trip… van der Plu… Lancet 10267 396 -#> 4 33535760 MED 33535760 10.3… THE … Damiani E, … Acta Med Hi… 2 18 -#> 5 33530764 MED 33530764 10.1… Disc… Hoarau M, V… J Enzyme In… 1 36 -#> 6 33372863 MED 33372863 10.1… ATP2… Lamy A, Mac… Emerg Micro… 1 10 -#> 7 33594960 MED 33594960 10.1… Mana… Kambale-Kom… Hematology 1 26 -#> 8 34283002 MED 34283002 10.1… P… Alhassan AM… Pharm Biol 1 59 -#> 9 34184352 MED 34184352 10.1… Stru… Chhibber-Go… Protein Sci 9 30 -#> 10 34419123 MED 34419123 10.1… Burd… Dao F, Djon… Parasit Vec… 1 14 -#> # … with 90 more rows, and 20 more variables: pubYear , journalIssn , +#> # A tibble: 100 × 28 +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 36419237 MED 364192… PMC9… 10.1… Path… Walker IS, … Virulence 1 +#> 2 37158217 MED 371582… PMC1… 10.1… Mobi… Kollipara A… Glob Health… 1 +#> 3 37310126 MED 373101… PMC1… 10.1… Clin… Bi D, Huang… Ann Med 1 +#> 4 37459385 MED 374593… 10.1… A co… Eisenberg S… Glob Health… 1 +#> 5 36871259 MED 368712… PMC9… 10.1… Asse… Jantausch B… Med Educ On… 1 +#> 6 37053493 MED 370534… 10.1… Opti… Kalula A, M… J Biol Dyn 1 +#> 7 37191627 MED 371916… PMC1… 10.1… Huma… Ellis R, We… Hum Vaccin … 1 +#> 8 37165851 MED 371658… PMC1… 10.1… Tria… Cho Y, Awoo… Glob Health… 1 +#> 9 37074313 MED 370743… PMC9… 10.1… Deng… Asaga Mac P… Ann Med 1 +#> 10 IND607962262 AGR Effe… Ojueromi OO… Journal of … 11 +#> # ℹ 90 more rows +#> # ℹ 19 more variables: journalVolume , pubYear , journalIssn , #> # pageInfo , pubType , isOpenAccess , inEPMC , #> # inPMC , hasPDF , hasBook , hasSuppl , #> # citedByCount , hasReferences , hasTextMinedTerms , #> # hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , pmcid , versionNumber +#> # hasTMAccessionNumbers , firstIndexDate , … ``` It is worth noting that Europe PMC expands queries with MeSH synonyms by default, a behavior which can be turned off with the `synonym` parameter. @@ -64,26 +64,26 @@ It is worth noting that Europe PMC expands queries with MeSH synonyms by default ```r europepmc::epmc_search('malaria', synonym = FALSE) -#> # A tibble: 100 × 29 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 33341139 MED 33341139 10.1… Trip… van der Plu… Lancet 10267 396 -#> 2 33341138 MED 33341138 10.1… Trip… Wang J, Xu … Lancet 10267 396 -#> 3 34100426 MED 34100426 10.4… New … Lima MN, Ba… Neural Rege… 1 17 -#> 4 34184352 MED 34184352 10.1… Stru… Chhibber-Go… Protein Sci 9 30 -#> 5 34380494 MED 34380494 10.1… Publ… Heuschen AK… Malar J 1 20 -#> 6 33530764 MED 33530764 10.1… Disc… Hoarau M, V… J Enzyme In… 1 36 -#> 7 34399767 MED 34399767 10.1… Inve… Njau J, Sil… Malar J 1 20 -#> 8 PPR385006 PPR 10.2… Temp… Ingholt MM,… -#> 9 34419123 MED 34419123 10.1… Burd… Dao F, Djon… Parasit Vec… 1 14 -#> 10 34376219 MED 34376219 10.1… An a… Wanzira H, … BMC Health … 1 21 -#> # … with 90 more rows, and 20 more variables: pubYear , journalIssn , +#> # A tibble: 100 × 28 +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 37158217 MED 371582… PMC1… 10.1… Mobi… Kollipara A… Glob Health… 1 +#> 2 36419237 MED 364192… PMC9… 10.1… Path… Walker IS, … Virulence 1 +#> 3 37459385 MED 374593… 10.1… A co… Eisenberg S… Glob Health… 1 +#> 4 37053493 MED 370534… 10.1… Opti… Kalula A, M… J Biol Dyn 1 +#> 5 37310126 MED 373101… PMC1… 10.1… Clin… Bi D, Huang… Ann Med 1 +#> 6 36871259 MED 368712… PMC9… 10.1… Asse… Jantausch B… Med Educ On… 1 +#> 7 37165851 MED 371658… PMC1… 10.1… Tria… Cho Y, Awoo… Glob Health… 1 +#> 8 37074313 MED 370743… PMC9… 10.1… Deng… Asaga Mac P… Ann Med 1 +#> 9 IND607962262 AGR Effe… Ojueromi OO… Journal of … 11 +#> 10 37580690 MED 375806… 10.1… Tren… Teka H, Gol… Malar J 1 +#> # ℹ 90 more rows +#> # ℹ 19 more variables: journalVolume , pubYear , journalIssn , #> # pageInfo , pubType , isOpenAccess , inEPMC , #> # inPMC , hasPDF , hasBook , hasSuppl , #> # citedByCount , hasReferences , hasTextMinedTerms , #> # hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , pmcid , versionNumber +#> # hasTMAccessionNumbers , firstIndexDate , … ``` To get an exact match, use quotes as in the following example: @@ -92,25 +92,25 @@ To get an exact match, use quotes as in the following example: ```r europepmc::epmc_search('"Human malaria parasites"') #> # A tibble: 100 × 29 -#> id source pmid doi title authorString journalTitle pubYear journalIssn -#> -#> 1 34415329 MED 34415329 10.1… Func… Kimata-Arig… J Biochem 2021 "0021-924x… -#> 2 34087264 MED 34087264 10.1… Dive… Goh XT, Lim… Mol Biochem… 2021 "0166-6851… -#> 3 34400833 MED 34400833 10.1… A he… Tintó-Font … Nat Microbi… 2021 "2058-5276" -#> 4 33789941 MED 33789941 10.1… Addi… Kwon H, Sim… mSphere 2021 "2379-5042" -#> 5 34211355 MED 34211355 An E… Clark NF, T… Yale J Biol… 2021 "0044-0086… -#> 6 34362867 MED 34362867 10.4… High… Lai MY, Raf… Trop Biomed 2021 "0127-5720… -#> 7 33693917 MED 33693917 10.1… Non-… Antinori S,… J Travel Med 2021 "1195-1982… -#> 8 32470136 MED 32470136 10.1… C-te… Kimata-Arig… J Biochem 2020 "0021-924x… -#> 9 PPR353209 PPR 10.1… 5-me… Liu M, Guo … 2021 -#> 10 33797521 MED 33797521 10.4… Comp… Mat Salleh … Trop Biomed 2021 "0127-5720… -#> # … with 90 more rows, and 20 more variables: pubType , -#> # isOpenAccess , inEPMC , inPMC , hasPDF , hasBook , -#> # hasSuppl , citedByCount , hasReferences , +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 37452… MED 3745… 10.1… Mole… Lazrek Y, F… Sci Rep 1 13 +#> 2 37277… MED 3727… 10.1… Sexu… Harris CT, … Nat Microbi… 7 8 +#> 3 36777… MED 3677… 10.3… A no… Das R, Vash… Front Vet S… 10 +#> 4 37365… MED 3736… 10.2… Virt… Yasir M, Pa… Curr Comput… +#> 5 37454… MED 3745… 10.1… Simi… Fornace KM,… Lancet Infe… +#> 6 PPR66… PPR 10.1… Gene… Suárez-Cort… +#> 7 37121… MED 3712… 10.1… The … Thompson TA… Trends Para… 7 39 +#> 8 36007… MED 3600… 10.1… Bulk… Li X, Kumar… Parasitol I… 91 +#> 9 PPR55… PPR 10.1… A co… Zhang X, Fl… +#> 10 36495… MED 3649… 10.1… A ra… Dong L, Li … Clin Chim A… 539 +#> # ℹ 90 more rows +#> # ℹ 20 more variables: pubYear , journalIssn , pageInfo , +#> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , +#> # hasBook , hasSuppl , citedByCount , hasReferences , #> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , #> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , journalVolume , pageInfo , -#> # issue , pmcid , versionNumber +#> # firstPublicationDate , pmcid , versionNumber ``` ### Managing search results @@ -122,25 +122,24 @@ By default, 100 records are returned, but the number of results can be expanded ```r europepmc::epmc_search('"Human malaria parasites"', limit = 10) #> # A tibble: 10 × 28 -#> id source pmid doi title authorString journalTitle pubYear journalIssn -#> -#> 1 34415329 MED 34415329 10.1… Func… Kimata-Arig… J Biochem 2021 "0021-924x… -#> 2 34087264 MED 34087264 10.1… Dive… Goh XT, Lim… Mol Biochem… 2021 "0166-6851… -#> 3 34400833 MED 34400833 10.1… A he… Tintó-Font … Nat Microbi… 2021 "2058-5276" -#> 4 33789941 MED 33789941 10.1… Addi… Kwon H, Sim… mSphere 2021 "2379-5042" -#> 5 34211355 MED 34211355 An E… Clark NF, T… Yale J Biol… 2021 "0044-0086… -#> 6 34362867 MED 34362867 10.4… High… Lai MY, Raf… Trop Biomed 2021 "0127-5720… -#> 7 33693917 MED 33693917 10.1… Non-… Antinori S,… J Travel Med 2021 "1195-1982… -#> 8 32470136 MED 32470136 10.1… C-te… Kimata-Arig… J Biochem 2020 "0021-924x… -#> 9 PPR353209 PPR 10.1… 5-me… Liu M, Guo … 2021 -#> 10 33797521 MED 33797521 10.4… Comp… Mat Salleh … Trop Biomed 2021 "0127-5720… -#> # … with 19 more variables: pubType , isOpenAccess , inEPMC , -#> # inPMC , hasPDF , hasBook , hasSuppl , -#> # citedByCount , hasReferences , hasTextMinedTerms , -#> # hasDbCrossReferences , hasLabsLinks , +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 37452… MED 3745… 10.1… Mole… Lazrek Y, F… Sci Rep 1 13 +#> 2 37277… MED 3727… 10.1… Sexu… Harris CT, … Nat Microbi… 7 8 +#> 3 36777… MED 3677… 10.3… A no… Das R, Vash… Front Vet S… 10 +#> 4 37365… MED 3736… 10.2… Virt… Yasir M, Pa… Curr Comput… +#> 5 37454… MED 3745… 10.1… Simi… Fornace KM,… Lancet Infe… +#> 6 PPR66… PPR 10.1… Gene… Suárez-Cort… +#> 7 37121… MED 3712… 10.1… The … Thompson TA… Trends Para… 7 39 +#> 8 36007… MED 3600… 10.1… Bulk… Li X, Kumar… Parasitol I… 91 +#> 9 PPR55… PPR 10.1… A co… Zhang X, Fl… +#> 10 36495… MED 3649… 10.1… A ra… Dong L, Li … Clin Chim A… 539 +#> # ℹ 19 more variables: pubYear , journalIssn , pageInfo , +#> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , +#> # hasBook , hasSuppl , citedByCount , hasReferences , +#> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , #> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , journalVolume , pageInfo , -#> # issue , pmcid +#> # firstPublicationDate , pmcid ``` Results are sorted by relevance. Other options via the `sort` parameter are @@ -162,13 +161,13 @@ my_dois <- c( ) europepmc::epmc_search_by_doi(doi = my_dois) #> # A tibble: 4 × 28 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 28957815 MED 28957815 10.1… Clin… Schnieder M… Eur Neurol 5-6 78 -#> 2 28941317 MED 28941317 10.1… Conc… Doeppner TR… Stem Cells … 11 6 -#> 3 29018132 MED 29018132 10.1… One-… Psychogios … Stroke 11 48 -#> 4 28623611 MED 28623611 10.1… Defe… Carboni E, … Neuromolecu… 2-3 19 -#> # … with 19 more variables: pubYear , journalIssn , pageInfo , +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 289578… MED 2895… 10.1… Clin… Schnieder M… Eur Neurol 5-6 78 +#> 2 289413… MED 2894… 10.1… Conc… Doeppner TR… Stem Cells … 11 6 +#> 3 290181… MED 2901… 10.1… One-… Psychogios … Stroke 11 48 +#> 4 286236… MED 2862… 10.1… Defe… Carboni E, … Neuromolecu… 2-3 19 +#> # ℹ 19 more variables: pubYear , journalIssn , pageInfo , #> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , #> # hasBook , hasSuppl , citedByCount , hasReferences , #> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , @@ -193,19 +192,19 @@ Use the Europe PMC query syntax to search by author names: ```r europepmc::epmc_search('AUTH:"Salmon Maelle"') #> # A tibble: 10 × 28 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 30378432 MED 30378432 10.1… When… Milà C, Sal… Environ Sci… 22 52 -#> 2 29778830 MED 29778830 10.1… Wear… Salmon M, M… Environ Int 117 -#> 3 29751338 MED 29751338 10.1… Use … Kumar MK, S… Environ Pol… 239 -#> 4 29330030 MED 29330030 10.1… Heal… Mueller N, … Prev Med 109 -#> 5 29626773 MED 29626773 10.1… Deve… Sanchez M, … Sci Total E… 634 -#> 6 29088243 MED 29088243 10.1… Time… Schumacher … PLoS One 10 12 -#> 7 28606699 MED 28606699 10.1… Inte… Tonne C, Sa… Int J Hyg E… 6 220 -#> 8 28708095 MED 28708095 10.3… Pred… Sanchez M, … Int J Envir… 7 14 -#> 9 27063588 MED 27063588 10.2… A sy… Salmon M, S… Euro Survei… 13 21 -#> 10 26250543 MED 26250543 10.1… Baye… Salmon M, S… Biom J 6 57 -#> # … with 19 more variables: pubYear , journalIssn , pageInfo , +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 30378… MED 3037… 10.1… "Whe… Milà C, Sal… Environ Sci… 22 52 +#> 2 29751… MED 2975… 10.1… "Use… Kumar MK, S… Environ Pol… 239 +#> 3 29778… MED 2977… 10.1… "Wea… Salmon M, M… Environ Int 117 +#> 4 29088… MED 2908… 10.1… "Tim… Schumacher … PLoS One 10 12 +#> 5 29330… MED 2933… 10.1… "Hea… Mueller N, … Prev Med 109 +#> 6 29626… MED 2962… 10.1… "Dev… Sanchez M, … Sci Total E… 634 +#> 7 28606… MED 2860… 10.1… "Int… Tonne C, Sa… Int J Hyg E… 6 220 +#> 8 28708… MED 2870… 10.3… "Pre… Sanchez M, … Int J Envir… 7 14 +#> 9 27063… MED 2706… 10.2… "A s… Salmon M, S… Euro Survei… 13 21 +#> 10 26250… MED 2625… 10.1… "Bay… Salmon M, S… Biom J 6 57 +#> # ℹ 19 more variables: pubYear , journalIssn , pageInfo , #> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , #> # hasBook , hasSuppl , citedByCount , hasReferences , #> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , @@ -219,26 +218,26 @@ europepmc::epmc_search('AUTH:"Salmon Maelle"') ```r q <- 'AUTH:"PÜHLER Alfred" OR AUTH:"Pühler Alfred Prof. Dr." OR AUTH:"Puhler A"' europepmc::epmc_search(q, limit = 1000) -#> # A tibble: 590 × 29 -#> id source pmid pmcid doi title authorString journalTitle journalVolume -#> -#> 1 34367203 MED 34367203 PMC8… 10.3… ExoS… Geiger O, S… Front Plant… 12 -#> 2 34361893 MED 34361893 PMC8… 10.3… Indi… Hassa J, Kl… Microorgani… 9 -#> 3 34040261 MED 34040261 PMC8… 10.1… Swar… Warnat-Herr… Nature 594 -#> 4 33589928 MED 33589928 10.1… Impl… Mayer G, Mü… Brief Bioin… -#> 5 33643369 MED 33643369 PMC7… 10.3… Exop… Castellani … Front Plant… 12 -#> 6 33441124 MED 33441124 PMC7… 10.1… Dise… Aschenbrenn… Genome Med 13 -#> 7 PPR264825 PPR 10.2… The … Droste J, O… -#> 8 33220679 MED 33220679 10.1… Glob… Nilsson JF,… FEMS Microb… 97 -#> 9 33348776 MED 33348776 PMC7… 10.3… The … Maus I, Tub… Microorgani… 8 -#> 10 33296687 MED 33296687 PMC7… 10.1… Long… Bernardes J… Immunity 53 -#> # … with 580 more rows, and 20 more variables: pubYear , -#> # journalIssn , pageInfo , pubType , isOpenAccess , -#> # inEPMC , inPMC , hasPDF , hasBook , hasSuppl , +#> # A tibble: 602 × 29 +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 36998097 MED 36998097 PMC1006… 10.1… "Abu… Nelkner J, … Environ Mic… 1 +#> 2 36748496 MED 36748496 10.1… "… Köller N, H… Int J Syst … 12 +#> 3 36439843 MED 36439843 PMC9682… 10.3… "The… Maus I, Wib… Front Micro… +#> 4 36305336 MED 36305336 PMC9615… 10.2… "Int… Houwaart T,… Euro Survei… 43 +#> 5 36073816 MED 36073816 PMC9601… 10.1… "Rcg… Castellani … mBio 5 +#> 6 35151713 MED 35151713 10.1… "Two… Steffens T,… J Biotechnol +#> 7 34181711 MED 34181711 PMC8406… 10.1… "Cha… Walker A, H… Clin Infect… 6 +#> 8 34682252 MED 34682252 PMC8537… 10.3… "Gen… Wibberg D, … J Fungi (Ba… 10 +#> 9 34592166 MED 34592166 PMC8416… 10.1… "Ear… Krämer B, K… Immunity 11 +#> 10 33589928 MED 33589928 PMC8425… 10.1… "Imp… Mayer G, Mü… Brief Bioin… 5 +#> # ℹ 592 more rows +#> # ℹ 20 more variables: journalVolume , pubYear , journalIssn , +#> # pageInfo , pubType , isOpenAccess , inEPMC , +#> # inPMC , hasPDF , hasBook , hasSuppl , #> # citedByCount , hasReferences , hasTextMinedTerms , #> # hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , issue , versionNumber +#> # hasTMAccessionNumbers , firstIndexDate , … ``` There is a considerable overlap between common names. The integration of ORCID, a persistent author identifier, allows unambiguous search for personal publications in Europe PMC. For example, here's how to search for publications written by Bernd Weisshaar (ORCID: ) sorted by the number of times cited in descending order: @@ -246,24 +245,24 @@ There is a considerable overlap between common names. The integration of ORCID, ```r europepmc::epmc_search('AUTHORID:"0000-0002-7635-3473"', limit = 200, sort = "cited") -#> # A tibble: 150 × 28 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 21873998 MED 21873998 10.1… The … Wang X, Wan… Nat Genet 10 43 -#> 2 20674465 MED 20674465 10.1… MYB … Dubos C, St… Trends Plan… 10 15 -#> 3 11597504 MED 11597504 10.1… The … Stracke R, … Curr Opin P… 5 4 -#> 4 11906833 MED 11906833 10.1… bZIP… Jakoby M, W… Trends Plan… 3 7 -#> 5 14756321 MED 14756321 10.1… An A… Rosso MG, L… Plant Mol B… 1-2 53 -#> 6 12679534 MED 12679534 10.1… The … Heim MA, Ja… Mol Biol Ev… 5 20 -#> 7 11080161 MED 11080161 10.1… Tran… Jin H, Comi… EMBO J 22 19 -#> 8 15361138 MED 15361138 10.1… Comp… Zimmermann … Plant J 1 40 -#> 9 15255866 MED 15255866 10.1… TT2,… Baudry A, H… Plant J 3 39 -#> 10 17419845 MED 17419845 10.1… Diff… Stracke R, … Plant J 4 50 -#> # … with 140 more rows, and 19 more variables: pubYear , -#> # journalIssn , pageInfo , pubType , isOpenAccess , -#> # inEPMC , inPMC , hasPDF , hasBook , hasSuppl , -#> # citedByCount , hasReferences , hasTextMinedTerms , -#> # hasDbCrossReferences , hasLabsLinks , +#> # A tibble: 160 × 28 +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 20674… MED 2067… 10.1… MYB … Dubos C, St… Trends Plan… 10 15 +#> 2 21873… MED 2187… 10.1… The … Wang X, Wan… Nat Genet 10 43 +#> 3 11597… MED 1159… 10.1… The … Stracke R, … Curr Opin P… 5 4 +#> 4 11906… MED 1190… 10.1… bZIP… Jakoby M, W… Trends Plan… 3 7 +#> 5 14756… MED 1475… 10.1… An A… Rosso MG, L… Plant Mol B… 1-2 53 +#> 6 12679… MED 1267… 10.1… The … Heim MA, Ja… Mol Biol Ev… 5 20 +#> 7 17419… MED 1741… 10.1… Diff… Stracke R, … Plant J 4 50 +#> 8 15255… MED 1525… 10.1… TT2,… Baudry A, H… Plant J 3 39 +#> 9 11080… MED 1108… 10.1… Tran… Jin H, Comi… EMBO J 22 19 +#> 10 15361… MED 1536… 10.1… Comp… Zimmermann … Plant J 1 40 +#> # ℹ 150 more rows +#> # ℹ 19 more variables: pubYear , journalIssn , pageInfo , +#> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , +#> # hasBook , hasSuppl , citedByCount , hasReferences , +#> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , #> # hasTMAccessionNumbers , firstIndexDate , #> # firstPublicationDate , pmcid ``` @@ -277,20 +276,21 @@ These automatically identified concepts and term can be retrieved at the article ```r europepmc::epmc_annotations_by_id(c("MED:28585529", "PMC:PMC1664601")) -#> # A tibble: 774 × 13 -#> source ext_id pmcid prefix exact postfix name uri id type section -#> -#> 1 MED 28585529 PMC5467160 "tive… Beta… " allo… Beta… http… http… Clin… Title … -#> 2 MED 28585529 PMC5467160 "nomi… genes ".\nRa… gene http… http… Sequ… Title … -#> 3 MED 28585529 PMC5467160 "nomi… genes " is o… gene http… http… Sequ… Abstra… -#> 4 MED 28585529 PMC5467160 " One… genes " are … gene http… http… Sequ… Abstra… -#> 5 MED 28585529 PMC5467160 " ide… beet " (Bet… Beta… http… http… Clin… Abstra… -#> 6 MED 28585529 PMC5467160 "ify … Beta… " ssp.… Beta… http… http… Clin… Abstra… -#> 7 MED 28585529 PMC5467160 "ulga… gene " Rz2 … gene http… http… Sequ… Abstra… -#> 8 MED 28585529 PMC5467160 "e ge… geno… " sequ… geno… http… http… Sequ… Abstra… -#> 9 MED 28585529 PMC5467160 "eque… beet ". Our… Beta… http… http… Clin… Abstra… -#> 10 MED 28585529 PMC5467160 "disc… genes " rele… gene http… http… Sequ… Abstra… -#> # … with 764 more rows, and 2 more variables: provider , subType +#> # A tibble: 724 × 13 +#> source ext_id pmcid prefix exact postfix name uri id type section +#> +#> 1 MED 28585529 PMC5467… "tive… Beta… " allo… Beta… http… http… Clin… Title … +#> 2 MED 28585529 PMC5467… "nomi… genes ".\nRa… gene http… http… Sequ… Title … +#> 3 MED 28585529 PMC5467… "nomi… genes " is o… gene http… http… Sequ… Abstra… +#> 4 MED 28585529 PMC5467… " One… genes " are … gene http… http… Sequ… Abstra… +#> 5 MED 28585529 PMC5467… " ide… beet " (Bet… Beta… http… http… Clin… Abstra… +#> 6 MED 28585529 PMC5467… "ify … Beta… " ssp.… Beta… http… http… Clin… Abstra… +#> 7 MED 28585529 PMC5467… "ulga… gene " Rz2 … gene http… http… Sequ… Abstra… +#> 8 MED 28585529 PMC5467… "e ge… geno… " sequ… geno… http… http… Sequ… Abstra… +#> 9 MED 28585529 PMC5467… "eque… beet ". Our… Beta… http… http… Clin… Abstra… +#> 10 MED 28585529 PMC5467… "disc… genes " rele… gene http… http… Sequ… Abstra… +#> # ℹ 714 more rows +#> # ℹ 2 more variables: provider , subType ``` To obtain a list of articles where Europe PMC has text-minded annotations, either subset the resulting data.frame @@ -299,26 +299,26 @@ To obtain a list of articles where Europe PMC has text-minded annotations, eithe ```r tt <- epmc_search("malaria") tt[tt$hasTextMinedTerms == "Y" | tt$hasTMAccessionNumbers == "Y",] -#> # A tibble: 94 × 29 -#> id source pmid doi title authorString journalTitle issue journalVolume -#> -#> 1 34100426 MED 34100426 10.4… New … Lima MN, Ba… Neural Rege… 1 17 -#> 2 33535760 MED 33535760 10.3… THE … Damiani E, … Acta Med Hi… 2 18 -#> 3 33530764 MED 33530764 10.1… Disc… Hoarau M, V… J Enzyme In… 1 36 -#> 4 33372863 MED 33372863 10.1… ATP2… Lamy A, Mac… Emerg Micro… 1 10 -#> 5 33594960 MED 33594960 10.1… Mana… Kambale-Kom… Hematology 1 26 -#> 6 34283002 MED 34283002 10.1… P… Alhassan AM… Pharm Biol 1 59 -#> 7 34184352 MED 34184352 10.1… Stru… Chhibber-Go… Protein Sci 9 30 -#> 8 34362867 MED 34362867 10.4… High… Lai MY, Raf… Trop Biomed 3 38 -#> 9 34399767 MED 34399767 10.1… Inve… Njau J, Sil… Malar J 1 20 -#> 10 PPR385006 PPR 10.2… Temp… Ingholt MM,… -#> # … with 84 more rows, and 20 more variables: pubYear , journalIssn , +#> # A tibble: 76 × 28 +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 36419237 MED 364192… PMC9… 10.1… Path… Walker IS, … Virulence 1 +#> 2 37158217 MED 371582… PMC1… 10.1… Mobi… Kollipara A… Glob Health… 1 +#> 3 37310126 MED 373101… PMC1… 10.1… Clin… Bi D, Huang… Ann Med 1 +#> 4 37459385 MED 374593… 10.1… A co… Eisenberg S… Glob Health… 1 +#> 5 36871259 MED 368712… PMC9… 10.1… Asse… Jantausch B… Med Educ On… 1 +#> 6 37053493 MED 370534… 10.1… Opti… Kalula A, M… J Biol Dyn 1 +#> 7 37191627 MED 371916… PMC1… 10.1… Huma… Ellis R, We… Hum Vaccin … 1 +#> 8 37165851 MED 371658… PMC1… 10.1… Tria… Cho Y, Awoo… Glob Health… 1 +#> 9 37074313 MED 370743… PMC9… 10.1… Deng… Asaga Mac P… Ann Med 1 +#> 10 IND607962262 AGR Effe… Ojueromi OO… Journal of … 11 +#> # ℹ 66 more rows +#> # ℹ 19 more variables: journalVolume , pubYear , journalIssn , #> # pageInfo , pubType , isOpenAccess , inEPMC , #> # inPMC , hasPDF , hasBook , hasSuppl , #> # citedByCount , hasReferences , hasTextMinedTerms , #> # hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate , pmcid , versionNumber +#> # hasTMAccessionNumbers , firstIndexDate , … ``` or expand the query choosing an annotation type or provider from the [Europe PMC Advanced Search](https://europepmc.org/advancesearch) query builder. @@ -327,55 +327,54 @@ or expand the query choosing an annotation type or provider from the [Europe PMC ```r epmc_search('malaria AND (ANNOTATION_TYPE:"Cell") AND (ANNOTATION_PROVIDER:"Europe PMC")') #> # A tibble: 100 × 28 -#> id source pmid pmcid doi title authorString journalTitle issue -#> -#> 1 31782768 MED 31782768 PMC79… 10.1… Incre… Jongo SA, Ch… Clin Infect… 11 -#> 2 31808816 MED 31808816 PMC76… 10.1… Retin… Villaverde C… J Pediatric… 5 -#> 3 30989220 MED 30989220 PMC73… 10.1… Clini… Enane LA, Su… J Pediatric… 3 -#> 4 31300826 MED 31300826 PMC72… 10.1… Black… Opoka RO, Wa… Clin Infect… 11 -#> 5 31807752 MED 31807752 10.1… Malar… Marcombe S, … J Med Entom… 3 -#> 6 31505001 MED 31505001 10.1… Acute… Oshomah-Bell… J Trop Pedi… 2 -#> 7 31687768 MED 31687768 10.1… Evalu… Ferdinand DY… Trans R Soc… 3 -#> 8 31693130 MED 31693130 PMC71… 10.1… Reduc… Kingston HWF… J Infect Dis 9 -#> 9 31679146 MED 31679146 10.1… A Sys… Thiengsusuk … Eur J Drug … 2 -#> 10 30852586 MED 30852586 10.1… An Ex… Woodford J, … J Infect Dis 6 -#> # … with 90 more rows, and 19 more variables: journalVolume , -#> # pubYear , journalIssn , pageInfo , pubType , -#> # isOpenAccess , inEPMC , inPMC , hasPDF , hasBook , -#> # hasSuppl , citedByCount , hasReferences , +#> id source pmid doi title authorString journalTitle issue journalVolume +#> +#> 1 30925… MED 3092… 10.1… Cong… Fatima S, S… Pediatr Eme… 12 37 +#> 2 31808… MED 3180… 10.1… Reti… Villaverde … J Pediatric… 5 9 +#> 3 31782… MED 3178… 10.1… Incr… Jongo SA, C… Clin Infect… 11 71 +#> 4 30989… MED 3098… 10.1… Clin… Enane LA, S… J Pediatric… 3 9 +#> 5 31300… MED 3130… 10.1… Blac… Opoka RO, W… Clin Infect… 11 70 +#> 6 31505… MED 3150… 10.1… Acut… Oshomah-Bel… J Trop Pedi… 2 66 +#> 7 31687… MED 3168… 10.1… Eval… Ferdinand D… Trans R Soc… 3 114 +#> 8 31693… MED 3169… 10.1… Redu… Kingston HW… J Infect Dis 9 221 +#> 9 31843… MED 3184… 10.1… Arte… Pull L, Lup… Malar J 1 18 +#> 10 31864… MED 3186… 10.1… Unde… Adhikari SR… Malar J 1 18 +#> # ℹ 90 more rows +#> # ℹ 19 more variables: pubYear , journalIssn , pageInfo , +#> # pubType , isOpenAccess , inEPMC , inPMC , hasPDF , +#> # hasBook , hasSuppl , citedByCount , hasReferences , #> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , #> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate +#> # firstPublicationDate , pmcid ``` #### Data integrations -Another nice feature of Europe PMC is to search for cross-references between Europe PMC to other databases. For instance, to get publications cited by -entries in the [Protein Data bank in Europe](https://www.ebi.ac.uk/pdbe/node/1) published 2016: +Another nice feature of Europe PMC is to search for cross-references between Europe PMC to other databases. For instance, to get publications cited by entries in the [Protein Data bank in Europe](https://www.ebi.ac.uk/pdbe/) published 2016: ```r europepmc::epmc_search('(HAS_PDB:y) AND FIRST_PDATE:2016') #> # A tibble: 100 × 28 -#> id source pmid pmcid doi title authorString journalTitle issue -#> -#> 1 27989121 MED 27989121 PMC58… 10.1… Short… Lin J, Pozha… Biochemistry 2 -#> 2 27815281 MED 27815281 PMC52… 10.1… Struc… Wakamatsu T,… Appl Enviro… 2 -#> 3 28035004 MED 28035004 PMC53… 10.1… Struc… Waz S, Nakam… J Biol Chem 7 -#> 4 28030602 MED 28030602 PMC51… 10.1… Struc… Christensen … PLoS One 12 -#> 5 28066558 MED 28066558 PMC51… 10.1… Struc… Gai Z, Wang … Cell Discov -#> 6 28024149 MED 28024149 PMC53… 10.1… Cryst… Kuk AC, Mash… Nat Struct … 2 -#> 7 28031486 MED 28031486 PMC52… 10.1… Struc… Sevrioukova … Proc Natl A… 3 -#> 8 28011634 MED 28011634 PMC53… 10.1… Struc… Levdikov VM,… J Biol Chem 7 -#> 9 28009010 MED 28009010 PMC51… 10.1… Struc… Zhao H, Wei … Sci Rep -#> 10 28197319 MED 28197319 PMC53… 10.1… Struc… Johannes JW,… ACS Med Che… 2 -#> # … with 90 more rows, and 19 more variables: journalVolume , -#> # pubYear , journalIssn , pageInfo , pubType , -#> # isOpenAccess , inEPMC , inPMC , hasPDF , hasBook , -#> # hasSuppl , citedByCount , hasReferences , -#> # hasTextMinedTerms , hasDbCrossReferences , hasLabsLinks , -#> # hasTMAccessionNumbers , firstIndexDate , -#> # firstPublicationDate +#> id source pmid pmcid doi title authorString journalTitle issue +#> +#> 1 28039433 MED 28039433 PMC5255… 10.1… Stru… Su HP, Rick… Proc Natl A… 3 +#> 2 28036383 MED 28036383 PMC5201… 10.1… Stru… Kovaľ T, Øs… PLoS One 12 +#> 3 27977122 MED 27977122 10.1… Comp… De Deurwaer… ACS Chem Ne… 5 +#> 4 28144358 MED 28144358 PMC5238… 10.3… Bioc… Ulrich V, B… Beilstein J… +#> 5 28028551 MED 28028551 10.1… Stru… Zhou Z, Liu… Appl Microb… 7 +#> 6 27958736 MED 27958736 10.1… Glyc… Hamark C, B… J Am Chem S… 1 +#> 7 27959534 MED 27959534 PMC6634… 10.1… Stru… Reed AJ, Vy… J Am Chem S… 1 +#> 8 28083536 MED 28083536 PMC5183… 10.3… Conf… Paoletti F,… Front Mol B… +#> 9 28024148 MED 28024148 10.1… Solu… Bibow S, Po… Nat Struct … 2 +#> 10 28031486 MED 28031486 PMC5255… 10.1… Stru… Sevrioukova… Proc Natl A… 3 +#> # ℹ 90 more rows +#> # ℹ 19 more variables: journalVolume , pubYear , journalIssn , +#> # pageInfo , pubType , isOpenAccess , inEPMC , +#> # inPMC , hasPDF , hasBook , hasSuppl , +#> # citedByCount , hasReferences , hasTextMinedTerms , +#> # hasDbCrossReferences , hasLabsLinks , +#> # hasTMAccessionNumbers , firstIndexDate , … ``` The following sources are supported @@ -399,21 +398,22 @@ Europe PMC let us also obtain citation metadata and reference sections. For retr ```r europepmc::epmc_citations("9338777", limit = 500) -#> # A tibble: 233 × 11 -#> id source citationType title authorString journalAbbrevia… pubYear volume -#> -#> 1 33353… MED review-arti… Xeno… Galow AM, G… Int J Mol Sci 2020 21 -#> 2 31565… MED research-ar… Regu… Chung HC, N… J Vet Sci 2019 20 -#> 3 30230… MED research su… Bioe… Legallais C… Adv Healthc Mat… 2018 7 -#> 4 30264… MED research su… Porc… Fiebig U, F… Xenotransplanta… 2018 25 -#> 5 29756… MED historical … Infe… Weiss RA. Xenotransplanta… 2018 25 -#> 6 29642… MED research su… Trac… Kawasaki J,… Viruses 2018 10 -#> 7 28768… MED research su… Pres… Kawasaki J,… J Virol 2017 91 -#> 8 28437… MED research su… Thre… Colon-Moran… Virology 2017 507 -#> 9 28054… MED research su… Anti… Inoue Y, Yo… Ann Biomed Eng 2017 45 -#> 10 27832… MED research-ar… Tran… Kim N, Choi… PLoS One 2016 11 -#> # … with 223 more rows, and 3 more variables: issue , citedByCount , -#> # pageInfo +#> # A tibble: 240 × 11 +#> id source citationType title authorString journalAbbreviation pubYear +#> +#> 1 36883860 MED research supp… "Iso… Rodrigues C… J Virol 2023 +#> 2 36790562 MED review; journ… "Por… Liu Y, Niu … Funct Integr Genom… 2023 +#> 3 36417007 MED research-arti… "Hum… Lowe JWE. Hist Philos Life S… 2022 +#> 4 35729348 MED research supp… "Det… Ishihara S,… Sci Rep 2022 +#> 5 35437972 MED research-arti… "Sca… Chen JQ, Zh… Zool Res 2022 +#> 6 34834962 MED im; research … "Por… Denner J. Viruses 2021 +#> 7 34578447 MED im; research … "Hig… Denner J, S… Viruses 2021 +#> 8 33353186 MED im; review-ar… "Xen… Galow AM, G… Int J Mol Sci 2020 +#> 9 31565893 MED research-arti… "Reg… Chung HC, N… J Vet Sci 2019 +#> 10 30230709 MED research supp… "Bio… Legallais C… Adv Healthc Mater 2018 +#> # ℹ 230 more rows +#> # ℹ 4 more variables: volume , issue , pageInfo , +#> # citedByCount ``` For reference section from an article: @@ -422,20 +422,21 @@ For reference section from an article: ```r europepmc::epmc_refs("28632490", limit = 200) #> # A tibble: 169 × 19 -#> id source citationType title authorString journalAbbrevia… issue pubYear -#> -#> 1 12002480 MED JOURNAL ART… Tric… Adolfsson-E… Chemosphere 9-10 2002 -#> 2 18795164 MED JOURNAL ART… In v… Ahn KC, Zha… Environ Health … 9 2008 -#> 3 18556606 MED JOURNAL ART… Effe… Aiello AE, … Am J Public Hea… 8 2008 -#> 4 17683018 MED JOURNAL ART… Cons… Aiello AE, … Clin Infect Dis 2007 -#> 5 15273108 MED JOURNAL ART… Rela… Aiello AE, … Antimicrob Agen… 8 2004 -#> 6 18207219 MED JOURNAL ART… The … Allmyr M, H… Sci Total Envir… 1 2008 -#> 7 17007908 MED JOURNAL ART… Tric… Allmyr M, A… Sci Total Envir… 1 2006 -#> 8 26948762 MED JOURNAL ART… Pres… Alvarez-Riv… J Chromatogr A 2016 -#> 9 23192912 MED JOURNAL ART… Expo… Anderson SE… Toxicol Sci 1 2012 -#> 10 25837385 MED JOURNAL ART… Obse… Vladar EK, … Methods Cell Bi… 2015 -#> # … with 159 more rows, and 11 more variables: volume , pageInfo , -#> # citedOrder , match , essn , issn , +#> id source citationType title authorString journalAbbreviation issue +#> +#> 1 12002480 MED JOURNAL ARTICLE Tricl… Adolfsson-E… Chemosphere 9-10 +#> 2 18795164 MED JOURNAL ARTICLE In vi… Ahn KC, Zha… Environ Health Per… 9 +#> 3 18556606 MED JOURNAL ARTICLE Effec… Aiello AE, … Am J Public Health 8 +#> 4 17683018 MED JOURNAL ARTICLE Consu… Aiello AE, … Clin Infect Dis +#> 5 15273108 MED JOURNAL ARTICLE Relat… Aiello AE, … Antimicrob Agents … 8 +#> 6 18207219 MED JOURNAL ARTICLE The i… Allmyr M, H… Sci Total Environ 1 +#> 7 17007908 MED JOURNAL ARTICLE Tricl… Allmyr M, A… Sci Total Environ 1 +#> 8 26948762 MED JOURNAL ARTICLE Press… Alvarez-Riv… J Chromatogr A +#> 9 23192912 MED JOURNAL ARTICLE Expos… Anderson SE… Toxicol Sci 1 +#> 10 25837385 MED JOURNAL ARTICLE Obser… Vladar EK, … Methods Cell Biol +#> # ℹ 159 more rows +#> # ℹ 12 more variables: pubYear , volume , pageInfo , +#> # citedOrder , match , issn , essn , #> # publicationTitle , publisherLoc , publisherName , #> # externalLink , doi ``` diff --git a/vignettes/introducing-europepmc.Rmd.orig b/vignettes/introducing-europepmc.Rmd.orig index 035f698..a47f77f 100644 --- a/vignettes/introducing-europepmc.Rmd.orig +++ b/vignettes/introducing-europepmc.Rmd.orig @@ -140,8 +140,7 @@ epmc_search('malaria AND (ANNOTATION_TYPE:"Cell") AND (ANNOTATION_PROVIDER:"Euro #### Data integrations -Another nice feature of Europe PMC is to search for cross-references between Europe PMC to other databases. For instance, to get publications cited by -entries in the [Protein Data bank in Europe](https://www.ebi.ac.uk/pdbe/node/1) published 2016: +Another nice feature of Europe PMC is to search for cross-references between Europe PMC to other databases. For instance, to get publications cited by entries in the [Protein Data bank in Europe](https://www.ebi.ac.uk/pdbe/) published 2016: ```{r} europepmc::epmc_search('(HAS_PDB:y) AND FIRST_PDATE:2016') diff --git a/vignettes/oa_pmc-1.png b/vignettes/oa_pmc-1.png index 7258e91..9e58526 100644 Binary files a/vignettes/oa_pmc-1.png and b/vignettes/oa_pmc-1.png differ diff --git a/vignettes/software_lit-1.png b/vignettes/software_lit-1.png index fe894f0..27675a9 100644 Binary files a/vignettes/software_lit-1.png and b/vignettes/software_lit-1.png differ