Dorso-Ventral and Night-Day Regulation of Extracellular K<sup>+</sup> Dynamics in Mouse Hippocampal Astrocytes.
The 4 matches
- [1] § Methods › Synaptic Stimulation and Field Potential Recordings ↔ Rise_time_R.R, lines 168–213 · score 0.61 · 25–75 %, rise, Master, intensity
- [2] § Methods › Isolation of Kir4.1 Currents ↔ Astrocyte_MFA_Barium_R.R, lines 1–41 · score 0.59 · BaCl2, patch clamp, MFA, astrocyte, fitting
- [3] § Results › Extracellular K+ Dynamics Exhibit Regional and Circadian Specificity › Ventral Hippocampus Accumulates [K+]o More Rapidly and to Greater Amplitudes, Particularly at Early Light Phase ↔ Rise_time_R.R, lines 168–213 · score 0.55 · 25–75 %, slope, rise
- [4] § Results › Cellular Basis of Regional [K+]o Buffering Differences: A Role for Reduced Kir4.1 Function in Ventral Astrocytes › Reduced Kir4.1‐Mediated Conductance in Ventral Versus Dorsal Hippocampal As ↔ Astrocyte_MFA_Barium_R.R, lines 1–41 · score 0.51 · BaCl2, post hoc, ratio, rectification, slope, patched
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 · 272 lines · 8.6 KB · CC-BY-4.0 · 2 matches
- #Rise time assessment Script################################################
- #Packages
- # Core Data Science & Plotting
- library(tidyverse)
- # Frequentist Modeling & Distribution Fitting
- library(fitdistrplus)
- library(car)
- library(permuco)
- # Bayesian Modeling & Post-Hocs
- library(brms)
- library(emmeans)
- ##########################Loading##########################
- Master <- read.csv("Rise_time_Norm.CSV", sep = ",")
- #Factor Determination##########################
- Master <- data.frame(Master)
- Master$Region <- as.factor(Master$Region)
- Master$ZT <- as.factor(Master$ZT)
- #The values in this data set have been normalized to DH, at ZT3.
- #Functions##################################################
- #For plots
- custom_theme <- function() {
- theme_bw() +
- theme(
- panel.border = element_blank(),
- panel.grid.major = element_blank(),
- panel.grid.minor = element_blank(),
- axis.line = element_line(colour = "black", size = 1),
- axis.ticks.x = element_line(size = 1.5, colour = "black"),
- axis.text.x = element_text(size = 24, color = "black"),
- axis.title.x = element_text(size = 22, colour = "black"),
- axis.title.y = element_text(size = 24, color = "black"),
- axis.text.y = element_text(size = 24, color = "black"),
- axis.ticks.y = element_line(size = 1.5, colour = "black"),
- legend.text = element_text(size = 24, color = "black"),
- legend.title = element_blank(),
- legend.position = "right",
- strip.background = element_blank(),
- strip.text = element_text(size = 24, face = "bold", color = "black"),
- strip.placement = "outside", # NEW: place facet strip outside the plot
- panel.spacing = unit(1.5, "lines")
- )
- }
- theme_set(custom_theme())
- # Automatically fit and compare multiple distributions
- auto_fit <- function(data, dist_names = c("norm", "lnorm", "gamma", "weibull", "exp")) {
- fits <- list()
- for(dist in dist_names) {
- tryCatch({
- fits[[dist]] <- fitdist(data, dist)
- }, error = function(e) NULL)
- }
- # Compare AIC
- aic_vals <- sapply(fits, function(x) if(!is.null(x)) x$aic else NA)
- aic_df <- data.frame(Distribution = names(aic_vals), AIC = aic_vals)
- aic_df <- aic_df[order(aic_df$AIC), ]
- return(list(best_fit = fits[[aic_df$Distribution[1]]], all_fits = fits, comparison = aic_df))
- }
- #Omega-squared function
- calculate_omega_from_anova <- function(anova_df) {
- # Extract values from the ANOVA data frame
- SS_effects <- anova_df$SS[1:(nrow(anova_df)-1)] # All but last row (residuals)
- df_effects <- anova_df$df[1:(nrow(anova_df)-1)]
- SS_residual <- anova_df$SS[nrow(anova_df)]
- df_residual <- anova_df$df[nrow(anova_df)]
- # Get effect names
- effect_names <- rownames(anova_df)[1:(nrow(anova_df)-1)]
- # Calculate total sum of squares
- SS_total <- sum(SS_effects) + SS_residual
- MS_residual <- SS_residual / df_residual
- # Calculate omega squared for each effect
- omega_squared <- (SS_effects - df_effects * MS_residual) / (SS_total + MS_residual)
- # Create results data frame
- results <- data.frame(
- Effect = effect_names,
- OmegaSquared = omega_squared
- )
- return(results)
- }
- #Summarizing brm analysis
- summarize_significant_effects <- function(model, ci_level = 0.95, digits = 2) {
- # Extract fixed effect estimates
- fixed_effects <- as.data.frame(fixef(model, probs = c((1 - ci_level)/2, 1 - (1 - ci_level)/2)))
- # Rename columns
- colnames(fixed_effects)[c(3, 4)] <- c("CI_low", "CI_high")
- # Add significance flag as logical (TRUE/FALSE)
- fixed_effects$Significant <- sign(fixed_effects$CI_low) == sign(fixed_effects$CI_high)
- # Round for readability
- fixed_effects <- round(fixed_effects, digits)
- return(fixed_effects)
- }
- # Function to test 2-way ANOVA assumptions
- test_anova_assumptions <- function(data, dv, iv1, iv2) {
- # Ensure the car package is available for Levene's Test
- if (!requireNamespace("car", quietly = TRUE)) {
- stop("The 'car' package is required. Please run: install.packages('car')")
- }
- # 1. Construct the formula
- formula_str <- paste(dv, "~", iv1, "*", iv2)
- form <- as.formula(formula_str)
- # 2. Fit the ANOVA model
- model <- aov(form, data = data)
- resids <- residuals(model)
- cat("\n--- 1. Homogeneity of Variance (Levene's Test) ---\n")
- # Tests if variance is equal across all groups
- levene <- car::leveneTest(form, data = data)
- print(levene)
- cat("\n--- 2. Normality of Residuals (Shapiro-Wilk Test) ---\n")
- # Tests if the errors are normally distributed
- # Note: Shapiro-Wilk is sensitive to large sample sizes
- shapiro <- shapiro.test(resids)
- print(shapiro)
- cat("\n--- 3. Visual Diagnostics ---\n")
- # Set up a 1x2 plotting area
- old_par <- par(mfrow = c(1, 2))
- # Residuals vs Fitted: Look for a random "cloud" (no funnel shapes)
- plot(model, which = 1, main = "Residuals vs Fitted")
- # Normal Q-Q: Points should follow the diagonal line
- plot(model, which = 2, main = "Normal Q-Q Plot")
- # Reset plotting parameters
- par(old_par)
- cat("\nInterpretation Guide:\n")
- cat("- Levene's p > 0.05: Assumption met (Equal Variance).\n")
- cat("- Shapiro's p > 0.05: Assumption met (Normal Distribution).\n")
- }
- # Example Usage:
- # test_anova_assumptions(data = my_data, dv = "Intensity", iv1 = "Region", iv2 = "Time")
- ###########################################################################################
- #Variable of interest: Slope = 25%-75% rise time
- test_anova_assumptions(data = Master, dv = "Slope", iv1 = "Region", iv2 = "ZT")
- #Paramteric Estimation
- set.seed(123)
- model_1 <- aovperm(Slope ~ Region * ZT, data = Master, np = 10000)
- anova <- data.frame(summary(model_1))
- # SS df F parametric.P..F. resampled.P..F.
- #Region 64.69296 1 16.849288 8.327271e-05 0.0002
- #ZT 17.76314 2 2.313206 1.042688e-01 0.1023
- #Region:ZT 26.02457 2 3.389051 3.770090e-02 0.0365
- #Residuals 380.11118 99 NA NA NA
- calculate_omega_from_anova(anova)
- # Effect OmegaSquared
- # Region 0.12357753
- # ZT 0.02047823
- # Region:ZT 0.03725505
- auto_fit(Master$Slope)
- # Distribution AIC
- #gamma gamma 382.8165 #lowest and most appropriate
- #exp exp 383.6992
- #weibull weibull 383.8508
- #lnorm lnorm 384.5782
- #norm norm 461.5250
- #Bayesian estimation
- fit_rise_time<- brm(
- Slope ~ Region * ZT,
- data = Master,
- family = Gamma(link = 'log'),
- iter = 4000, chains = 4, seed = 123
- )
- summarize_significant_effects(fit_rise_time)
- #Post-hoc analyses##################################################
- library(emmeans)
- #Fixing ZT: pairwise with region
- model_int_emmeans <- emmeans(fit_rise_time, ~ ZT |Region )
- # 2. Get pairwise comparisons (no Bonferroni needed in Bayesian)
- fit_contrasts <- pairs(model_int_emmeans)
- summary(fit_contrasts)
- #Fixing Region: pairwise with ZT
- model_int_emmeans <- emmeans(fit_rise_time, ~ Region|ZT )
- # 2. Get pairwise comparisons (no Bonferroni needed in Bayesian)
- fit_contrasts <- pairs(model_int_emmeans)
- summary(fit_contrasts)
- #######################################################################
- # Plotting with the analysis#####################################################
- # Create new data for predictions
- new_data <- expand.grid(
- ZT = factor(c("3", "8", "15"), levels = c("3", "8", "15")),
- Region = factor(c("DH", "VH"), levels = c("DH", "VH"))
- )
- #Get fitted values with 95% CI#################################################################
- fitted_vals <- fitted(fit_rise_time, newdata = new_data, re_formula = NA, probs = c(0.025, 0.975))
- fitted_df <- cbind(new_data, fitted_vals)
- # Plot
- ggplot(fitted_df, aes(x = ZT, y = Estimate, color = Region, group = Region)) +
- geom_point(position = position_dodge(width = 0.3), size = 4) +
- geom_line(position = position_dodge(width = 0.3)) +
- geom_errorbar(aes(ymin = Q2.5, ymax = Q97.5), width = 0.2, position = position_dodge(width = 0.3)) +
- # ADD RAW DATA POINTS (jittered for visibility)
- geom_jitter(data = Master,
- aes(x = ZT, y = Slope, color = Region),
- position = position_jitterdodge(jitter.width = 0.1, dodge.width = 0.5),
- alpha = 0.5, size = 3, inherit.aes = FALSE) +
- labs(y = "Normalized 25-75 Slope") +
- scale_color_manual(values = c("DH" = "red", "VH" = "blue"))
- ###########################################################################################
Rise_time_R.R at commit cbe75da, under CC-BY-4.0 · at the source
Overview
- Aix Marseille Univ, INSERM, INS, Inst Neurosci Syst, Marseille, France
- Department of Human Anatomy, Faculty of Basic Medical Sciences, Federal University of Lafia, Lafia, Nigeria
- Department of Physiology and Department of Neuroscience, Croatian Institute for Brain Research, School of Medicine, University of Zagreb, Zagreb, Croatia
- Aix Marseille Univ, Inserm, INMED, Institut de Neurobiologie de la Méditerranée, Marseille, France
Abstract
Astrocytes regulate extracellular potassium (K+) through multiple mechanisms operating across distinct spatiotemporal scales, yet whether this regulation exhibits regional and circadian specificity remains unclear. Using real‐time K+ measurements combined with electrophysiology and immunohistochemistry in astrocytes, we characterize K+ buffering by astrocytes across the dorsoventral hippocampal axis at three circadian times. We report that hippocampal CA1 stratum radiatum astrocytes possess different functional K+ buffering capacities depending on both anatomical location and time of day. At the early light phase (ZT3), the ventral hippocampus (VH) exhibits faster K+ accumulation and greater peak amplitudes than the dorsal hippocampus (DH) in response to similar neuronal network activity. This regional divergence is driven by reduced Kir4.1 channel function in VH astrocytes, which persists across all measured time points, and which is partially compensated by enhanced Na+/
Reproduced under the paper's license (CC BY), from the paper cited above.
Repositories
Its files are read in the Code ↔ Paper reader above, with 4 matches between paragraphs and lines of code.
Nari-KIANI/Glia_3740732_Data
cbe75da955ac24c2aa014e0f2b640034cc6d73d2, 26 June 2026Availability: 1 check, the latest on 26 September 2026: the link answers
- 26 September 2026: the link answers
8 files
- Astrocyte_MFA_Barium_R.R
, R, 516 lines, 2 matches - Coupling_R.R, R, 294 lines
- Immunohistochemistry_R.R
, R, 358 lines - K_dynamics_10Hz30s_R.R, R, 416 lines
- Rise_time_R.R, R, 272 lines, 2 matches
- Undershoot_analysis_R.R, R, 283 lines
- LICENCE, License, 395 lines
- README.md, Text, 108 lines
Zenodo 20933397
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
- 26 September 2026: the link answers (HTTP 200)
8 files
- Astrocyte_MFA_Barium_R.R
, R, 516 lines - Coupling_R.R, R, 294 lines
- Immunohistochemistry_R.R
, R, 358 lines - K_dynamics_10Hz30s_R.R, R, 416 lines
- Rise_time_R.R, R, 272 lines
- Undershoot_analysis_R.R, R, 283 lines
- LICENCE, License, 395 lines
- README.md, Text, 108 lines
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;
- 12 scripts, each with its path and the digest of its content;
- 4 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 Availability Statement
The raw electrophysiology data, processed master datasets, and R analysis scripts that support the findings of this study are available on GitHub (https://
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 3, 28 September 2026
- Publisher: n/a → Wiley
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 6 authors, 5 keywords, 12 MeSH terms, 4 funders, 66 references.
Cite
This paper
Kiani, N., Abubakar, K., Petanjek, T. L., Esclapez, M., Ivanov, A., & Bernard, C. (2026). Dorso-Ventral and Night-Day Regulation of Extracellular K&
BibTeX
@article{kiani2026dorso,
author = {Kiani, Nariman and Abubakar, Kabeer and Petanjek, Tin Luka and Esclapez, Monique and Ivanov, Anton and Bernard, Christophe},
title = {{Dorso-Ventral and Night-Day Regulation of Extracellular K\&
journal = {Glia},
year = {2026},
month = sep,
volume = {74},
number = {9},
pages = {e70201},
publisher = {Wiley},
issn = {0894-1491},
doi = {10.1002/
url = {https://
pmid = {42423189},
pmcid = {PMC13347764}
}
RIS
TY - JOUR
AU - Kiani, Nariman
AU - Abubakar, Kabeer
AU - Petanjek, Tin Luka
AU - Esclapez, Monique
AU - Ivanov, Anton
AU - Bernard, Christophe
TI - Dorso-Ventral and Night-Day Regulation of Extracellular K&
T2 - Glia
J2 - Glia
PY - 2026
DA - 2026/
VL - 74
IS - 9
SP - e70201
SN - 0894-1491
PB - Wiley
DO - 10.1002/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1002/
"type": "article-journal",
"title": "Dorso-Ventral and Night-Day Regulation of Extracellular K&
"container-title": "Glia",
"author": [
{
"family": "Kiani",
"given": "Nariman"
},
{
"family": "Abubakar",
"given": "Kabeer"
},
{
"family": "Petanjek",
"given": "Tin Luka"
},
{
"family": "Esclapez",
"given": "Monique"
},
{
"family": "Ivanov",
"given": "Anton"
},
{
"family": "Bernard",
"given": "Christophe"
}
],
"container-title-short":
"volume": "74",
"issue": "9",
"page": "e70201",
"DOI": "10.1002/
"PMID": "42423189",
"PMCID": "PMC13347764",
"ISSN": "0894-1491",
"publisher": "Wiley",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
1
]
]
}
}
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.1016/j.isci.2026.116695 [code]
- The naive brain detects face-to-face biological motion.Journal: iScienceIn common: permuco, car, emmeans, 1 other tool
- [2] doi:10.1038/s41467-026-73435-z [code]
- Cellular and subcellular heterogeneity of astrocytic Na⁺ homeostasis tuning astrocytes into functionally distinct subgroups in the mouse brain.Journal: Nature communicationsIn common: mouse, cellular / molecular, 4 references
- [3] doi:10.1016/j.celrep.2026.117505 [code]
- Impaired spatial coding and neuronal hyperactivity in the medial entorhinal cortex of aged APP knock-in mice.Journal: Cell reportsIn common: brms, car, emmeans, 1 other tool, mouse
- [4] doi:10.1016/j.isci.2026.116747 [code]
- Age and loneliness relate to reduced trust learning and alterations in amygdala function.Journal: iScienceIn common: brms, car, emmeans, 1 other tool
- [5] doi:10.1162/opmi.a.358 [code]
- Tracking Visual Statistical Learning with Steady-State Visual Evoked Potentials: Effects of Exemplar and Category Information.Journal: Open mind : discoveries in cognitive scienceIn common: brms, car, emmeans, 1 other tool
- [6] doi:10.1038/s41467-026-73865-9 [code]
- Histamine shapes the neurocomputational dynamics of human learning.Journal: Nature communicationsIn common: brms, car, emmeans, 1 other tool
- [7] doi:10.1523/eneuro.0076-26.2026 [code]
- Exogenously Driven Neural Reactivation of Spatially Matching Visual Working-Memory Contents.Journal: eNeuroIn common: brms, car, emmeans, 1 other tool
- [8] doi:10.1111/jne.70257 [code]
- A symmetric systemic challenge elicits a right-biased response mediated by vasopressin signaling.Journal: Journal of neuroendocrinologyIn common: brms, emmeans, tidyverse, cellular / molecular, 1 reference
- [9] doi:10.1162/opmi.a.372 [code]
- Broadening the Agent Preference Hypothesis Through Experiencers: Eye-Tracking and EEG Evidence of Proto-Agents and Proto-Patients.Journal: Open mind : discoveries in cognitive scienceIn common: brms, car, tidyverse, 1 reference
- [10] doi:10.1371/journal.pbio.3003899 [code]
- Social interactions between people of same and different generations shape longitudinal changes in interpersonal neural synchrony, loneliness, and social connection.Journal: PLoS biologyIn common: brms, emmeans, tidyverse, 1 reference
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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 2 repositories of the authors' code, each at its verified commit and with its license, 12 scripts, and 4 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:2749c3caf72fdd8c…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
