OSCR

Astrocyte-Derived PTPRZ1 Regulates Excitatory Synapse Density in the Mouse Cortex.

Code ↔ Paper

2 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 2 matches
  1. [1] § Materials and Methods › Immunohistochemistry › Astrocyte 3D morphology analysis ↔ Territory_Analysis_v3.1.R, lines 199–237 · score 0.72 · Shapiro Wilk, way ANOVA, cHet, Levene, homogeneity, variance
  2. [2] § Materials and Methods › Immunohistochemistry › Astrocyte 2D morphology analysis ↔ Territory_Analysis_v3.1.R, lines 239–277 · score 0.59 · Kruskal Wallis, way ANOVA, Dunn, Tukey, post, territory

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 · 356 lines · 13 KB · no license · 2 matches

  1. ## This script is designed to clean and organize csv files exported from Imaris software for surface measures and convex hull measures. Run twice, once for surfaces and once for convex hulls.
  2. ## It can be customized as needed to add or exclude measures in the Imaris generated csv files following prompts throughout the script.
  3. ## Outputs: cleaned data files in csv format for easy statistical analysis in Prism, statistics results of selected measures, and quick plots for each measure in PNG and PDF formats.
  4. ## Version 3.1 written for three groups/genotypes to perform appropriate statistical tests.
  5. ## By Hayli Spence-Osorio (Eaker and Spence-Osorio et al., 2025)
  6. options(stringsAsFactors=FALSE);
  7. # Import libraries
  8. library(tidyverse)
  9. library(dplyr)
  10. library(tibble)
  11. library(ggplot2)
  12. library(ggpubr)
  13. library(rstatix)
  14. library(car)
  15. library(dunn.test)
  16. # Define the prefix for the experiment; this will be added to extracted subject IDs as a prefix
  17. experiment_prefix = "PTPRZ1"
  18. # Set working directory; a Data folder will be created in the selected directory for outputs; comment out to run on current directory
  19. directory <- "/Users/hspence/Desktop/PTPRZ1/P14 Data/Convex/"
  20. setwd(directory)
  21. print(getwd())
  22. # Create data frames for each cell for each subject, named after each subject and cell
  23. # List files recursively in the specified directory
  24. file_list <- list.files(recursive = TRUE, full.names = TRUE)
  25. # Create an empty list to store data frames
  26. subject_dfs <- list()
  27. # Read the key file: a key file is required; this is a CSV NOT in the working directory which contains the subject IDs and groups/genotypes; see example files in repository
  28. key_data <- read.csv("/Users/hspence/Desktop/PTPRZ1/P14 Data/key_file.csv")
  29. # Loop through each file path from the file_list, create a data frame and pass it to the data frame list
  30. for (file_path in file_list) {
  31. # Extract the subject name from the file name - relies on naming conventions used in example data files, with an Imaris prefix_experiment prefix_subject_ID; adjust indexing for parts as needed
  32. file_name <- basename(file_path)
  33. file_parts <- strsplit(file_name, "_")[[1]] #Defines how the file name string is split, in this case by a _
  34. subject_name_part1 <- file_parts[3] #Third chunk split by a _, change as needed
  35. subject_name_part2 <- file_parts[4] #Fourth chunk split by a _, change as needed
  36. #cell_number <- file_parts[7] #Indexing for P21 dataset
  37. #subject_name <- paste(experiment_prefix, subject_name_part1, subject_name_part2, cell_number, sep = "_")
  38. cell_prefix <- file_parts[7] #Indexing for P14 dataset
  39. cell_ID <- file_parts[8] #Eighth chunk split by a _, change as needed, added the 7 after last run
  40. subject_name <- paste(experiment_prefix, subject_name_part1, subject_name_part2, cell_prefix, cell_ID, sep = "_")
  41. # Read the CSV file into a data frame - skips the first three rows, empty if Imaris exports, remove skip if needed
  42. df <- read.csv(file_path, header=TRUE, skip=3)
  43. # Add the data frame to the list with subject number as the name
  44. subject_dfs[[subject_name]] <- df
  45. }
  46. # Now you have a list of cleaned data frames, with each data frame corresponding to a file
  47. # Set output directory for generated CSV files per subject - will create Data folder to hold outputs
  48. output_dir <- "Data"
  49. if (!dir.exists(output_dir)) {
  50. dir.create(output_dir)
  51. }
  52. # Check consistency of Sum and Mean in each file to make sure surfaces were unified before files pulled in Imaris
  53. mean_sum_check <- map_dfr(names(subject_dfs), function(name) {
  54. df <- subject_dfs[[name]]
  55. if (all(c("Mean", "Sum") %in% names(df))) {
  56. # Compare Mean * Count vs Sum (allow small tolerance for floating point)
  57. df <- df %>% mutate(check = abs(Mean * Count - Sum) < 1e-6)
  58. flag <- ifelse(all(df$check, na.rm = TRUE), "OK", "Mismatch")
  59. tibble(File = name, Status = flag)
  60. } else {
  61. tibble(File = name, Status = "Missing Mean/Sum column")
  62. }
  63. })
  64. # Save report - check before proceeding with statistical analyses
  65. write.csv(mean_sum_check, file.path(output_dir, "mean_sum_check.csv"), row.names = FALSE)
  66. # Define functions to extract cell number, ID, and filter data for relevant measures
  67. # Function to extract cell number from data frame name, change indexing to fit data
  68. get_cell_num <- function(df_name) {
  69. cell_parts <- strsplit(df_name, "_")[[1]]
  70. #cell_num <- cell_parts[4] #Indexing for P21 dataset
  71. cell_num <- cell_parts[5] #Indexing for P14 dataset
  72. return(cell_num)
  73. }
  74. # Function to extract subject ID from data frame
  75. get_ID <- function(df_name) {
  76. ID_parts <- strsplit(df_name, "_")[[1]]
  77. ID_prefix <- ID_parts[2]
  78. ID_suffix <- ID_parts[3]
  79. ID_name <- paste(experiment_prefix, ID_prefix, ID_suffix, sep = "_")
  80. return(ID_name)
  81. }
  82. # Function to manipulate data and generate clean cell data - CHANGE VARIABLES OF INTEREST HERE, but will also have to change when variables are defined later (lines 161, 163)
  83. filter_cell_data <- function(df_name) {
  84. filtered_df <- df_name %>%
  85. filter(Variable %in% c("Area", "Volume","Ellipticity (oblate)", "Ellipticity (prolate)", "Sphericity")) %>%
  86. select(Variable, Mean)
  87. pivoted_df <- filtered_df %>%
  88. pivot_wider(names_from = Variable, values_from = Mean)
  89. return(pivoted_df)
  90. }
  91. # Loop through each subject data frame to generate compiled data frames for all cell data per subject, save as separate CSV outputs for cleaned cell data per subject
  92. for (subject_df_name in names(subject_dfs)) {
  93. # Get ID from data frame name
  94. ID <- get_ID(subject_df_name)
  95. print(ID)
  96. # Check if a data frame with the subject ID already exists
  97. if (!exists(ID)) {
  98. # If it doesn't exist, create a new data frame with the subject ID as its name
  99. assign(ID, data.frame())
  100. }
  101. # Get the filtered and pivoted cell data for the current subject data frame
  102. filtered_cell_data <- filter_cell_data(subject_dfs[[subject_df_name]])
  103. # Add the subject ID and cell number
  104. filtered_cell_data$Subject <- ID
  105. filtered_cell_data$Cell <- get_cell_num(subject_df_name)
  106. # Look up the group/genotype in the key data frame, add to the data frame
  107. group <- key_data$Group[key_data$Subject == ID]
  108. filtered_cell_data$Group <- group
  109. # Add the filtered cell data to the subject data frame
  110. assign(ID, rbind(get(ID), filtered_cell_data))
  111. # Generate file path for CSV file
  112. csv_file_path <- file.path(output_dir, paste0(ID, ".csv"))
  113. # Write the compiled data frame to a CSV file
  114. write.csv(get(ID), file = csv_file_path, row.names = TRUE)
  115. }
  116. # Get the names of all subject data frames in the environment
  117. df_names <- ls(pattern = "^PTPRZ1_")
  118. # Retrieve all subject data frames and combine them into one big data frame
  119. combined_df <- do.call(rbind, mget(df_names))
  120. # Write combined dataset to CSV
  121. write.csv(combined_df,
  122. file.path(output_dir, "combined_data.csv"),
  123. row.names = FALSE)
  124. # Measures
  125. measures <- c("Area", "Volume", "Ellipticity (oblate)", "Ellipticity (prolate)", "Sphericity")
  126. # Define a vector of measure names - change as needed
  127. measure_names <- c("Area_Mean", "Volume_Mean", "Ellipticity (oblate)_Mean", "Ellipticity (prolate)_Mean", "Sphericity_Mean")
  128. # Now calculate subject-level means and SEM on cleaned data
  129. subject_stats <- combined_df %>%
  130. group_by(Group, Subject) %>%
  131. summarize_at(
  132. vars(all_of(measures)),
  133. list(
  134. Mean = ~mean(., na.rm = TRUE),
  135. SEM = ~sd(., na.rm = TRUE) / sqrt(sum(!is.na(.)))
  136. ),
  137. .groups = "drop"
  138. )
  139. # Save subject means
  140. write.csv(subject_stats,
  141. file.path(output_dir, "subject_means.csv"),
  142. row.names = FALSE)
  143. # Perform Shapiro-Wilk normality tests, variance tests, and appropriate t-tests on measures between groups
  144. # Create an empty data frame to store test results
  145. results_df <- data.frame(
  146. Measure = character(),
  147. Normality_p_WT = numeric(),
  148. Normality_p_cHet = numeric(),
  149. Normality_p_cKO = numeric(),
  150. Residuals_p = numeric(),
  151. Var_test_p = numeric(),
  152. Test_Type = character(),
  153. p_value = numeric(),
  154. stringsAsFactors = FALSE
  155. )
  156. # Create empty post-hoc test storage
  157. posthoc_df <- data.frame(
  158. Measure = character(),
  159. Comparison = character(),
  160. Test_Type = character(),
  161. p_value = numeric(),
  162. adj_p_value = numeric(),
  163. stringsAsFactors = FALSE
  164. )
  165. # Loop over each measure and perform statistical tests
  166. for (measure in measure_names) {
  167. # Build dataset for this measure
  168. temp_df <- subject_stats %>%
  169. dplyr::select(Group, Subject, all_of(measure)) %>%
  170. dplyr::rename(Value = !!sym(measure))
  171. # Ensure Group is a factor
  172. temp_df$Group <- factor(temp_df$Group, levels = c("WT", "cHet", "cKO"))
  173. # Extract per-group values for Shapiro-Wilk
  174. data_WT <- temp_df$Value[temp_df$Group == "WT"]
  175. data_cHet <- temp_df$Value[temp_df$Group == "cHet"]
  176. data_cKO <- temp_df$Value[temp_df$Group == "cKO"]
  177. # Shapiro-Wilk per group
  178. shapiro_WT <- shapiro.test(data_WT)
  179. shapiro_cHet <- shapiro.test(data_cHet)
  180. shapiro_cKO <- shapiro.test(data_cKO)
  181. # One-way ANOVA
  182. anova_res <- aov(Value ~ Group, data = temp_df)
  183. # Shapiro-Wilk on ANOVA residuals
  184. res_shapiro <- shapiro.test(residuals(anova_res))
  185. # Levene's test (homogeneity of variance)
  186. lev_res <- leveneTest(Value ~ Group, data = temp_df)
  187. lev_p <- lev_res$`Pr(>F)`[1]
  188. # Decide test
  189. if (res_shapiro$p.value > 0.05 & lev_p > 0.05) {
  190. test_type <- "One-way ANOVA"
  191. p_val <- summary(anova_res)[[1]][["Pr(>F)"]][1]
  192. # Post-hoc: Tukey HSD
  193. tukey_res <- TukeyHSD(anova_res)
  194. tukey_df <- as.data.frame(tukey_res$Group)
  195. tukey_df$Comparison <- rownames(tukey_df)
  196. tukey_df <- tukey_df %>%
  197. dplyr::select(Comparison, `p adj`) %>%
  198. dplyr::rename(adj_p_value = `p adj`) %>%
  199. mutate(
  200. Measure = measure,
  201. Test_Type = "TukeyHSD",
  202. p_value = NA # Tukey reports only adjusted p
  203. )
  204. posthoc_df <- bind_rows(posthoc_df, tukey_df)
  205. } else {
  206. test_type <- "Kruskal-Wallis"
  207. p_val <- kruskal.test(Value ~ Group, data = temp_df)$p.value
  208. # Post-hoc: Dunn test with BH correction
  209. dunn_res <- dunn.test::dunn.test(temp_df$Value, temp_df$Group,
  210. method = "bh", kw = FALSE, list = TRUE)
  211. dunn_df <- data.frame(
  212. Measure = measure,
  213. Comparison = dunn_res$comparisons,
  214. Test_Type = "Dunn",
  215. p_value = dunn_res$P,
  216. adj_p_value = dunn_res$P.adjusted,
  217. stringsAsFactors = FALSE
  218. )
  219. posthoc_df <- bind_rows(posthoc_df, dunn_df)
  220. }
  221. # Save overall test results
  222. results_df <- rbind(results_df, data.frame(
  223. Measure = measure,
  224. Normality_p_WT = shapiro_WT$p.value,
  225. Normality_p_cHet = shapiro_cHet$p.value,
  226. Normality_p_cKO = shapiro_cKO$p.value,
  227. Residuals_p = res_shapiro$p.value,
  228. Var_test_p = lev_p,
  229. Test_Type = test_type,
  230. p_value = p_val
  231. ))
  232. }
  233. # Write results to CSV
  234. write.csv(results_df, file.path(output_dir, "results_df.csv"), row.names = FALSE)
  235. write.csv(posthoc_df, file.path(output_dir, "posthoc_results.csv"), row.names = FALSE)
  236. # Group by Group, then calculate Mean and SEM for all measures to use in plots - change variables as needed
  237. sub_means <- subject_stats %>%
  238. group_by(Group) %>%
  239. summarize_at(vars(Area_Mean, Volume_Mean, `Ellipticity (oblate)_Mean`, `Ellipticity (prolate)_Mean`, Sphericity_Mean),
  240. list(Mean = ~mean(.), SEM = ~sd(.) / sqrt(n())))
  241. ## The following will generate plots: adjust graph settings for optimal display as needed
  242. # Ensure Group is factor
  243. sub_means$Group <- factor(sub_means$Group, levels = c("WT", "cHet", "cKO"))
  244. subject_stats$Group <- factor(subject_stats$Group, levels = c("WT", "cHet", "cKO"))
  245. # Define pairwise comparisons (just for ordering, not calculating)
  246. my_comparisons <- list(c("WT","cHet"), c("WT","cKO"), c("cHet","cKO"))
  247. plot_list <- list()
  248. for (m in measures) {
  249. mean_col <- paste0(m, "_Mean_Mean")
  250. sem_col <- paste0(m, "_Mean_SEM")
  251. subj_col <- paste0(m, "_Mean")
  252. # Get precomputed pairwise p-values from posthoc_df
  253. annotations <- posthoc_df %>%
  254. filter(Measure == paste0(m, "_Mean"), Test_Type %in% c("TukeyHSD","Dunn")) %>%
  255. # Ensure group order matches your bar plot
  256. tidyr::separate(Comparison, into = c("group1", "group2"), sep = "-", remove = FALSE) %>%
  257. mutate(
  258. y.position = max(sub_means[[mean_col]] + sub_means[[sem_col]], na.rm = TRUE) * c(1.05, 1.10, 1.15),
  259. p.value = adj_p_value
  260. ) %>%
  261. select(group1, group2, y.position, p.value)
  262. # Build plot
  263. p <- ggplot(sub_means, aes(x = Group, y = !!sym(mean_col), fill = Group)) +
  264. geom_bar(stat = "identity", color = "black") +
  265. geom_errorbar(aes(ymin = !!sym(mean_col) - !!sym(sem_col),
  266. ymax = !!sym(mean_col) + !!sym(sem_col)),
  267. width = 0.2, position = position_dodge(width = 0.9)) +
  268. geom_jitter(data = subject_stats, aes(x = Group, y = !!sym(subj_col)),
  269. width = 0.15, color = "black", size = 2) +
  270. stat_pvalue_manual(annotations, label = "p.value", tip.length = 0.03) +
  271. labs(title = paste("Average", m, "by Group"), x = "Genotype", y = m) +
  272. theme_minimal() +
  273. theme(legend.position = "none")
  274. # Save PNG
  275. ggsave(file.path(output_dir, paste0(m, "_plot.png")), plot = p, width = 8, height = 6, dpi = 300)
  276. # Store for PDF
  277. plot_list[[m]] <- p
  278. }
  279. # Save all plots to one PDF
  280. pdf(file.path(output_dir, "All_measures_plots.pdf"), width = 10, height = 6)
  281. for (p in plot_list) { print(p) }
  282. dev.off()

Territory_Analysis_v3.1.R at commit 38c8299, no license · at the source

Overview

Authors: Alex R Eaker1, Hayli E Spence-Osorio1, Madelyn G Coble1,2, Breana C Dogan1, Katherine T Baldwin1,3
  1. Neuroscience Center, University of North Carolina at Chapel Hill, Chapel Hill, North Carolina 27599
  2. Departments of Psychology and Neuroscience, University of North Carolina at Chapel Hill, Chapel Hill, North Carolina 27599
  3. Cell Biology and Physiology, University of North Carolina at Chapel Hill, Chapel Hill, North Carolina 27599
Institutions: University of North Carolina at Chapel Hill (United States)
Journal: eNeuro, volume 13, issue 4, pages ENEURO.0386-25.2026
Dates: received 13 October 2025; accepted 30 March 2026; published online 21 April 2026; in print April 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1523/eneuro.0386-25.2026 · PMID 41942273 · PMCID PMC13102477 · OpenAlex W7150795588
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), mouse (organism), cellular / molecular (subfield)
Methods: Statistics, Evoked potentials, fMRI & imaging
Keywords: astrocyte, development, PTPRZ1, synapse
MeSH: Astrocytes*, Cerebral Cortex*, Receptor-Like Protein Tyrosine Phosphatases, Class 5*, Synapses*, Visual Cortex*, Animals, Animals, Newborn, Cells, Cultured, Coculture Techniques, Female, Male, Mice, Mice, Inbred C57BL, Mice, Knockout, Neurodevelopment, Neurons (* major topic)
Topic: Protein Tyrosine Phosphatases (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: HHS | NIH | Eunice Kennedy Shriver National Institute of Child Health and Human Development (P50 HD103573); HHS | NIH | National Institute of Neurological Disorders and Stroke (T32NS007431); HHS | NIH | NIH Office of the Director (DP2NS136873, 1S10OD030300); NINDS NIH HHS (DP2 NS136873); NIH HHS (S10 OD030300); HHS | NIH | National Cancer Institute (P30 CA016086)
Citations: cited by 2 papers (Europe PMC); 67 references in the paper
Research resources: RRID:AB_10000240, RRID:AB_10694505, mouse IgG2a anti-Olig2 RRID:AB_10807410, RRID:AB_10854865, RRID:AB_10956166, RRID:AB_2162345, RRID:AB_2232546, 1) rabbit anti-Sox9 RRID:AB_2239761, DAPI or (2) mouse IgG1 anti-NeuN RRID:AB_2298772, 1) chicken anti-GFP RRID:AB_2307313, Chondroitinase ABC RRID:AB_2336874, goat anti-rat IgG + IgM RRID:AB_2338094, followed by goat anti-mouse IgG + IgM RRID:AB_2338451, rabbit anti-PSD95 RRID:AB_2533914, RRID:AB_2534096, RRID:AB_2534120, goat anti-mouse IgG1 Alexa Fluor 488 RRID:AB_2535764, anti-mouse IgG2a Alexa Fluor 488 RRID:AB_2535771, anti-guinea pig IgG Alexa Fluor 647 RRID:AB_2535809, anti-rabbit IgG Alexa Fluor 647 RRID:AB_2535813, anti-rabbit IgG Alexa Fluor 488 RRID:AB_2576217, 1:100)/goat anti-mouse IgG1 ATTO 647N RRID:AB_2614870, RRID:AB_2737052, guinea pig anti-VGAT RRID:AB_887873, guinea pig anti-VGlut1 RRID:AB_887878, guinea pig anti-VGlut2 RRID:AB_887884, HEK293T cells RRID:CVCL_0063, BACs were injected into mouse ES cells RRID:CVCL_E222, C57BL/6J RRID:IMSR_JAX:000664, ROSA-td-Tomato Ai14 RRID:IMSR_JAX:007914, FLPo RRID:IMSR_JAX:012930, Aldh1L1-Cre/ERT2 BAC transgenic RRID:IMSR_JAX:029655, RRID:MMRRC_011015-UCD, RRID:SCR_019060

Abstract

Protein tyrosine phosphatase receptor type Z1 (Ptprz1) is one of the most abundantly expressed and enriched genes in astrocytes during development, yet its function in astrocytes is unknown. Using an astrocyte–neuron coculture system, we found that knockdown of Ptprz1 in astrocytes significantly impaired astrocyte branching morphogenesis. To investigate the function of Ptprz1 in astrocytes during brain development, we generated a Ptprz1 conditional knock-out mouse and deleted Ptprz1 from astrocytes postnatally, after the bulk of astrogenesis is complete. At postnatal day 21, we found subtle changes in astrocyte morphology and a reduction in the density of colocalized pre- and postsynaptic excitatory synapse markers across multiple layers of the visual cortex in both male and female mice, suggesting important functions for astrocytic Ptprz1 in both astrocyte morphogenesis and synaptogenesis. Ptprz1 is expressed in several neural cell types, including radial glial stem cells and oligodendrocyte progenitor cells, and regulates critical aspects of neurodevelopment, including neurite outgrowth, neuronal differentiation, myelination, and extracellular matrix development. Moreover, altered Ptprz1 expression is associated with schizophrenia and glioblastoma. Therefore, this mouse model is a valuable resource for investigating cell-type-specific Ptprz1 function in numerous neurodevelopmental and neuropathological mechanisms.

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 2 matches between paragraphs and lines of code.

BaldwinLabUNC/Astrocyte_morphology

License: none: the authors keep all their rights
State: the link answers, verified on 29 September 2026
Evidence: files inventoried
Commit: 38c8299ad0eb7a6ea890b3919b1526c4ef8950a9, 2 September 2026
Languages: R (3)
Size: 6 files, 3 scripts
Software Heritage: not archived
Found in: “Data and code availability”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: tidyverse (3 files), ggplot2 (2 files), car (1 file), ggpubr (1 file), patchwork (1 file), rstatix (1 file)
Availability: 1 check, the latest on 29 September 2026: the link answers
  • 29 September 2026: the link answers
4 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:

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

Data and code availability

All custom code available at https://github.com/BaldwinLabUNC/Astrocyte_morphology. Data are available upon request.

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

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, 29 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 5 authors, 4 keywords, 16 MeSH terms, 6 funders, 67 references, 34 RRIDs.

Cite

This paper

Eaker, A. R., Spence-Osorio, H. E., Coble, M. G., Dogan, B. C., & Baldwin, K. T. (2026). Astrocyte-Derived PTPRZ1 Regulates Excitatory Synapse Density in the Mouse Cortex. eNeuro, 13(4), ENEURO.0386-25.2026. https://doi.org/10.1523/eneuro.0386-25.2026

BibTeX

@article{eaker2026astrocyte,
author = {Eaker, Alex R and Spence-Osorio, Hayli E and Coble, Madelyn G and Dogan, Breana C and Baldwin, Katherine T},
title = {{Astrocyte-Derived PTPRZ1 Regulates Excitatory Synapse Density in the Mouse Cortex}},
journal = {eNeuro},
year = {2026},
month = apr,
volume = {13},
number = {4},
pages = {ENEURO.0386--25.2026},
publisher = {Society for Neuroscience},
issn = {2373-2822},
doi = {10.1523/eneuro.0386-25.2026},
url = {https://doi.org/10.1523/eneuro.0386-25.2026},
pmid = {41942273},
pmcid = {PMC13102477}
}

RIS

TY - JOUR
AU - Eaker, Alex R
AU - Spence-Osorio, Hayli E
AU - Coble, Madelyn G
AU - Dogan, Breana C
AU - Baldwin, Katherine T
TI - Astrocyte-Derived PTPRZ1 Regulates Excitatory Synapse Density in the Mouse Cortex
T2 - eNeuro
J2 - eNeuro
PY - 2026
DA - 2026/04/22
VL - 13
IS - 4
SP - ENEURO.0386
EP - 25.2026
SN - 2373-2822
PB - Society for Neuroscience
DO - 10.1523/eneuro.0386-25.2026
UR - https://doi.org/10.1523/eneuro.0386-25.2026
LA - en
ER -

CSL-JSON

{
"id": "10.1523/eneuro.0386-25.2026",
"type": "article-journal",
"title": "Astrocyte-Derived PTPRZ1 Regulates Excitatory Synapse Density in the Mouse Cortex",
"container-title": "eNeuro",
"author": [
{
"family": "Eaker",
"given": "Alex R"
},
{
"family": "Spence-Osorio",
"given": "Hayli E"
},
{
"family": "Coble",
"given": "Madelyn G"
},
{
"family": "Dogan",
"given": "Breana C"
},
{
"family": "Baldwin",
"given": "Katherine T"
}
],
"container-title-short": "eNeuro",
"volume": "13",
"issue": "4",
"page": "ENEURO.0386-25.2026",
"DOI": "10.1523/eneuro.0386-25.2026",
"PMID": "41942273",
"PMCID": "PMC13102477",
"ISSN": "2373-2822",
"publisher": "Society for Neuroscience",
"URL": "https://doi.org/10.1523/eneuro.0386-25.2026",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
22
]
]
}
}

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/s41467-026-76132-z [code]
ATP13A4 gates extracellular polyamine levels to control excitatory synaptogenesis.
Journal: Nature communications
In common: car, ggplot2, tidyverse, mouse, 10 references
[2] doi:10.1523/jneurosci.2002-24.2026
Astrocyte TrkB.T1 Deficiency Disrupts Glutamatergic Synaptogenesis and Astrocyte-Synapse Interactions.
Journal: The Journal of neuroscience : the official journal of the Society for Neuroscience
In common: mouse, cellular / molecular, 7 references
[3] doi:10.1038/s41593-026-02354-5 [code]
Focal astrocyte loss reveals nuclear translocation during lesion repopulation.
Journal: Nature neuroscience
In common: ggpubr, patchwork, ggplot2, 1 other tool, mouse, cellular / molecular, 3 references
[4] doi:10.1007/s12035-026-05859-z [code]
Uncovering Spatiotemporal and Functional Dynamics of Long Non-coding RNAs During Alzheimer's Progression in the Human Brain at Single-Cell Resolution.
Journal: Molecular neurobiology
In common: rstatix, ggpubr, patchwork, 2 other tools, cellular / molecular, 2 references
[5] doi:10.1186/s12951-026-04599-5 [code]
Long-term exposure to polystyrene microplastics exacerbates seizure symptoms via lipid metabolic disruption and ferroptosis: insights from multi-omics analyses.
Journal: Journal of nanobiotechnology
In common: rstatix, car, ggpubr, 3 other tools, mouse, cellular / molecular
[6] doi:10.3390/ijms27135713 [code]
Chronic Administration of Marinobufagenin in Mice Causes Hyperlocomotion and Decrease in Anxiety by Altering Monoamine Turnover Unaccompanied by Motor Deficits or Oxidative Stress.
Journal: International journal of molecular sciences
In common: rstatix, car, ggpubr, 3 other tools, mouse, cellular / molecular
[7] doi:10.1038/s41467-026-75697-z
Delayed astrocyte development impairs Sema6a-Plxna2/4-mediated astrocyte-neuron crosstalk and causes depressive-like behavior.
Journal: Nature communications
In common: mouse, 5 references
[8] doi:10.1038/s41467-026-71919-6 [code]
Suppression of astrocyte BMP signaling improves molecular signatures and functional deficits in a fragile X syndrome mouse model.
Journal: Nature communications
In common: ggplot2, tidyverse, mouse, cellular / molecular, 4 references
[9] doi:10.1038/s41586-026-10512-9 [code]
Astrocyte glucocorticoid receptor signalling restricts neuronal plasticity.
Journal: Nature
In common: ggpubr, ggplot2, tidyverse, mouse, cellular / molecular, 3 references
[10] doi:10.1126/sciadv.aec9291 [code]
Computational mechanisms of perception in autism revealed using games inspired by rodent operant tasks.
Journal: Science advances
In common: rstatix, car, ggpubr, 3 other tools

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.