OSCR

Niacin promotes motor function recovery after spinal cord injury via Hcar2-dependent microglia immunometabolic regulation.

Code ↔ Paper

4 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 4 matches
  1. [1] § MATERIALS AND METHODS › Bioinformatic analysis of publicly available single‐cell RNA sequencing datasets ↔ vignettes/mixscape_vignette.Rmd, lines 78–133 · score 0.81 · uniform manifold approximation, principal component, dimensionality reduction, UMAP, biological, Gene expression
  2. [2] § MATERIALS AND METHODS › Bioinformatic analysis of publicly available single‐cell RNA sequencing datasets ↔ R/differential_expression.R, lines 455–538 · score 0.80 · Wilcoxon rank sum, DESeq2, scRNA, Linear, single cell, predicted
  3. [3] § MATERIALS AND METHODS › Statistical analysis ↔ R/preprocessing.R, lines 4370–4415 · score 0.56 · statistical power, standard deviation, variance, score
  4. [4] § MATERIALS AND METHODS › Bulk RNA sequencing and analysis ↔ R/generics.R, lines 109–170 · score 0.56 · DESeq2, quality controlled, genome, Gene expression, transcripts, RNA

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 Markdown · 375 lines · 13 KB · other · 1 match

  1. ---
  2. title: "Mixscape Vignette"
  3. output:
  4. html_document:
  5. theme: united
  6. df_print: kable
  7. date: 'Compiled: `r format(Sys.Date(), "%B %d, %Y")`'
  8. ---
  9. ```{r setup, include=FALSE}
  10. all_times <- list() # store the time for each chunk
  11. knitr::knit_hooks$set(time_it = local({
  12. now <- NULL
  13. function(before, options) {
  14. if (before) {
  15. now <<- Sys.time()
  16. } else {
  17. res <- difftime(Sys.time(), now)
  18. all_times[[options$label]] <<- res
  19. }
  20. }
  21. }))
  22. knitr::opts_chunk$set(
  23. message = FALSE,
  24. warning = FALSE,
  25. time_it = TRUE,
  26. error = TRUE
  27. )
  28. options(SeuratData.repo.use = 'seurat.nygenome.org')
  29. ```
  30. # Overview
  31. This tutorial demonstrates how to use mixscape for the analyses of single-cell pooled CRISPR screens. We introduce new Seurat functions for:
  32. 1. Calculating the perturbation-specific signature of every cell.
  33. 2. Identifying and removing cells that have 'escaped' CRISPR perturbation.
  34. 3. Visualizing similarities/differences across different perturbations.
  35. # Loading required packages
  36. ```{r pkgs1}
  37. # Load packages.
  38. library(Seurat)
  39. library(SeuratData)
  40. library(ggplot2)
  41. library(patchwork)
  42. library(scales)
  43. library(dplyr)
  44. library(reshape2)
  45. # Download dataset using SeuratData.
  46. InstallData(ds = "thp1.eccite")
  47. # Setup custom theme for plotting.
  48. custom_theme <- theme(
  49. plot.title = element_text(size=16, hjust = 0.5),
  50. legend.key.size = unit(0.7, "cm"),
  51. legend.text = element_text(size = 14))
  52. ```
  53. # Loading Seurat object containing ECCITE-seq dataset
  54. We use a 111 gRNA ECCITE-seq dataset generated from stimulated THP-1 cells that was recently published from our lab in bioRxiv [Papalexi et al. 2020](https://www.biorxiv.org/content/10.1101/2020.06.28.175596v1). This dataset can be easily downloaded from the [SeuratData](https://github.com/satijalab/seurat-data) package.
  55. ```{r eccite.load}
  56. # Load object.
  57. eccite <- LoadData(ds = "thp1.eccite")
  58. # Normalize protein.
  59. eccite <- NormalizeData(
  60. object = eccite,
  61. assay = "ADT",
  62. normalization.method = "CLR",
  63. margin = 2)
  64. ```
  65. # RNA-based clustering is driven by confounding sources of variation
  66. Here, we follow the standard Seurat workflow to cluster cells based on their gene expression profiles. We expected to obtain perturbation-specific clusters however we saw that clustering is primarily driven by cell cycle phase and replicate ID. We only observed one perturbation-specific cluster containing cells expression IFNgamma pathway gRNAs.
  67. ```{r eccite.pp, fig.height = 10, fig.width = 15}
  68. # Prepare RNA assay for dimensionality reduction:
  69. # Normalize data, find variable features and scale data.
  70. DefaultAssay(object = eccite) <- 'RNA'
  71. eccite <- NormalizeData(object = eccite) %>% FindVariableFeatures() %>% ScaleData()
  72. # Run Principle Component Analysis (PCA) to reduce the dimensionality of the data.
  73. eccite <- RunPCA(object = eccite)
  74. # Run Uniform Manifold Approximation and Projection (UMAP) to visualize clustering in 2-D.
  75. eccite <- RunUMAP(object = eccite, dims = 1:40)
  76. # Generate plots to check if clustering is driven by biological replicate ID,
  77. # cell cycle phase or target gene class.
  78. p1 <- DimPlot(
  79. object = eccite,
  80. group.by = 'replicate',
  81. label = F,
  82. pt.size = 0.2,
  83. reduction = "umap", cols = "Dark2", repel = T) +
  84. scale_color_brewer(palette = "Dark2") +
  85. ggtitle("Biological Replicate") +
  86. xlab("UMAP 1") +
  87. ylab("UMAP 2") +
  88. custom_theme
  89. p2 <- DimPlot(
  90. object = eccite,
  91. group.by = 'Phase',
  92. label = F, pt.size = 0.2,
  93. reduction = "umap", repel = T) +
  94. ggtitle("Cell Cycle Phase") +
  95. ylab("UMAP 2") +
  96. xlab("UMAP 1") +
  97. custom_theme
  98. p3 <- DimPlot(
  99. object = eccite,
  100. group.by = 'crispr',
  101. pt.size = 0.2,
  102. reduction = "umap",
  103. split.by = "crispr",
  104. ncol = 1,
  105. cols = c("grey39","goldenrod3")) +
  106. ggtitle("Perturbation Status") +
  107. ylab("UMAP 2") +
  108. xlab("UMAP 1") +
  109. custom_theme
  110. # Visualize plots.
  111. ((p1 / p2 + plot_layout(guides = 'auto')) | p3 )
  112. ```
  113. # Calculating local perturbation signatures mitigates confounding effects
  114. To calculate local perturbation signatures we set the number of non-targeting Nearest Neighbors (NNs) equal to k=20 and we recommend that the user picks a k from the following range: 20 < k < 30. Intuitively, the user does not want to set k to a very small or large number as this will most likely not remove the technical variation from the dataset. Using the PRTB signature to cluster cells removes all technical variation and reveals one additional perturbation-specific cluster.
  115. ```{r eccite.cps, fig.height = 10, fig.width = 15}
  116. # Calculate perturbation signature (PRTB).
  117. eccite<- CalcPerturbSig(
  118. object = eccite,
  119. assay = "RNA",
  120. slot = "data",
  121. gd.class ="gene",
  122. nt.cell.class = "NT",
  123. reduction = "pca",
  124. ndims = 40,
  125. num.neighbors = 20,
  126. split.by = "replicate",
  127. new.assay.name = "PRTB")
  128. # Prepare PRTB assay for dimensionality reduction:
  129. # Normalize data, find variable features and center data.
  130. DefaultAssay(object = eccite) <- 'PRTB'
  131. # Use variable features from RNA assay.
  132. VariableFeatures(object = eccite) <- VariableFeatures(object = eccite[["RNA"]])
  133. eccite <- ScaleData(object = eccite, do.scale = F, do.center = T)
  134. # Run PCA to reduce the dimensionality of the data.
  135. eccite <- RunPCA(object = eccite, reduction.key = 'prtbpca', reduction.name = 'prtbpca')
  136. # Run UMAP to visualize clustering in 2-D.
  137. eccite <- RunUMAP(
  138. object = eccite,
  139. dims = 1:40,
  140. reduction = 'prtbpca',
  141. reduction.key = 'prtbumap',
  142. reduction.name = 'prtbumap')
  143. # Generate plots to check if clustering is driven by biological replicate ID,
  144. # cell cycle phase or target gene class.
  145. q1 <- DimPlot(
  146. object = eccite,
  147. group.by = 'replicate',
  148. reduction = 'prtbumap',
  149. pt.size = 0.2, cols = "Dark2", label = F, repel = T) +
  150. scale_color_brewer(palette = "Dark2") +
  151. ggtitle("Biological Replicate") +
  152. ylab("UMAP 2") +
  153. xlab("UMAP 1") +
  154. custom_theme
  155. q2 <- DimPlot(
  156. object = eccite,
  157. group.by = 'Phase',
  158. reduction = 'prtbumap',
  159. pt.size = 0.2, label = F, repel = T) +
  160. ggtitle("Cell Cycle Phase") +
  161. ylab("UMAP 2") +
  162. xlab("UMAP 1") +
  163. custom_theme
  164. q3 <- DimPlot(
  165. object = eccite,
  166. group.by = 'crispr',
  167. reduction = 'prtbumap',
  168. split.by = "crispr",
  169. ncol = 1,
  170. pt.size = 0.2,
  171. cols = c("grey39","goldenrod3")) +
  172. ggtitle("Perturbation Status") +
  173. ylab("UMAP 2") +
  174. xlab("UMAP 1") +
  175. custom_theme
  176. # Visualize plots.
  177. (q1 / q2 + plot_layout(guides = 'auto') | q3)
  178. ```
  179. # Mixscape identifies cells with no detectable perturbation
  180. Here, we are assuming each target gene class is a mixture of two Gaussian distributions one representing the knockout (KO) and the other the non-perturbed (NP) cells. We further assume that the distribution of the NP cells is identical to that of cells expressing non-targeting gRNAs (NT) and we try to estimate the distribution of KO cells using the function `normalmixEM()` from the mixtools package. Next, we calculate the posterior probability that a cell belongs to the KO distribution and classify cells with a probability higher than 0.5 as KOs. Applying this method we identify KOs in 11 target gene classes and detect variation in gRNA targeting efficiency within each class.
  181. ```{r eccite.mixscape, fig.height = 20, fig.width = 20, results="hide"}
  182. # Run mixscape.
  183. eccite <- RunMixscape(
  184. object = eccite,
  185. assay = "PRTB",
  186. slot = "scale.data",
  187. labels = "gene",
  188. nt.class.name = "NT",
  189. min.de.genes = 5,
  190. iter.num = 10,
  191. de.assay = "RNA",
  192. verbose = F,
  193. prtb.type = "KO")
  194. # Calculate percentage of KO cells for all target gene classes.
  195. df <- prop.table(table(eccite$mixscape_class.global, eccite$NT),2)
  196. df2 <- reshape2::melt(df)
  197. df2$Var2 <- as.character(df2$Var2)
  198. test <- df2[which(df2$Var1 == "KO"),]
  199. test <- test[order(test$value, decreasing = T),]
  200. new.levels <- test$Var2
  201. df2$Var2 <- factor(df2$Var2, levels = new.levels )
  202. df2$Var1 <- factor(df2$Var1, levels = c("NT", "NP", "KO"))
  203. df2$gene <- sapply(as.character(df2$Var2), function(x) strsplit(x, split = "g")[[1]][1])
  204. df2$guide_number <- sapply(as.character(df2$Var2),
  205. function(x) strsplit(x, split = "g")[[1]][2])
  206. df3 <- df2[-c(which(df2$gene == "NT")),]
  207. p1 <- ggplot(df3, aes(x = guide_number, y = value*100, fill= Var1)) +
  208. geom_bar(stat= "identity") +
  209. theme_classic()+
  210. scale_fill_manual(values = c("grey49", "grey79","coral1")) +
  211. ylab("% of cells") +
  212. xlab("sgRNA")
  213. p1 + theme(axis.text.x = element_text(size = 18, hjust = 1),
  214. axis.text.y = element_text(size = 18),
  215. axis.title = element_text(size = 16),
  216. strip.text = element_text(size=16, face = "bold")) +
  217. facet_wrap(vars(gene),ncol = 5, scales = "free") +
  218. labs(fill = "mixscape class") +theme(legend.title = element_text(size = 14),
  219. legend.text = element_text(size = 12))
  220. ```
  221. # Inspecting mixscape results
  222. To ensure mixscape is assigning the correct perturbation status to cells we can use the functions below to look at the perturbation score distributions and the posterior probabilities of cells within a target gene class (for example IFNGR2) and compare it to those of the NT cells. In addition, we can perform differential expression (DE) analyses and show that only IFNGR2 KO cells have reduced expression of the IFNG-pathway genes. Finally, as an independent check, we can look at the PD-L1 protein expression values in NP and KO cells for target genes known to be PD-L1 regulators.
  223. ```{r eccite.plots, fig.height = 10, fig.width = 15, results="hide"}
  224. # Explore the perturbation scores of cells.
  225. PlotPerturbScore(object = eccite,
  226. target.gene.ident = "IFNGR2",
  227. mixscape.class = "mixscape_class",
  228. col = "coral2") +labs(fill = "mixscape class")
  229. # Inspect the posterior probability values in NP and KO cells.
  230. VlnPlot(eccite, "mixscape_class_p_ko", idents = c("NT", "IFNGR2 KO", "IFNGR2 NP")) +
  231. theme(axis.text.x = element_text(angle = 0, hjust = 0.5),axis.text = element_text(size = 16) ,plot.title = element_text(size = 20)) +
  232. NoLegend() +
  233. ggtitle("mixscape posterior probabilities")
  234. # Run DE analysis and visualize results on a heatmap ordering cells by their posterior
  235. # probability values.
  236. Idents(object = eccite) <- "gene"
  237. MixscapeHeatmap(object = eccite,
  238. ident.1 = "NT",
  239. ident.2 = "IFNGR2",
  240. balanced = F,
  241. assay = "RNA",
  242. max.genes = 20, angle = 0,
  243. group.by = "mixscape_class",
  244. max.cells.group = 300,
  245. size=6.5) + NoLegend() +theme(axis.text.y = element_text(size = 16))
  246. # Show that only IFNG pathway KO cells have a reduction in PD-L1 protein expression.
  247. VlnPlot(
  248. object = eccite,
  249. features = "adt_PDL1",
  250. idents = c("NT","JAK2","STAT1","IFNGR1","IFNGR2", "IRF1"),
  251. group.by = "gene",
  252. pt.size = 0.2,
  253. sort = T,
  254. split.by = "mixscape_class.global",
  255. cols = c("coral3","grey79","grey39")) +
  256. ggtitle("PD-L1 protein") +
  257. theme(axis.text.x = element_text(angle = 0, hjust = 0.5), plot.title = element_text(size = 20), axis.text = element_text(size = 16))
  258. ```
  259. ```{r save.img, include=TRUE}
  260. p <- VlnPlot(object = eccite, features = "adt_PDL1", idents = c("NT","JAK2","STAT1","IFNGR1","IFNGR2", "IRF1"), group.by = "gene", pt.size = 0.2, sort = T, split.by = "mixscape_class.global", cols = c("coral3","grey79","grey39")) +ggtitle("PD-L1 protein") +theme(axis.text.x = element_text(angle = 0, hjust = 0.5))
  261. ```
  262. ```{r, include=FALSE}
  263. ggsave(filename = "../output/images/mixscape_vignette.jpg", height = 7, width = 12, plot = p, quality = 50)
  264. ```
  265. # Visualizing perturbation responses with Linear Discriminant Analysis (LDA)
  266. We use LDA as a dimensionality reduction method to visualize perturbation-specific clusters. LDA is trying to maximize the separability of known labels (mixscape classes) using both gene expression and the labels as input.
  267. ```{r eccite.lda, fig.height = 7, fig.width = 10, results="hide"}
  268. # Remove non-perturbed cells and run LDA to reduce the dimensionality of the data.
  269. Idents(eccite) <- "mixscape_class.global"
  270. sub <- subset(eccite, idents = c("KO", "NT"))
  271. # Run LDA.
  272. sub <- MixscapeLDA(
  273. object = sub,
  274. assay = "RNA",
  275. pc.assay = "PRTB",
  276. labels = "gene",
  277. nt.label = "NT",
  278. npcs = 10,
  279. logfc.threshold = 0.25,
  280. verbose = F)
  281. # Use LDA results to run UMAP and visualize cells on 2-D.
  282. # Here, we note that the number of the dimensions to be used is equal to the number of
  283. # labels minus one (to account for NT cells).
  284. sub <- RunUMAP(
  285. object = sub,
  286. dims = 1:11,
  287. reduction = 'lda',
  288. reduction.key = 'ldaumap',
  289. reduction.name = 'ldaumap')
  290. # Visualize UMAP clustering results.
  291. Idents(sub) <- "mixscape_class"
  292. sub$mixscape_class <- as.factor(sub$mixscape_class)
  293. # Set colors for each perturbation.
  294. col = setNames(object = hue_pal()(12),nm = levels(sub$mixscape_class))
  295. names(col) <- c(names(col)[1:7], "NT", names(col)[9:12])
  296. col[8] <- "grey39"
  297. p <- DimPlot(object = sub,
  298. reduction = "ldaumap",
  299. repel = T,
  300. label.size = 5,
  301. label = T,
  302. cols = col) + NoLegend()
  303. p2 <- p+
  304. scale_color_manual(values=col, drop=FALSE) +
  305. ylab("UMAP 2") +
  306. xlab("UMAP 1") +
  307. custom_theme
  308. p2
  309. ```
  310. ```{r save.times, include = FALSE}
  311. write.csv(x = t(as.data.frame(all_times)), file = "../output/timings/mixscape_vignette_times.csv")
  312. ```
  313. <details>
  314. <summary>**Session Info**</summary>
  315. ```{r}
  316. sessionInfo()
  317. ```
  318. </details>

mixscape_vignette.Rmd at commit 586015a, under other · at the source

Overview

Authors: Hua Du1, Lingnian Zeng1, Chan Liu1, Huyao Zhou1, Xia Wang1, Qing Ai1, Jinpiao Zhu2, Nong Xiao1
  1. Department of Rehabilitation, Children's Hospital of Chongqing Medical University, National Clinical Research Center for Children and Adolescents’ Health and Diseases, Ministry of Education Key Laboratory of Child Development and Disorders, Chongqing Key Laboratory of Child Neurodevelopment and Cognitive Disorders, Chongqing, China
  2. Perioperative and Systems Medicine Laboratory, Department of Rehabilitation, Children's Hospital, Zhejiang University School of Medicine, National Clinical Research Center for Children and Adolescent's Health and Diseases, Hangzhou, China
Journal: Clinical and translational medicine, volume 16, issue 5, article e70683
Dates: received 17 January 2026; accepted 23 April 2026; published online 1 May 2026; in print May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1002/ctm2.70683 · PMID 42068080 · PMCID PMC13135113 · OpenAlex W7159770380
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: genetics / omics (modality), mouse (organism), non-human primate (organism), other condition (population), cellular / molecular (subfield)
Methods: Spectral & time-frequency, Statistics, Smoothing, state filtering, decompositions
Keywords: hydroxycarboxylic acid receptor 2, immunometabolism, metabolic reprogramming, microglia, neuroinflammation, niacin, spinal cord injury
MeSH: Microglia*, Niacin*, Receptors, G-Protein-Coupled*, Recovery of Function*, Spinal Cord Injuries*, Animals, Disease Models, Animal, Mice (* major topic)
Topic: Spinal Cord Injury Research (Pathology and Forensic Medicine, Medicine), according to OpenAlex
Funding: Children's Hospital of Chongqing Medical University of Medicine Pre-Research Fund (29701259); “Pioneer†and “Leading Goose†R&amp;D Program of Zhejiang (2025C02082); Children's Hospital of Zhejiang University School of Medicine Pre-Research Fund (CHZJU2023YY006); National Natural Science Foundation of China (82401498); Key Project of Medical and Health Science and Technology Plan of Zhejiang Province (WKJ-ZJ-2536); Special Fund for the Incubation of Young Clinical Scientist, the Children's Hospital of Zhejiang University School of Medicine (CHZJU2024YS001)
Citations: not cited yet (Europe PMC); 50 references in the paper

Abstract

Background: Traumatic spinal cord injury (SCI) induces a robust local inflammatory response that can both facilitate repair and exacerbate pathology. Hydroxycarboxylic acid receptor 2 (Hcar2) is known to exert immunomodulatory effects; however, its role in SCI and its potential for targeting Hcar2 to alleviate motor deficits remain unclear.

Methods: The spinal cord transcriptome following SCI, with a focus on Hcar2, was analysed via publicly available single‐cell RNA sequencing datasets from mice and rhesus macaques. Additionally, an in vivo SCI mouse model with Hcar2 knockout and an in vitro LPS‐induced BV2 microglial model were established to assess Hcar2 gene and protein expression, microglial activation and inflammatory responses via bulk RNA sequencing, immunofluorescence staining, Western blotting, and real‐time polymerase chain reaction. To evaluate the protective effects of Hcar2 activation, niacin, a known Hcar2 agonist, was administered to mice or BV2 cells, followed by assessments of the inflammatory response and motor function.

Results: Hcar2 gene expression, which was enriched predominantly in spinal cord microglia, was upregulated following SCl, peaking at 7 days post‐SCl. Genetic knockout of Hcar2 decreased the percentage of impaired anti‐inflammatory polarized microglia and increased the inflammatory response. In contrast, Hcar2 activation with niacin in LPS‐stimulated microglia BV cell models reversed mitochondrial dysfunction, increased the oxygen consumption rate and reduced the expression of the cytokines IL‐6 and IL‐1β. The administration of niacin to SCl mice upregulated anti‐inflammatory microglia, reduced the expression of multiple proinflammatory cytokines, increased the number of motor neurons and improved motor function recovery. Notably, all these protective effects were abolished by genetic loss of Hcar2.

Conclusions: Hcar2 serves as a critical regulator of microglial polarization, promoting the switch from a proinflammatory phenotype to an anti‐inflammatory phenotype through immunometabolic reprogramming. Targeting Hcar2 with niacin may offer a translatable therapeutic strategy to improve functional recovery after SCl.

Key Points: Hcar2 is identified as a conserved, injury‐induced metabolic checkpoint specifically enriched in microglia following spinal cord injury.

Hcar2 activation reprogrammes microglial metabolism from glycolysis to oxidative phosphorylation to drive reparative anti‐inflammatory polarization.

Pharmacological targeting of Hcar2 with niacin resolves neuroinflammation and promotes functional motor recovery in an Hcar2‐dependent manner.

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

satijalab/seurat

License: other
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 586015abde10618ecb32d3fe632267a83317a08d, 21 September 2026
Languages: R (114), C++ (8), C/C++ (4), C (1)
Size: 455 files, 127 scripts
Software Heritage: archived
Found in: “Bioinformatic analysis of publicly available sin”
Holds: README, license file, environment (DESCRIPTION), tests, continuous integration, documentation, 70 notebooks
Not found: CITATION.cff
Tools: Seurat (75 files), ggplot2 (48 files), patchwork (27 files), tidyverse (19 files), cowplot (10 files), reshape2 (3 files), SingleCellExperiment (3 files), Plotly (2 files), data.table (1 file), DESeq2 (1 file), Harmony (1 file), igraph (1 file), limma (1 file), Monocle 3 (1 file), reticulate (1 file), UMAP (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
130 files

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;
  • 127 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

Datasets cited

Data availability statement

The datasets generated and analysed during the current study are available from the corresponding author upon reasonable request. The RNA‐seq data have been deposited in the NCBI Sequence Read Archive (SRA) under accession number PRJNA1441145. Publicly available single‐cell RNA sequencing data used in this study were obtained from the Gene Expression Omnibus (GEO) under accession number GSE162610 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE162610), GSE196929 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE196929) and GSE228032 (https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE228032).

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

Recorded: type, language, journal, volume, issue, pages, dates, 8 authors, 7 keywords, 8 MeSH terms, 6 funders, 50 references.

Cite

This paper

Du, H., Zeng, L., Liu, C., Zhou, H., Wang, X., Ai, Q., Zhu, J., & Xiao, N. (2026). Niacin promotes motor function recovery after spinal cord injury via Hcar2-dependent microglia immunometabolic regulation. Clinical and translational medicine, 16(5), e70683. https://doi.org/10.1002/ctm2.70683

BibTeX

@article{du2026niacin,
author = {Du, Hua and Zeng, Lingnian and Liu, Chan and Zhou, Huyao and Wang, Xia and Ai, Qing and Zhu, Jinpiao and Xiao, Nong},
title = {{Niacin promotes motor function recovery after spinal cord injury via Hcar2-dependent microglia immunometabolic regulation}},
journal = {Clinical and translational medicine},
year = {2026},
month = may,
volume = {16},
number = {5},
pages = {e70683},
publisher = {Wiley},
issn = {2001-1326},
doi = {10.1002/ctm2.70683},
url = {https://doi.org/10.1002/ctm2.70683},
pmid = {42068080},
pmcid = {PMC13135113}
}

RIS

TY - JOUR
AU - Du, Hua
AU - Zeng, Lingnian
AU - Liu, Chan
AU - Zhou, Huyao
AU - Wang, Xia
AU - Ai, Qing
AU - Zhu, Jinpiao
AU - Xiao, Nong
TI - Niacin promotes motor function recovery after spinal cord injury via Hcar2-dependent microglia immunometabolic regulation
T2 - Clinical and translational medicine
J2 - Clin Transl Med
PY - 2026
DA - 2026/05/01
VL - 16
IS - 5
SP - e70683
SN - 2001-1326
PB - Wiley
DO - 10.1002/ctm2.70683
UR - https://doi.org/10.1002/ctm2.70683
LA - en
ER -

CSL-JSON

{
"id": "10.1002/ctm2.70683",
"type": "article-journal",
"title": "Niacin promotes motor function recovery after spinal cord injury via Hcar2-dependent microglia immunometabolic regulation",
"container-title": "Clinical and translational medicine",
"author": [
{
"family": "Du",
"given": "Hua"
},
{
"family": "Zeng",
"given": "Lingnian"
},
{
"family": "Liu",
"given": "Chan"
},
{
"family": "Zhou",
"given": "Huyao"
},
{
"family": "Wang",
"given": "Xia"
},
{
"family": "Ai",
"given": "Qing"
},
{
"family": "Zhu",
"given": "Jinpiao"
},
{
"family": "Xiao",
"given": "Nong"
}
],
"container-title-short": "Clin Transl Med",
"volume": "16",
"issue": "5",
"page": "e70683",
"DOI": "10.1002/ctm2.70683",
"PMID": "42068080",
"PMCID": "PMC13135113",
"ISSN": "2001-1326",
"publisher": "Wiley",
"URL": "https://doi.org/10.1002/ctm2.70683",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
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.1186/s12974-026-03838-8 [code]
Acarbose modulates microglial Pkm2 acetylation to reshape immunometabolism and preserve retinal neurons after ischemia-reperfusion.
Journal: Journal of neuroinflammation
In common: Monocle 3, Harmony, SingleCellExperiment, 13 other tools, genetics / omics, mouse, cellular / molecular, 2 references
[2] doi:10.7554/elife.93640 [code]
Sibling chimerism among microglia in marmosets.
Journal: eLife
In common: Monocle 3, Harmony, SingleCellExperiment, 13 other tools, non-human primate, genetics / omics, cellular / molecular
[3] doi:10.1038/s41420-026-02971-w [code]
Multi-omics reveals heterogeneity and functional populations of oligodendrocyte progenitor cells induced by human neural stem cells.
Journal: Cell death discovery
In common: Monocle 3, Harmony, SingleCellExperiment, 13 other tools, genetics / omics, cellular / molecular
[4] doi:10.1038/s44318-026-00818-9 [code]
FAM134B-mediated ER-phagy degrades APP and suppresses Alzheimer's disease pathology.
Journal: The EMBO journal
In common: Monocle 3, Harmony, SingleCellExperiment, 13 other tools, mouse, cellular / molecular
[5] doi:10.1016/j.xcrm.2026.102766 [code]
A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.
Journal: Cell reports. Medicine
In common: Monocle 3, Harmony, SingleCellExperiment, 12 other tools, genetics / omics, other condition, cellular / molecular
[6] 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: Monocle 3, limma, igraph, 8 other tools, genetics / omics, other condition, mouse, 1 other category, 4 references
[7] doi:10.1002/imt2.70163 [code]
Spatial multi-omics unveils sphingolipid metabolic reprogramming within the retinal pathological niche.
Journal: iMeta
In common: Monocle 3, Harmony, SingleCellExperiment, 11 other tools, genetics / omics, mouse, cellular / molecular
[8] doi:10.1016/j.xcrm.2026.102651 [code]
Integrative CSF profiling identifies disease-specific immune responses in leptomeningeal disease.
Journal: Cell reports. Medicine
In common: Harmony, SingleCellExperiment, reticulate, 11 other tools, genetics / omics, other condition, cellular / molecular
[9] 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: Monocle 3, Harmony, SingleCellExperiment, 11 other tools, cellular / molecular
[10] doi:10.1038/s41586-026-10214-2 [code]
Multidimensional profiling of heterogeneity in supratentorial ependymomas.
Journal: Nature
In common: Monocle 3, Harmony, SingleCellExperiment, 10 other tools, genetics / omics, other condition, mouse

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.