OSCR

Human-specific SRGAP2 paralogs synchronize neotenic microglial maturation and synaptic development.

Code ↔ Paper

1 match 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 1 match
  1. [1] § STAR★METHODS › METHOD DETAILS › WGCNA and K-means clustering for single cell RNA sequencing › Module generation and analysis using WGCNA ↔ module.activity.score.R, lines 41–122 · score 0.51 · module gene, module activity, CPM, subsets, human, cells

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 · 122 lines · 4.7 KB · MIT · 1 match

  1. # METAMODULE ACTIVITY SCORING
  2. #########
  3. # SET UP
  4. #########
  5. library(stringr)
  6. library(dplyr)
  7. library(Seurat) # this script assumes the use of Seurat v4
  8. library(tidyr)
  9. library(readxl)
  10. library(tidyverse)
  11. ### RECOMMENDATIONS FOR METAATLAS ###
  12. # Save a folder for each dataset int your metaatlas, in which all individual Seurat objects and all outputs of individual processing (correlation matrix, cluster assignment dataframe, gene score table) will be saved
  13. # The module gene list used in this script will be generated in the last step of metamodule.generation.R (metaatlas_metamodules, saved with the suffix "_metamodules.rds")
  14. # Arguments:
  15. # 1. filepath to module gene list table, with each row containing a module gene (column named: genes) and its assigned module (column named: metamodules)
  16. # 2. directory containing the query dataset (argument #3)
  17. # 3. filename of query dataset: a normalized and scaled seurat object for which module activities are to be calculated
  18. # Execute as:
  19. ## Rscript module.activity.score.R [filepath to module gene list table] [directory] [filename of query dataset]
  20. # Parse arguments
  21. args = commandArgs(trailingOnly=TRUE)
  22. if (is.na(args[1])| is.na(args[2]) | is.na(args[3])) {
  23. stop("argument missing.n", call.=FALSE)
  24. }
  25. print(paste("module gene list table:", args[1]))
  26. print(paste("directory:", args[2]))
  27. print(paste("filename of query dataset", args[3]))
  28. #########
  29. # SET UP
  30. #########
  31. ## Load list of module genes
  32. modules <- group_by(readRDS(args[1]), metamodules)
  33. head(modules)
  34. modules$metamodules <- as.character(modules$metamodules)
  35. setwd(args[2])
  36. query.dataset <- args[3]
  37. #########
  38. # Activity of gene lists in dataset
  39. #########
  40. ## Establish a function to calculate avg log-normd CPMs for each module gene list
  41. module.act <-
  42. function(file)
  43. {
  44. dataset <- readRDS(file)
  45. dataset.name <- strsplit(file, ".rds")[1]
  46. lognormd.dataset <- dataset@assays$RNA@data
  47. # if using Seurat v5, use instead:
  48. ## lognormd.dataset <- dataset[["RNA"]]$data
  49. rownames(lognormd.dataset)<-toupper(rownames(lognormd.dataset)) # genes need to be uppercase in order to match with the human-derived meta-atlas gene list
  50. lognormd.dataset[1:5,1:5]
  51. cell.names <- rownames([email hidden])
  52. modules$metamodules <- as.character(modules$metamodules)
  53. all.modules_avg.lognormd.dataset <- as.data.frame(matrix(nrow = length(cell.names), ncol = n_distinct(modules$metamodules)))
  54. rownames(all.modules_avg.lognormd.dataset) <- cell.names
  55. colnames(all.modules_avg.lognormd.dataset) <- unique(modules$metamodules)
  56. for (i in unique(modules$metamodules)){
  57. print(paste0("-------------------------------------------", i))
  58. # Extract module gene list genes
  59. modules.genes <- subset(modules, metamodules == i)
  60. # Extract module gene list genes that are present in the dataset
  61. shared_modules.genes <- intersect(rownames(lognormd.dataset), modules.genes$genes)
  62. print("module genes not in dataset:")
  63. print(c((100-(length(shared_modules.genes)/length(modules.genes$genes))*100), "% of module genes"))
  64. print(modules.genes[!(modules.genes %in% shared_modules.genes)]$genes)
  65. # Extract lognormd CPMs for each module gene in each cell
  66. modules.lognormd.dataset <- lognormd.dataset[shared_modules.genes,]
  67. # Calculate the total lognormd CPMs for the entire gene.list
  68. total_modules.lognormd.dataset <- as.data.frame(colSums(modules.lognormd.dataset))
  69. # Divide lognormd CPMs by number of genes in module
  70. avg_modules.lognormd.dataset <- total_modules.lognormd.dataset
  71. avg_modules.lognormd.dataset$`colSums(modules.lognormd.dataset)` <- total_modules.lognormd.dataset$`colSums(modules.lognormd.dataset)` / length(shared_modules.genes)
  72. colnames(avg_modules.lognormd.dataset) <- "avg_modules.lognormd.dataset"
  73. # If cell names retained, append module gene list-specific columns into an aggregated avg gene.list lognormd CPM table
  74. if(!(all(colnames(lognormd.dataset) == rownames(avg_modules.lognormd.dataset)))){
  75. print(paste("error", i))
  76. } else {
  77. all.modules_avg.lognormd.dataset[,i] <- avg_modules.lognormd.dataset$avg_modules.lognormd.dataset
  78. }
  79. print(all.modules_avg.lognormd.dataset[1:5,])
  80. rm(i, modules.genes, shared_modules.genes, modules.lognormd.dataset, total_modules.lognormd.dataset, avg_modules.lognormd.dataset)
  81. }
  82. # Sort module column names in numerical order
  83. column.order <- as.character(sort(as.numeric(colnames(all.modules_avg.lognormd.dataset))))
  84. all.modules_avg.lognormd.dataset <- all.modules_avg.lognormd.dataset[,column.order]
  85. all.modules_avg.lognormd.dataset[1:5,1:5]
  86. # Save table as csv
  87. write.csv(
  88. all.modules_avg.lognormd.dataset,
  89. file = paste0("all.modules_avg.lognormd_", dataset.name,".csv")
  90. )
  91. }
  92. ## Run function for query dataset
  93. module.act(query.dataset)

module.activity.score.R at commit 1a6ae86, under MIT · at the source

Overview

Authors: Carlos Diaz-Salazar1,2, JaeYeon Kim3, Marine Krzisch4, Juyoun Yoo1,2, Patricia R. Nano5, Aparna Bhaduri5, Rudolf Jaenisch6,7, Mercedes Paredes3, Franck Polleux1,2,8
ORCID iDs: Franck Polleux
  1. Department of Neuroscience, Columbia University, New York, NY 10027, USA
  2. Mortimer B. Zuckerman Mind Brain Behavior Institute, Columbia University, New York, NY 10027, USA
  3. Weill Institute for Neuroscience, University of California, San Francisco, San Francisco, CA 94158, USA
  4. School of Biomedical Sciences, Faculty of Biological Sciences, University of Leeds, Leeds LS2 9JT, UK
  5. Whitehead Institute for Biomedical Research, Cambridge, MA 02142, USA
  6. Department of Biological Chemistry, University of California, Los Angeles, Los Angeles, CA 90095, USA
  7. Department of Biology, Massachusetts Institute of Technology, Cambridge, MA 02142, USA
  8. Lead contact
Journal: Neuron, volume 114, issue 15, pages 2774-2792.e6
Dates: published online 28 July 2026; in print 5 August 2026
Type: Research article · Language: English
License: CC BY-NC-ND
Identifiers: DOI 10.1016/j.neuron.2026.07.007 · PMID 42520792 · PMCID PMC13426080 · OpenAlex W7171562763
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), mouse (organism)
Methods: Statistics, Machine learning, Evoked potentials, fMRI & imaging
Keywords: Human, Evolution, Neurons, Brain, Synapses, Mouse, Xenotransplantation, Microglia, Neoteny, Human-specific Gene Duplication
MeSH: GTPase-Activating Proteins*, Microglia*, Synapses*, Animals, Brain, Humans, Induced Pluripotent Stem Cells, Mice, Neurodevelopment, Neurons (* major topic)
Topic: Neuroinflammation and Neurodegeneration Mechanisms (Neurology, Neuroscience), according to OpenAlex
Funding: NINDS NIH HHS (K99 NS138587, R35 NS127232); National Institute of Mental Health (R01MH132689); NIMH NIH HHS (R01 MH132689); Nomis Foundation; Charles H Revson Foundation Inc; University of California Los Angeles Eli and Edythe Broad Center of Regenerative Medicine and Stem Cell Research; National Institute of Neurological Disorders and Stroke (R35 NS127232)
Citations: cited by 2 papers (Europe PMC); 117 references in the paper
Research resources: CF568 Goat α Rat RRID:AB_10559813, Human CD68 (clone KP1) RRID:AB_11151139, Alexa555 Goat α Rat RRID:AB_141733, AlexaA488 Goat α Rabbit RRID:AB_143165, Vglut2 (polyclonal) RRID:AB_1587626, Alexa555 Goat α Rabbit RRID:AB_2535849, CX3CR1 (clone SA011F11) (Flow Cyt.) RRID:AB_2565699, CD11b (clone M1/70) (Flow Cyt.) RRID:AB_2621556, CD45 (clone 104) (Flow Cytometry) RRID:AB_2621630, Iba1 (clone E4O4W) RRID:AB_2820254, CD68 (Clone FA-11) RRID:AB_322219, CF568 Goat α Rabbit RRID:AB_3678764

Abstract

The abstract is not reproduced here: the paper's license (CC BY-NC-ND) does not allow it. Read it in the paper, at the publisher or on Europe PMC.

Repositories

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

Zenodo 20618142

License: MIT
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: “Data and code availability”
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
  • 27 September 2026: the link answers (HTTP 200)

bhaduri-lab/dev-ctx-meta-atlas

License: MIT
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 1a6ae865cc4cf4f5ead72f07d16372d87700534a, 14 February 2025
Languages: R (4)
Size: 8 files, 4 scripts
Software Heritage: not archived
Found in: the Zenodo archive record
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: tidyverse (4 files), data.table (2 files), Seurat (2 files), WGCNA (2 files), ggplot2 (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
6 files

The paper's code and data availability statement is in the Data section.

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:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 4 scripts, each with its path and the digest of its content;
  • 1 match 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.

Code and data availability statement

The paper has a code and data availability statement. Its license (CC BY-NC-ND) does not allow reproducing it here; in short, from what the harvester recognized in it:

  • it points to the authors' code: Zenodo 20618142
  • it says that the data are available on request
  • it says that the code is available on request

Read it in the paper: doi.org/10.1016/j.neuron.2026.07.007.

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 2, 28 September 2026

  • Publisher: n/a → Cell Press

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 10 keywords, 10 MeSH terms, 7 funders, 117 references, 12 RRIDs.

Cite

This paper

Diaz-Salazar, C., Kim, J., Krzisch, M., Yoo, J., Nano, P. R., Bhaduri, A., Jaenisch, R., Paredes, M., & Polleux, F. (2026). Human-specific SRGAP2 paralogs synchronize neotenic microglial maturation and synaptic development. Neuron, 114(15), 2774-2792.e6. https://doi.org/10.1016/j.neuron.2026.07.007

BibTeX

@article{diazsalazar2026human,
author = {Diaz-Salazar, Carlos and Kim, JaeYeon and Krzisch, Marine and Yoo, Juyoun and Nano, Patricia R. and Bhaduri, Aparna and Jaenisch, Rudolf and Paredes, Mercedes and Polleux, Franck},
title = {{Human-specific SRGAP2 paralogs synchronize neotenic microglial maturation and synaptic development}},
journal = {Neuron},
year = {2026},
month = jul,
volume = {114},
number = {15},
pages = {2774--2792.e6},
publisher = {Cell Press},
issn = {0896-6273},
doi = {10.1016/j.neuron.2026.07.007},
url = {https://doi.org/10.1016/j.neuron.2026.07.007},
pmid = {42520792},
pmcid = {PMC13426080}
}

RIS

TY - JOUR
AU - Diaz-Salazar, Carlos
AU - Kim, JaeYeon
AU - Krzisch, Marine
AU - Yoo, Juyoun
AU - Nano, Patricia R.
AU - Bhaduri, Aparna
AU - Jaenisch, Rudolf
AU - Paredes, Mercedes
AU - Polleux, Franck
TI - Human-specific SRGAP2 paralogs synchronize neotenic microglial maturation and synaptic development
T2 - Neuron
J2 - Neuron
PY - 2026
DA - 2026/07/28
VL - 114
IS - 15
SP - 2774
EP - 2792.e6
SN - 0896-6273
PB - Cell Press
DO - 10.1016/j.neuron.2026.07.007
UR - https://doi.org/10.1016/j.neuron.2026.07.007
LA - en
ER -

CSL-JSON

{
"id": "10.1016/j.neuron.2026.07.007",
"type": "article-journal",
"title": "Human-specific SRGAP2 paralogs synchronize neotenic microglial maturation and synaptic development",
"container-title": "Neuron",
"author": [
{
"family": "Diaz-Salazar",
"given": "Carlos"
},
{
"family": "Kim",
"given": "JaeYeon"
},
{
"family": "Krzisch",
"given": "Marine"
},
{
"family": "Yoo",
"given": "Juyoun"
},
{
"family": "Nano",
"given": "Patricia R."
},
{
"family": "Bhaduri",
"given": "Aparna"
},
{
"family": "Jaenisch",
"given": "Rudolf"
},
{
"family": "Paredes",
"given": "Mercedes"
},
{
"family": "Polleux",
"given": "Franck"
}
],
"container-title-short": "Neuron",
"volume": "114",
"issue": "15",
"page": "2774-2792.e6",
"DOI": "10.1016/j.neuron.2026.07.007",
"PMID": "42520792",
"PMCID": "PMC13426080",
"ISSN": "0896-6273",
"publisher": "Cell Press",
"URL": "https://doi.org/10.1016/j.neuron.2026.07.007",
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
28
]
]
}
}

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/s41593-026-02367-0 [code]
A reproducible three-dimensional model of human brain tissue to investigate physiological and disease-associated microglia phenotypes.
Journal: Nature neuroscience
In common: WGCNA, Seurat, data.table, 2 other tools, 11 references
[2] doi:10.1038/s44318-026-00806-z [code]
Interspecific diversity in the neuronal composition of the mammalian cortex arises from heterochrony in neurogenesis.
Journal: The EMBO journal
In common: WGCNA, Seurat, data.table, 2 other tools, 7 references
[3] doi:10.1371/journal.pbio.3003757 [code]
Cell type-agnostic transcriptomic signatures enable uniform comparisons of neural maturation.
Journal: PLoS biology
In common: Seurat, ggplot2, tidyverse, mouse, 7 references
[4] doi:10.1126/sciadv.adz6517 [code]
Corticosterone-linked microglial activity underpins sexually dimorphic neuroplasticity after ketamine anesthesia.
Journal: Science advances
In common: data.table, ggplot2, tidyverse, mouse, 6 references
[5] doi:10.1038/s42003-026-09948-6 [code]
A scalable human-zebrafish xenotransplantation model reveals gastrosome-mediated processing of dying neurons by human microglia.
Journal: Communications biology
In common: ggplot2, tidyverse, 7 references
[6] doi:10.1038/s41467-026-71360-9 [code]
Perinatal brain developmental transition revealed by transcriptomic and proteomic analyses of Bama miniature pigs.
Journal: Nature communications
In common: WGCNA, ggplot2, tidyverse, 6 references
[7] doi:10.1016/j.stemcr.2026.103053 [code]
Development and validation of a long-term co-maturation protocol for human stem cell-derived microglia and neuronal networks.
Journal: Stem cell reports
In common: 8 references
[8] doi:10.1038/s41593-026-02267-3 [code]
Spatial proteomic analysis in human Alzheimer's disease brains enables identification of microenvironment-dependent microglial cell states.
Journal: Nature neuroscience
In common: Seurat, 6 references
[9] doi:10.1084/jem.20251801
Identification of secondary microglial formation centers in the human fetal brain.
Journal: The Journal of experimental medicine
In common: 7 references
[10] doi:10.1038/s41586-026-10877-x [code]
Human brain organoids record the passage of time over multiple years.
Journal: Nature
In common: Seurat, data.table, ggplot2, 1 other tool, 5 references

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.