Deciphering the ancestral mechanisms of neural regeneration through single-cell analyses of jellyfish rhopalium repair.
The 3 matches · 1 of them tie a paragraph to a whole file without given lines: a weak match, whose lines are not tinted
- [1] § MATERIALS AND METHODS › Cross-species analysis ↔ code.zip/code/blastp.sh, the whole file · a weak match · score 0.77 · Anolis carolinensis, SAMap, Schmidtea mediterranea, lizard, cross species, rerio · Report a mismatch
- [2] § MATERIALS AND METHODS › Cross-species analysis ↔ code.zip/code/CrossSpecies_main.R, lines 144 to 213 · score 0.58 · Schmidtea mediterranea, cross species integrative, rerio, Xenopus, mapped, cell · Report a mismatch
- [3] § MATERIALS AND METHODS › Data quality control, integration, and analysis ↔ code.zip/code/CrossSpecies_main.R, lines 215 to 280 · score 0.56 · FindClusters, FindNeighbors, Seurat, RNA · Report a mismatch
Paper
Loaded from Europe PMC by your browser; OSCR does not store it: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
R · 280 lines · 12 KB · CC-BY-4.0 · 2 matches
- # ==============================================================================
- # Single-Cell RNA-seq Analysis Pipeline for Aurelia
- # Main Tasks:
- # 1. Subset cell clusters
- # 2. Cell stemness analysis (CytoTRACE2)
- # 3. Lineage/trajectory inference (Slingshot, Monocle3)
- # 4. Cross-species gene mapping & integration
- # 5. Visualization of UMAP, trajectories, and gene expression
- # ==============================================================================
- # Load required libraries
- library(Seurat)
- library(tidyverse)
- library(CytoTRACE2)
- library(SeuratDisk)
- library(slop)
- library(monocle3)
- library(writexl)
- library(rtracklayer)
- library(slingshot)
- ZS_nosplit <- read_rds('~/Aurelia/ZS_nosplit.rds')
- ZS_nosplit_sub <- subset(ZS_nosplit, RNA_snn_res.0.6 %in%
- c(0,1,4,7,8,10,17,18,21,22,28))
- set.seed(1234)
- ZS_nosplit_down <- ZS_nosplit[, sample(1:ncol(ZS_nosplit), 10000)]
- ZS_nosplit_down[['RNA']] <- as(ZS_nosplit_down[['RNA']], Class = 'Assay')
- write_rds(ZS_nosplit_down, '~/Aurelia/ZS_nosplit_down.rds')
- # ==============================================================================
- #Lineage Inference with Slingshot
- # ==============================================================================
- pdf('~/Aurelia/lineage3.pdf', width = 8, height = 8)
- # Run Slingshot trajectory analysis
- ZS_nosplit_slingshot <- slop::RunSlingshot(
- srt = subset(ZS_nosplit_down, RNA_snn_res.0.6 %in%
- c(0,1,4,7,8,10,17,18,21,22,28)),
- group.by = "RNA_snn_res.0.6",
- start = 1,
- reduction = "umap"
- )
- dev.off()
- # Visualize lineages on UMAP
- slop::CellDimPlot(
- ZS_nosplit_slingshot,
- group.by = "RNA_snn_res.0.6",
- reduction = "umap",
- lineages = paste0("Lineage", 1:3),
- lineages_span = 0.1,
- lineages_trim = c(0.05, 0.95)
- )
- # Plot pseudotime for each lineage
- umap_limits <- list(
- x = range(ZS_nosplit@reductions$[email hidden][,1]),
- y = range(ZS_nosplit@reductions$[email hidden][,2])
- )
- p1 <- FeatureDimPlot(ZS_nosplit_slingshot, features = "Lineage1",
- reduction = "umap", pt.size = 0.5) +
- xlim(umap_limits$x) + ylim(umap_limits$y)
- p2 <- FeatureDimPlot(ZS_nosplit_slingshot, features = "Lineage2",
- reduction = "umap", pt.size = 0.5) +
- xlim(umap_limits$x) + ylim(umap_limits$y)
- p3 <- FeatureDimPlot(ZS_nosplit_slingshot, features = "Lineage3",
- reduction = "umap", pt.size = 0.5) +
- xlim(umap_limits$x) + ylim(umap_limits$y)
- # Combine and save lineage plots
- pdf('~/Aurelia/reversion/lineage_all.pdf', width = 16, height = 5)
- p1 + p2 + p3 +p4
- dev.off()
- # ==============================================================================
- # Re-process Subsetted Data (Normalization, PCA, UMAP)
- # ==============================================================================
- ZS_nosplit_sub <- JoinLayers(ZS_nosplit_sub)
- sceobj_exp <- LayerData(ZS_nosplit_sub, assay = "RNA", layer = 'counts')
- # Create new Seurat object
- sceobj_new <- CreateSeuratObject(counts = sceobj_exp,
- meta.data = [email hidden])
- #Split assay by sample for integration
- sceobj_new[["RNA"]] <- split(sceobj_new[["RNA"]], f = sceobj_new$orig.ident)
- # ==============================================================================
- #: Export Cluster2 for Cross-Species Analysis
- # ==============================================================================
- C2 <- read_rds('~/Aurelia/reversion/cluster2.rds')
- C2[['RNA']] <- as(C2[['RNA']], Class = 'Assay')
- # Modify gene names to avoid conflicts
- C2_exp <- C2@assays$RNA@counts
- rownames(C2_exp) <- paste0(stringr::str_replace_all(rownames(C2_exp), 'gene', 'rna'), '.1')
- # Create annotated Seurat object
- C2 <- CreateSeuratObject(counts = C2_exp, meta.data = [email hidden])
- C2 <- NormalizeData(C2)
- C2 <- ScaleData(C2)
- C2$celltype <- 'C2'
- # Export as h5Seurat and h5ad (for Python/scanpy)
- SeuratDisk::SaveH5Seurat(C2, filename = "~/Aurelia/reversion/C2_ann.h5Seurat")
- SeuratDisk::Convert("~/Aurelia/reversion/C2_ann.h5Seurat", dest = "h5ad")
- write_rds(C2, '~/Aurelia/reversion/C2.rds')
- # ==============================================================================
- # Cross-Species Gene Mapping Functions
- # ==============================================================================
- trans_species_obj <- function(query_obj, subject_obj, map_gene) {
- subject_exp <- subject_obj@assays$RNA$counts
- subject_exp_duplicate_new <- subject_exp
- for (i in 1:5) {
- temp_exp <- subject_exp
- rownames(temp_exp) <- paste0(rownames(subject_exp), "-", i)
- subject_exp_duplicate_new <- rbind(temp_exp, subject_exp_duplicate_new)
- }
- map_gene <- map_gene[map_gene$subject_id %in% rownames(subject_exp_duplicate_new), ]
- subject_exp_duplicate_new <- subject_exp_duplicate_new[map_gene$subject_id, ]
- rownames(subject_exp_duplicate_new) <- map_gene$query_id
- subject_obj_new <- CreateSeuratObject(counts = subject_exp_duplicate_new, meta.data = [email hidden])
- merge_obj <- merge(query_obj, subject_obj_new)
- return(merge_obj)
- }
- trans_gene_species <- function(species1_vs_species2, species2_vs_species1) {
- colnames(species1_vs_species2) <- c(
- "query_id", "subject_id", "percent_identity", "alignment_length",
- "mismatch_count", "gap_open_count", "q_start", "q_end",
- "s_start", "s_end", "e_value", "bit_score"
- )
- colnames(species2_vs_species1) <- colnames(species1_vs_species2)
- best_hits_species1 <- species1_vs_species2 %>%
- group_by(query_id) %>%
- top_n(4, bit_score) %>%
- ungroup()
- best_hits_species2 <- species2_vs_species1 %>%
- group_by(query_id) %>%
- top_n(4, bit_score) %>%
- ungroup()
- rbh <- inner_join(best_hits_species1, best_hits_species2,
- by = c("query_id" = "subject_id", "subject_id" = "query_id")) %>%
- select(query_id, subject_id)
- return(rbh)
- }
- # ==============================================================================
- # Cross-Species Integration
- # ==============================================================================
- # Xenopus
- ROCs_sce <- SeuratDisk::LoadH5Seurat("~/Aurelia/regen/Xenopus/ROCs_sce.h5Seurat")
- Au_to_Xp <- read_table('~/Aurelia/regen/maps/XeAu/Au_to_Xe.txt', col_names = F)
- Xp_to_Au <- read_table('~/Aurelia/regen/maps/XeAu/Xe_to_Au.txt', col_names = F)
- map_gene_Au_Xp <- trans_gene_species(Au_to_Xp, Xp_to_Au)
- ROCs_sce$celltype <- 'Xenopus_ROCs'
- ROCs_sce$species <- 'Xenopus'
- # Hydra
- Hy_iCell <- SeuratDisk::LoadH5Seurat("~/Aurelia/regen/Hydra/Hy_iCell.h5Seurat")
- Au_to_Hy <- read_table('~/Aurelia/regen/maps/HyAu/Au_to_Hy.txt', col_names = F)
- Hy_to_Au <- read_table('~/Aurelia/regen/maps/HyAu/Hy_to_Au.txt', col_names = F)
- map_gene_Au_Hy <- trans_gene_species(Au_to_Hy, Hy_to_Au)
- Hy_iCell$celltype <- 'Hydra_iCell'
- Hy_iCell$species <- 'Hydra'
- # Schmidtea mediterranea
- Sc_neoblast <- SeuratDisk::LoadH5Seurat("~/Aurelia/regen/Schmidtea_mediterranea/Sc_neoblast.h5Seurat")
- Au_to_Sc <- read_table('~/Aurelia/regen/maps/ScAu/Au_to_Sc.txt', col_names = F)
- Sc_to_Au <- read_table('~/Aurelia/regen/maps/ScAu/Sc_to_Au.txt', col_names = F)
- map_gene_Au_Sc <- trans_gene_species(Au_to_Sc, Sc_to_Au)
- Sc_neoblast$celltype <- 'Sc_neoblast'
- Sc_neoblast$species <- 'Schmidtea_mediterranea'
- # Danio rerio
- Danio_rerio_sce_Me <- SeuratDisk::LoadH5Seurat("~/Aurelia/regen/Danio_rerio/Danio_re_Mesenchymal.h5Seurat")
- Au_to_Da <- read_table('~/Aurelia/regen/maps/DaAu/Au_to_Da.txt', col_names = F)
- Da_to_Au <- read_table('~/Aurelia/regen/maps/DaAu/Da_to_Au.txt', col_names = F)
- map_gene_Au_Da <- trans_gene_species(Au_to_Da, Da_to_Au)
- Danio_rerio_sce_Me$celltype <- 'Danio_rerio_Mesenchymal'
- Danio_rerio_sce_Me$species <- 'Danio_rerio'
- # Acoel
- Ac_neoblast <- SeuratDisk::LoadH5Seurat("~/Aurelia/regen/Acoel/Ac_neoblast1.h5Seurat")
- Au_to_Ac <- read_table('~/Aurelia/regen/maps/AcAu/Au_to_Ac.txt', col_names = F)
- Ac_to_Au <- read_table('~/Aurelia/regen/maps/AcAu/Ac_to_Au.txt', col_names = F)
- map_gene_Au_Ac <- trans_gene_species(Au_to_Ac, Ac_to_Au)
- Ac_neoblast$celltype <- 'Ac_neoblast'
- Ac_neoblast$species <- 'Acoel'
- # ==============================================================================
- # Merge All Species and Integration
- # ==============================================================================
- query_exp <- C2@assays$RNA$counts
- query_exp_duplicate <- query_exp
- query_exp_duplicate_new <- query_exp
- for (i in 1:5) {
- row.names(query_exp_duplicate) <- paste0(row.names(query_exp), "_", i)
- query_exp_duplicate_new <- rbind(query_exp_duplicate,query_exp_duplicate_new)
- }
- identical(colnames(query_exp_duplicate_new),
- row.names([email hidden]))
- query_obj <- CreateSeuratObject(counts = query_exp_duplicate_new,
- meta.data = [email hidden])
- trans_Au_Ac_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = Ac_neoblast,
- map_gene = map_gene_Au_Ac)
- trans_Au_Da_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = Danio_rerio_sce_Me,
- map_gene = map_gene_Au_Da)
- trans_Au_Hy_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = Hy_iCell,
- map_gene = map_gene_Au_Hy)
- trans_Au_Xe_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = ROCs_sce,
- map_gene = map_gene_Au_Xp)
- trans_Au_Sc_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = Sc_neoblast,
- map_gene = map_gene_Au_Sc)
- trans_Au_La_obj <- trans_species_obj(query_obj = query_obj,
- subject_obj = Sc_neoblast,
- map_gene = map_gene_Au_Sc)
- C2$species <- 'AU'
- merge_all_species <- merge(C2,
- list(trans_Au_Ac_obj,
- trans_Au_Da_obj,
- trans_Au_Hy_obj,
- trans_Au_Xe_obj,
- trans_Au_Sc_obj))
- merge_all_species <- JoinLayers(merge_all_species)
- merge_all_species <- NormalizeData(merge_all_species) %>% ScaleData()
- Idents(merge_all_species) <- 'species'
- merge_all_species_exp <- AverageExpression(merge_all_species,assays = 'RNA')$RNA
- write.csv(merge_all_species_exp,'~/Aurelia/regen/merge_all_species_exp.csv')
- write_rds(merge_all_species,file = '~/Aurelia/regen/merge_all_species.rds')
- # ==============================================================================
- # Integration (Harmony, CCA, RPCA)
- # ==============================================================================
- sce <- read_rds('~/Aurelia/regen/merge_all_species.rds')
- sce <- JoinLayers(sce)
- sce <- CreateSeuratObject(sce@assays$RNA, meta.data = [email hidden])
- sce[["RNA"]] <- split(sce[["RNA"]], f = sce$species)
- sce <- NormalizeData(sce)
- sce <- FindVariableFeatures(sce)
- sce <- ScaleData(sce)
- sce <- RunPCA(sce)
- # Harmony
- sce <- IntegrateLayers(object = sce, method = HarmonyIntegration,
- orig.reduction = "pca", new.reduction = "integrated.harmony")
- sce <- RunUMAP(sce, reduction = "integrated.harmony", dims = 1:30, reduction.name = "umap.harmony")
- # CCA
- sce_cca <- IntegrateLayers(object = sce, method = CCAIntegration,
- orig.reduction = "pca", new.reduction = "integrated.cca")
- sce_cca <- RunUMAP(sce_cca, reduction = "integrated.cca", dims = 1:30, reduction.name = "umap.cca")
- # RPCA
- sce_rpca <- IntegrateLayers(object = sce, method = RPCAIntegration,
- orig.reduction = "pca", new.reduction = "integrated.rpca")
- sce_rpca <- RunUMAP(sce_rpca, reduction = "integrated.rpca", dims = 1:30, reduction.name = "umap.rpca")
- # Clustering
- sce <- FindNeighbors(sce, reduction = "integrated.harmony", dims = 1:30)
- sce <- FindClusters(sce, resolution = c(0.2, 0.5, 1))
- # Plot UMAP
- pdf('~/Aurelia/regen/merge_all_species_umap.pdf', width = 10, height = 10)
- DimPlot(sce, group.by = 'species')
- DimPlot(sce_cca, reduction = 'umap.cca', group.by = 'species')
- DimPlot(sce_rpca, reduction = 'umap.rpca', group.by = 'species')
- dev.off()
- write_rds(sce_cca, '~/Aurelia/regen/merge_all_species.rds')
- # Export results
- exp <- AverageExpression(sce)
- write_rds(exp$RNA, '~/Aurelia/regen/exp.rds')
- writexl::write_xlsx(
- list(map_gene_Au_Sc = map_gene_Au_Sc,
- map_gene_Au_Ac = map_gene_Au_Ac,
- map_gene_Au_Da = map_gene_Au_Da,
- map_gene_Au_Hy = map_gene_Au_Hy,
- map_gene_Au_Xp = map_gene_Au_Xp),
- path = '~/Aurelia/regen/all_species_mapping_gene.xlsx'
- )
- # ==============================================================================
CrossSpecies_main.R, under CC-BY-4.0 · at the source
Overview
- Muping Coastal Environment Research Station, Yantai Institute of Coastal Zone Research, Chinese Academy of Sciences, Yantai, Shandong 264003, China
- University of Chinese Academy of Sciences, Beijing 100049, China
- College of Bio-Medicine and Health, Huazhong Agricultural University, Wuhan, Hubei 430070, China
- Department of Ocean Science, The Hong Kong University of Science and Technology, Hong Kong SAR, China
- School of Life Science, Yantai University, Yantai, Shandong 264005, China
Abstract
The rhopalium, an early specialized centralized nervous structure in medusozoans, exhibits a remarkable regenerative capacity after removal, offering a unique model for investigating the ancestral regulatory logic of neural regeneration. However, the cellular and molecular mechanisms underlying the process remain unknown. Here, we defined distinct stages of rhopalium regeneration in the jellyfish Aurelia coerulea and constructed a stage-specific cell landscape and gene regulatory networks. Notably, we identified a population of wound-induced cells that emerges rapidly postinjury and activates Wnt signaling to initiate blastema formation; cross-species comparisons revealed that this regulatory mechanism is conserved across metazoans. We further identified that retinoic acid signaling is essential for photoreceptor regeneration and ocelli reconstruction. The findings presented herein uncover the ancestral regulatory mechanisms governing neural regeneration in the early centralized nervous system, providing insights into the common evolutionary origins of neural repair across organisms.
Reproduced under the paper's license (CC BY-NC), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 3 matches between paragraphs and lines of code.
Zenodo 19466460
Availability: 1 check, the latest on 28 September 2026: the link answers (HTTP 200)
- 28 September 2026: the link answers (HTTP 200)
2 files
- code.zip/
code/ , R, 280 lines, 2 matchesCrossSpecies_main.R - code.zip/
code/ , Shell, 51 lines, 1 matchblastp.sh
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;
- 2 scripts, each with its path and the digest of its content;
- 3 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, code, and materials availability
Sequencing data have been deposited in the NCBI under BioProject accession number PRJNA1224934. All other data needed to evaluate and reproduce the results in the paper are present in the paper and/
Reproduced under the paper's license (CC BY-NC), 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, 28 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 12 authors, 8 MeSH terms, 72 references.
Cite
This paper
Li, Y., Wang, F., Sun, T., Ma, X., Yu, Z., Xu, Z., Wang, W., Xing, Y., Peng, S., Wang, L., Zhao, J., & Dong, Z. (2026). Deciphering the ancestral mechanisms of neural regeneration through single-cell analyses of jellyfish rhopalium repair. Science advances, 12(21), eaeb8034. https://
BibTeX
@article{li2026decipheri
author = {Li, Yongxue and Wang, Fanghan and Sun, Tingting and Ma, Xiaoran and Yu, Zhangyi and Xu, Ziyue and Wang, Wenhui and Xing, Yixuan and Peng, Saijun and Wang, Lei and Zhao, Jianmin and Dong, Zhijun},
title = {{Deciphering the ancestral mechanisms of neural regeneration through single-cell analyses of jellyfish rhopalium repair}},
journal = {Science advances},
year = {2026},
month = may,
volume = {12},
number = {21},
pages = {eaeb8034},
publisher = {American Association for the Advancement of Science},
issn = {2375-2548},
doi = {10.1126/
url = {https://
pmid = {42160431},
pmcid = {PMC13189125}
}
RIS
TY - JOUR
AU - Li, Yongxue
AU - Wang, Fanghan
AU - Sun, Tingting
AU - Ma, Xiaoran
AU - Yu, Zhangyi
AU - Xu, Ziyue
AU - Wang, Wenhui
AU - Xing, Yixuan
AU - Peng, Saijun
AU - Wang, Lei
AU - Zhao, Jianmin
AU - Dong, Zhijun
TI - Deciphering the ancestral mechanisms of neural regeneration through single-cell analyses of jellyfish rhopalium repair
T2 - Science advances
J2 - Sci Adv
PY - 2026
DA - 2026/
VL - 12
IS - 21
SP - eaeb8034
SN - 2375-2548
PB - American Association for the Advancement of Science
DO - 10.1126/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1126/
"type": "article-journal",
"title": "Deciphering the ancestral mechanisms of neural regeneration through single-cell analyses of jellyfish rhopalium repair",
"container-title": "Science advances",
"author": [
{
"family": "Li",
"given": "Yongxue"
},
{
"family": "Wang",
"given": "Fanghan"
},
{
"family": "Sun",
"given": "Tingting"
},
{
"family": "Ma",
"given": "Xiaoran"
},
{
"family": "Yu",
"given": "Zhangyi"
},
{
"family": "Xu",
"given": "Ziyue"
},
{
"family": "Wang",
"given": "Wenhui"
},
{
"family": "Xing",
"given": "Yixuan"
},
{
"family": "Peng",
"given": "Saijun"
},
{
"family": "Wang",
"given": "Lei"
},
{
"family": "Zhao",
"given": "Jianmin"
},
{
"family": "Dong",
"given": "Zhijun"
}
],
"container-title-short":
"volume": "12",
"issue": "21",
"page": "eaeb8034",
"DOI": "10.1126/
"PMID": "42160431",
"PMCID": "PMC13189125",
"ISSN": "2375-2548",
"publisher": "American Association for the Advancement of Science",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
20
]
]
}
}
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-024-49848-z [code]
- Genomic and single-cell analyses reveal genetic signatures of swimming pattern and diapause strategy in jellyfish.Journal: Nature communicationsIn common: Monocle 3, Seurat, tidyverse, other, cellular / molecular, 5 references, 2 authors
- [2] doi:10.1038/s41467-026-75273-5 [code]
- Spinal cord regeneration deploys cell-type specific developmental and non-developmental strategies to restore neuron diversity.Journal: Nature communicationsIn common: Monocle 3, Seurat, tidyverse, other, 5 references
- [3] doi:10.1093/molbev/msag128 [code]
- Single-cell analyses of tissue regeneration in two true jellyfish.Journal: Molecular biology and evolutionIn common: other, cellular / molecular, 6 references
- [4] doi:10.1093/gigascience/giag064 [code]
- 4D single-cell spatial transcriptomics reveals dynamic morphogenetic gradients and regenerative domains in planarians.Journal: GigaScienceIn common: Seurat, tidyverse, other, cellular / molecular, 4 references
- [5] doi:10.1371/journal.pbio.3003931 [code]
- A single-cell transcriptomic atlas reveals the emergence of medusa-specific cell states in the scyphozoan Aurelia coerulea.Journal: PLoS biologyIn common: Seurat, tidyverse, cellular / molecular, 4 references
- [6] doi:10.1186/s12974-025-03543-y [code]
- T cell-mediated SIV dissemination into the CNS: a single-cell transcriptomic analysis.Journal: Journal of neuroinflammationIn common: Monocle 3, Seurat, tidyverse, cellular / molecular, 4 references
- [7] doi:10.1073/pnas.2322864121
- A wound-induced differentiation trajectory for neurons.Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: 5 references
- [8] doi:10.1038/s41467-024-51767-y [code]
- Unraveling the spatial organization and development of human thymocytes through integration of spatial transcriptomics and single-cell multi-omics profiling.Journal: Nature communicationsIn common: Monocle 3, Seurat, tidyverse, cellular / molecular, 4 references
- [9] doi:10.1073/pnas.2500611122 [code]
- Diffuse pacemaker mechanism with distinctive organization drives pulsation in the octocoral &
lt;i& gt;Xenia umbellata& lt;/ i& gt;. Journal: Proceedings of the National Academy of Sciences of the United States of AmericaIn common: cellular / molecular, 5 references - [10] doi:10.1016/j.xcrm.2026.102766 [code]
- A longitudinal single-cell and spatial multiomic atlas of pediatric high-grade glioma.Journal: Cell reports. MedicineIn common: Monocle 3, Seurat, tidyverse, cellular / molecular, 4 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.
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: 1 repository of the authors' code, each at its verified commit and with its license, 2 scripts, and 3 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:9e3d1ac6b66ec601…
Add the badge to the code's README
If you are an author or a maintainer of this paper's code, you can add this badge. It says what OSCR knows of the paper (its code, its validated tracing map) and links the code to this page. Paste one of these snippets under the README's title. Keep the two marks around it, so that the badge can be replaced in place and is never added twice. OSCR changes nothing in your repository.
Markdown
<!-- oscr-badge:start -->
[](https://openscicode.org/badge/doi/10.1126/sciadv.aeb8034)
<!-- oscr-badge:end -->reStructuredText
.. oscr-badge:start
.. image:: https://openscicode.org/badge/doi/10.1126/sciadv.aeb8034.svg
:target: https://openscicode.org/badge/doi/10.1126/sciadv.aeb8034
:alt: OSCR
.. oscr-badge:endHTML
<!-- oscr-badge:start -->
<a href="https://openscicode.org/badge/doi/10.1126/sciadv.aeb8034"><img src="https://openscicode.org/badge/doi/10.1126/sciadv.aeb8034.svg" alt="OSCR"></a>
<!-- oscr-badge:end -->If you choose to, you can have the badge kept up to date for you, with oscr badge --write from the command line or with the GitHub Action in your repository's workflows. Every other form and option (a card, AsciiDoc, LaTeX, shields.io) is on the badge 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: code errors and mismatches between the code and the paper about this paper and its code, from readers and its authors, beside the paper and its tracing map.
Report a mismatch between the code and the paper · Report a code error (signed in)
Reproductions: reports from readers who ran the authors' code and did not get the paper's result, what they ran, with which environment, commit and data.
Report a reproduction failure (signed in)
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
