OSCR

Mapping Half a Century of Global Brain Abscess Research: A Bibliometric Analysis of Output, Themes, and Collaboration (1975-2025).

Code ↔ Paper

15 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 15 matches · 2 of them tie a paragraph to a whole file, not to given lines: weak matches, whose lines are not tinted
  1. [1] § Review ↔ Analysis/Ares_brainabscess_trend_share.R, lines 1–51 · score 0.95 · narrow intervals, quasi Poisson, confidence intervals, log link, Publication trend, quadratic term
  2. [2] § Review ↔ Analysis/Ares_brainabscess_fetch.R, the whole file · a weak match · score 0.93 · oa_fetch, title.search, publication date, OpenAlex API, exact phrase, cerebral abscess
  3. [3] § Review ↔ Analysis/Ares_brainabscess_trend_share.R, lines 1–51 · score 0.85 · residual autocorrelation, Quasi Poisson, quadratic term, growth rate, 1975–2025, doubling
  4. [4] § Review ↔ Screening/Ares_compute_kappa.R, lines 101–160 · score 0.81 · discordant records, records flagged, reviewer opened, collapsed contrasts, kappa, consensus
  5. [5] § Review ↔ Analysis/Ares_brainabscess_analysis.R, lines 1–15 · score 0.80 · parsed directly, exact phrase, 1975–2025, June, OpenAlex, brain abscess
  6. [6] § Review ↔ Screening/Ares_compute_kappa.R, lines 101–160 · score 0.79 · discordant records, written rubric, reviewer opened, collapsed contrast, kappa, consensus
  7. [7] § Review ↔ Analysis/Ares_brainabscess_tier12.R, lines 42–106 · score 0.78 · Callon centrality density, author productivity, thematic map, Louvain, clustered, seed
  8. [8] § Review ↔ Analysis/Ares_brainabscess_fetch.R, the whole file · a weak match · score 0.73 · openalexR, exact phrase, cerebral abscess, intracranial abscess, raw, brain abscess
  9. [9] § Review ↔ Analysis/Ares_brainabscess_analysis.R, lines 18–23 · score 0.70 · South Korea, Denmark, Japan, Taiwan, Turkey, France
  10. [10] § Review ↔ Analysis/Ares_brainabscess_tier12.R, lines 42–106 · score 0.64 · Callon centrality density, thematic map, weighted, clusters, disease, brain abscess
  11. [11] § Review ↔ Analysis/Ares_brainabscess_sciencemap.R, lines 1–10 · score 0.62 · Denmark, Japan, Korea, Taiwan, Turkey, UK
  12. [12] § Introduction and background ↔ Analysis/Ares_brainabscess_sciencemap.R, lines 32–52 · score 0.62 · international collaboration network, thematic evolution, brain abscess research, countries
  13. [13] § Review ↔ Analysis/Ares_brainabscess_sciencemap.R, lines 32–52 · score 0.53 · 1975–1999, 2013–2025, disease, thematic, brain abscess
  14. [14] § Review ↔ Screening/Ares_extract_screening_sample.R, lines 1–19 · score 0.52 · exactly reproducible, validation sample, seed, Bibliometric
  15. [15] § Review ↔ Analysis/Ares_brainabscess_trend_share.R, lines 100–114 · score 0.50 · 1975–2015, world articles, peak, trough, OpenAlex, offset

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

R · 138 lines · 7.2 KB · no license · 3 matches

  1. ## =============================================================================
  2. ## Brain-abscess bibliometric (1975-2025)
  3. ## Publication-trend model and share-of-world-output analysis
  4. ##
  5. ## Reproduces every trend statistic reported in the manuscript:
  6. ## - annual growth rate and doubling time (quasi-Poisson, log link)
  7. ## - the test for acceleration (quadratic term) and its window sensitivity
  8. ## - residual autocorrelation
  9. ## - share of world output, modelled with a log(total) offset
  10. ## - Wilson confidence intervals for the relevance-precision figures
  11. ##
  12. ## INPUTS
  13. ## brainabscess_bibliometric_data.RData archived dataset (object M)
  14. ## openalex_total_articles_by_year_1975_2025.csv world denominator, same
  15. ## database and type filter
  16. ## Both are in this deposit. Run with the working directory set to the folder
  17. ## containing them: source("Ares_brainabscess_trend_share.R")
  18. ##
  19. ## No network access required. Base R only.
  20. ## =============================================================================
  21. DATA <- "brainabscess_bibliometric_data.RData"
  22. DENOM <- "openalex_total_articles_by_year_1975_2025.csv"
  23. for (f in c(DATA, DENOM))
  24. if (!file.exists(f)) stop("Missing input file: ", f,
  25. "\nSet the working directory to the deposit folder.")
  26. env <- new.env(); load(DATA, envir = env)
  27. M <- get("M", envir = env) # primary set, n = 9,097
  28. py <- suppressWarnings(as.integer(M$PY))
  29. py <- py[!is.na(py)]
  30. d <- as.data.frame(table(py)); names(d) <- c("year", "n")
  31. d$year <- as.integer(as.character(d$year))
  32. d$yc <- d$year - mean(d$year) # centred, to decorrelate the terms
  33. cat("Records with a usable publication year:", sum(d$n),
  34. "across", nrow(d), "complete years (", min(d$year), "-", max(d$year), ")\n\n")
  35. ## ---------------------------------------------------------------- growth ----
  36. ## Quasi-Poisson rather than Poisson: annual publication counts are
  37. ## overdispersed, and Poisson would give falsely narrow intervals.
  38. m1 <- glm(n ~ yc, family = quasipoisson, data = d)
  39. b <- coef(m1)["yc"]; ci <- confint.default(m1)["yc", ]
  40. cat("=========== ANNUAL GROWTH (primary) ===========\n")
  41. cat(sprintf(" dispersion %.2f (>1 confirms overdispersion)\n", summary(m1)$dispersion))
  42. cat(sprintf(" growth rate %+.2f%% per year (95%% CI %+.2f to %+.2f)\n",
  43. 100 * (exp(b) - 1), 100 * (exp(ci[1]) - 1), 100 * (exp(ci[2]) - 1)))
  44. cat(sprintf(" doubling time %.1f years (95%% CI %.1f to %.1f)\n\n",
  45. log(2) / b, log(2) / ci[2], log(2) / ci[1]))
  46. ## ---------------------------------------------------- acceleration test -----
  47. ## "Accelerating" means the growth RATE is rising: a positive quadratic term
  48. ## on the log scale. Tested here, and refitted across restricted windows.
  49. fit_window <- function(dd, label) {
  50. dd$yc <- dd$year - mean(dd$year)
  51. a <- glm(n ~ yc, family = quasipoisson, data = dd)
  52. q <- glm(n ~ yc + I(yc^2), family = quasipoisson, data = dd)
  53. tst <- anova(a, q, test = "F")
  54. cat(sprintf(" %-26s growth %+.2f%%/yr | quad beta %+.6f | F = %5.2f | p = %.4f %s\n",
  55. label, 100 * (exp(coef(a)["yc"]) - 1), coef(q)["I(yc^2)"],
  56. tst$F[2], tst$`Pr(>F)`[2],
  57. if (tst$`Pr(>F)`[2] < 0.05) "accel supported" else "NOT supported"))
  58. invisible(q)
  59. }
  60. cat("=========== TEST FOR ACCELERATION, AND ITS WINDOW SENSITIVITY ===========\n")
  61. m2 <- fit_window(d, "1975-2025 (full, primary)")
  62. fit_window(subset(d, year <= 2024), "1975-2024 (drop last year)")
  63. fit_window(subset(d, year <= 2019), "1975-2019 (pre-COVID)")
  64. fit_window(subset(d, year >= 1990), "1990-2025")
  65. fit_window(subset(d, year >= 2000), "2000-2025")
  66. r <- residuals(m2, type = "pearson")
  67. ac <- acf(r, plot = FALSE, lag.max = 3)
  68. cat(sprintf("\n residual autocorrelation: lag-1 %.3f, lag-2 %.3f, lag-3 %.3f (|r| > %.2f notable)\n",
  69. ac$acf[2], ac$acf[3], ac$acf[4], 2 / sqrt(nrow(d))))
  70. cat(" Serial dependence of this size inflates the significance of the quadratic term.\n")
  71. cat(" Conclusion: the acceleration term does not survive a change of window, and\n")
  72. cat(" the trend is reported as sustained approximately exponential growth.\n\n")
  73. ## ------------------------------------------------- share of world output ----
  74. ## Denominator: total OpenAlex works per year under the SAME type filter
  75. ## (type:article), retrieved via the OpenAlex API group_by=publication_year.
  76. den <- read.csv(DENOM)
  77. ds <- merge(d[, c("year", "n")], den, by = "year")
  78. ds$per100k <- 1e5 * ds$n / ds$total
  79. share_window <- function(dd, label) {
  80. dd$yc <- dd$year - mean(dd$year)
  81. m <- glm(n ~ yc + offset(log(total)), family = quasipoisson, data = dd)
  82. b <- coef(m)["yc"]; ci <- confint.default(m)["yc", ]
  83. p <- summary(m)$coefficients["yc", 4]
  84. cat(sprintf(" %-30s %+.2f%%/yr (95%% CI %+.2f to %+.2f) p = %.4f %s\n",
  85. label, 100 * (exp(b) - 1), 100 * (exp(ci[1]) - 1), 100 * (exp(ci[2]) - 1), p,
  86. if (p >= 0.05) "flat" else if (b > 0) "rising" else "FALLING"))
  87. }
  88. cat("=========== SHARE OF WORLD OUTPUT (quasi-Poisson with log-total offset) ===========\n")
  89. share_window(ds, "1975-2025 (full)")
  90. share_window(subset(ds, year <= 2019), "1975-2019 (pre-COVID)")
  91. share_window(subset(ds, year <= 2015), "1975-2015 (stable denominator)")
  92. share_window(subset(ds, year >= 1990), "1990-2025")
  93. cat("\n Articles per 100,000 world articles, 5-year means:\n")
  94. ds$blk <- paste0(5 * floor(ds$year / 5), "-", 5 * floor(ds$year / 5) + 4)
  95. print(round(tapply(ds$per100k, ds$blk, mean), 2))
  96. cat(sprintf("\n peak %d (%.2f per 100k)\n trough %d (%.2f per 100k)\n",
  97. ds$year[which.max(ds$per100k)], max(ds$per100k),
  98. ds$year[which.min(ds$per100k)], min(ds$per100k)))
  99. cat("\n NOTE: total OpenAlex output is not monotonic after 2015, reflecting indexing\n")
  100. cat(" and document-type classification rather than real change. The 1975-2015 window\n")
  101. cat(" is therefore the one reported, and this is stated as a limitation.\n\n")
  102. ## -------------------------------------------------------- Wilson intervals --
  103. wilson <- function(x, n, conf = 0.95) {
  104. z <- qnorm(1 - (1 - conf) / 2); p <- x / n; dd <- 1 + z^2 / n
  105. c1 <- (p + z^2 / (2 * n)) / dd
  106. hw <- z * sqrt(p * (1 - p) / n + z^2 / (4 * n^2)) / dd
  107. sprintf("%.1f%% (95%% CI %.1f-%.1f)", 100 * p, 100 * (c1 - hw), 100 * (c1 + hw))
  108. }
  109. cat("=========== RELEVANCE PRECISION, FROM THE TWO-REVIEWER CONSENSUS ===========\n")
  110. cat(" Consensus classification of the 100-record sample: a = 58, b = 13, c = 29.\n")
  111. cat(" (Derived in Ares_compute_kappa.R from the two independent screening logs.)\n")
  112. cat(sprintf(" primary subject (a) %s\n", wilson(58, 100)))
  113. cat(sprintf(" on-topic or related (a+b) %s\n", wilson(71, 100)))
  114. cat(sprintf(" not substantive (c) %s\n", wilson(29, 100)))
  115. cat("\n=========== BENCHMARK ===========\n")
  116. cat(" Growth of the scientific literature as a whole: 4.10% per year,\n")
  117. cat(" doubling time 17.3 years (Bornmann, Haunschild & Mutz 2021,\n")
  118. cat(" Humanit Soc Sci Commun 8:224, doi:10.1057/s41599-021-00903-w).\n")
  119. cat(" That value lies inside the confidence interval reported above, so the\n")
  120. cat(" growth of this field is not distinguishable from the growth of science.\n")
  121. cat("\nDone.\n")

Ares_brainabscess_trend_share.R, no license · at the source

Overview

Authors: Varun Gopal Rajan1,2, Trayi Joshi3
  1. Neurosurgery, Adichunchanagiri Institute of Medical Sciences, Bengaluru, IND
  2. Medical Education, Neuroglia Health Private Limited, Bengaluru, IND
  3. School of Medicine, Adichunchanagiri Institute of Medical Sciences, Bengaluru, IND
Journal: Cureus, volume 18, issue 8, article e114519
Dates: accepted 13 August 2026; published online 14 August 2026
Type: Review · Language: English
License: CC BY
Identifiers: DOI 10.7759/cureus.114519 · PMID 42733442 · PMCID PMC13571160 · OpenAlex W7203442419
Open access: diamond, a free copy (OpenAlex)
Status: code verified
Categories: other condition (population), clinical / translational (subfield)
Methods: Machine learning
Keywords: bibliometric analysis, brain abscess, central nervous system infection, cerebral abscess, neurosurgery, openalex
Journal subjects: Neurology, Neurosurgery, Infectious Disease
Topic: Bacterial Infections and Vaccines (Microbiology, Immunology and Microbiology), according to OpenAlex
Citations: not cited yet (Europe PMC); 14 references in the paper

Abstract

Brain abscess is an uncommon but life-threatening intracranial infection managed across neurosurgery, infectious diseases, microbiology and neuroradiology, for which no single unified international guideline exists; despite a large literature, the research field has been mapped only once, in a single-database study of 994 title-matched records. We performed a comprehensive bibliometric analysis of global brain-abscess research, retrieving journal articles (1975-2025) from the OpenAlex database using an exact-phrase title/abstract search and computing performance metrics, bibliometric laws and science mapping in R. Across 9,097 articles (35,138 authors; mean 4.5 authors per article; 12.6% single-authored), annual output grew at 4.07% per year (95% CI 3.78-4.36; quasi-Poisson regression), a doubling time of 17.4 years, with the 2020-2025 window already approaching the entire 2010s; this rate is statistically indistinguishable from the growth of the scientific literature as a whole, and the field’s share of world output fell between 1975 and 2015 before recovering after 2020. Output was led by the USA, India, Japan, China and the UK, with modest international co-authorship (7.2%), and publications spanned neurosurgical, infectious-disease, paediatric and microbiological journals. Themes shifted from computed tomography toward magnetic resonance imaging, retained a persistent microbiology-antibiotics-meningitis core, and showed the recent emergence of cardiology-related themes consistent with the endocarditis and cyanotic-congenital-heart-disease associations; author productivity was highly dispersed (88.8% single-paper authors), open access rose to 75% of recent output, only 6% of articles recorded funding, and Indian institutions led productivity. All metrics were regenerated from an archived copy of the dataset rather than the live database, which is continuously updated; relevance was validated by independent dual screening of a random sample (Cohen’s kappa = 0.95), and findings were robust in a title-only sensitivity analysis and cross-validated across three bibliographic databases. Brain-abscess research is sustained, distributed across venue types and internationally, with substantial output from institutions in lower- and middle-income settings. These findings describe publication patterns rather than research quality or clinical impact, derive principally from a single database, and identify questions for future work rather than recommendations for practice.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above, with 15 matches between paragraphs and lines of code.

OSF myhp2

License: none: the authors keep all their rights
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Languages: R (10)
Size: 19 files, 10 scripts
Software Heritage: not checked
Found in: the acknowledgements
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: igraph (3 files)
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
  • 27 September 2026: the link answers (HTTP 200)
11 files
At the source:

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 10 scripts, each with its path and the digest of its content;
  • 15 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 2 authors, 6 keywords, 6 references.

Cite

This paper

Gopal Rajan, V., & Joshi, T. (2026). Mapping Half a Century of Global Brain Abscess Research: A Bibliometric Analysis of Output, Themes, and Collaboration (1975-2025). Cureus, 18(8), e114519. https://doi.org/10.7759/cureus.114519

BibTeX

@article{gopalrajan2026mapping,
author = {Gopal Rajan, Varun and Joshi, Trayi},
title = {{Mapping Half a Century of Global Brain Abscess Research: A Bibliometric Analysis of Output, Themes, and Collaboration (1975-2025)}},
journal = {Cureus},
year = {2026},
month = aug,
volume = {18},
number = {8},
pages = {e114519},
publisher = {Cureus Inc.},
issn = {2168-8184},
doi = {10.7759/cureus.114519},
url = {https://doi.org/10.7759/cureus.114519},
pmid = {42733442},
pmcid = {PMC13571160}
}

RIS

TY - JOUR
AU - Gopal Rajan, Varun
AU - Joshi, Trayi
TI - Mapping Half a Century of Global Brain Abscess Research: A Bibliometric Analysis of Output, Themes, and Collaboration (1975-2025)
T2 - Cureus
J2 - Cureus
PY - 2026
DA - 2026/08/14
VL - 18
IS - 8
SP - e114519
SN - 2168-8184
PB - Cureus Inc.
DO - 10.7759/cureus.114519
UR - https://doi.org/10.7759/cureus.114519
LA - en
ER -

CSL-JSON

{
"id": "10.7759/cureus.114519",
"type": "article-journal",
"title": "Mapping Half a Century of Global Brain Abscess Research: A Bibliometric Analysis of Output, Themes, and Collaboration (1975-2025)",
"container-title": "Cureus",
"author": [
{
"family": "Gopal Rajan",
"given": "Varun"
},
{
"family": "Joshi",
"given": "Trayi"
}
],
"container-title-short": "Cureus",
"volume": "18",
"issue": "8",
"page": "e114519",
"DOI": "10.7759/cureus.114519",
"PMID": "42733442",
"PMCID": "PMC13571160",
"ISSN": "2168-8184",
"publisher": "Cureus Inc.",
"URL": "https://doi.org/10.7759/cureus.114519",
"language": "en",
"issued": {
"date-parts": [
[
2026,
8,
14
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41562-026-02476-7 [code]
Genome-wide meta-analysis of quantitatively measured generalized anxiety symptoms in individuals of European ancestry.
Journal: Nature human behaviour
In common: igraph, clinical / translational, other condition
[2] doi:10.1016/j.isci.2026.115657 [code]
Integration of machine learning to develop a disulfidptosis model for predicting glioma prognosis, immunotherapy response, and drug.
Journal: iScience
In common: igraph, clinical / translational, other condition
[3] doi:10.1111/jcpp.70178 [code]
What makes a lonely child: environmental, health, and multimodal neuroimaging correlates of prospective loneliness in the ABCD study.
Journal: Journal of child psychology and psychiatry, and allied disciplines
In common: igraph, clinical / translational
[4] doi:10.1371/journal.pone.0345651 [code]
Non-concussive head impacts sustained during American football correlate with changes in gut microbiome diversity and composition.
Journal: PloS one
In common: igraph, clinical / translational
[5] doi:10.1017/neu.2026.10078 [code]
Improved dietary control results in improvements in indices of white matter structure in adults with phenylketonuria: the ReDAPT study.
Journal: Acta neuropsychiatrica
In common: igraph, clinical / translational
[6] doi:10.1038/s41467-026-77302-9 [code]
Identification and validation of central amygdala FGFR1 as a therapeutic target for alcohol use disorder using single-nucleus sequencing in rats.
Journal: Nature communications
In common: igraph, other condition
[7] doi:10.1186/s44477-026-00045-w [code]
Proteomic analysis of human chronic traumatic encephalopathy brain implicates proteasome and ribosome dysfunction in disease severity.
Journal: Molecular neurodegeneration advances
In common: igraph, other condition
[8] doi:10.1093/bioinformatics/btag592 [code]
Network-based stratification of allele-specific expression reveals patient subgroups in Huntington's disease.
Journal: Bioinformatics (Oxford, England)
In common: igraph, other condition
[9] doi:10.1371/journal.pcbi.1014573 [code]
Cell-type-specific m1A dynamics are associated with microglial phenotypic transition and neuronal metabolic adaptation during spinal cord injury.
Journal: PLoS computational biology
In common: igraph, other condition
[10] doi:10.1038/s41467-026-75723-0 [code]
Spatial transcriptomics reveals distinct cell type dynamics following opioid dependence in female mice with the common human μ-opioid receptor variant Oprm1 A118G.
Journal: Nature communications
In common: igraph, other condition

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.