OSCR

Altered Retinal Dopamine Homeostasis in Murine Models of Retinitis Pigmentosa.

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] § Results › RNA Sequencing Indicates Widespread Alterations in the Catecholaminergic System in P23H Retinas ↔ NormalizeDataDEandGOanalysis.R, lines 253–337 · score 0.62 · KEGG pathway, RNA seq, fold change, regulatory, log2, genes
  2. [2] § Materials and Methods › Bulk RNA Sequencing ↔ NormalizeDataDEandGOanalysis.R, lines 253–337 · score 0.53 · log2 fold change, DESeq2, Genes, 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 · 337 lines · 13 KB · no license · 2 matches

  1. # Install the latest version of DEseq2
  2. if (!requireNamespace("BiocManager", quietly = TRUE))
  3. install.packages("BiocManager")
  4. BiocManager::install("DESeq2")
  5. # load the library
  6. library(DESeq2)
  7. setwd("/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles")
  8. # Read in the raw read counts
  9. rawCounts <- read.delim("ngs-data-table_countFile.tsv")
  10. head(rawCounts)
  11. # Read in the sample mappings
  12. sampleData <- read.delim("phenodata.tsv")
  13. head(sampleData)
  14. # Also save a copy for later
  15. sampleData_v2 <- sampleData
  16. # Convert count data to a matrix of appropriate form that DESeq2 can read
  17. geneName <- rawCounts$GeneName
  18. sampleIndex <- grepl("ERR\\d+", colnames(rawCounts))
  19. rawCounts <- as.matrix(rawCounts[,sampleIndex])
  20. rownames(rawCounts) <- geneName
  21. head(rawCounts)
  22. write.csv(rawCounts,"rawCounts.csv",sep = "\t", row.names = TRUE)
  23. # Convert sample variable mappings to an appropriate form that DESeq2 can read
  24. head(sampleData)
  25. rownames(sampleData) <- sampleData$sample
  26. keep <- c("group_details", "group")
  27. sampleData <- sampleData[,keep]
  28. colnames(sampleData) <- c("group_details", "group")
  29. sampleData$group <- factor(sampleData$group)
  30. head(sampleData)
  31. # Put the columns of the count data in the same order as rows names of the sample mapping, then make sure it worked
  32. rawCounts <- rawCounts[,unique(rownames(sampleData))]
  33. all(colnames(rawCounts) == rownames(sampleData))
  34. # Order the tissue types so that it is sensible and make sure the control sample is first: normal sample -> primary tumor -> metastatic tumor
  35. sampleData$group_details <- factor(sampleData$group_details, levels=c("Diseased", "DrugTreated"))
  36. # Create the DESeq2DataSet object
  37. deseq2Data <- DESeqDataSetFromMatrix(countData=rawCounts, colData=sampleData, design= ~ group)
  38. dim(deseq2Data)
  39. dim(deseq2Data[rowSums(counts(deseq2Data)) > 5, ])
  40. # Perform pre-filtering of the data
  41. deseq2Data <- deseq2Data[rowSums(counts(deseq2Data)) > 5, ]
  42. # Run pipeline for differential expression
  43. deseq2Data <- DESeq(deseq2Data)
  44. # Extract differential expression results
  45. deseq2Results <- results(deseq2Data, contrast=c("group", "1", "2"))
  46. # View summary of results
  47. summary(deseq2Results)
  48. # Using DEseq2 built in method
  49. plotMA(deseq2Results)
  50. # Load libraries for ggplot
  51. library(ggplot2)
  52. library(scales)
  53. library(viridis)
  54. # Coerce to a data frame
  55. deseq2ResDF <- as.data.frame(deseq2Results)
  56. # Examine this data frame
  57. head(deseq2ResDF)
  58. # Set a boolean column for significance
  59. deseq2ResDF$significant <- ifelse(deseq2ResDF$padj < .1, "Significant", NA)
  60. # Plot the results similar to DEseq2
  61. ggplot(deseq2ResDF, aes(baseMean, log2FoldChange, colour=significant)) +
  62. geom_point(size=1) +
  63. scale_y_continuous(limits=c(-3, 3), oob=squish) +
  64. scale_x_log10() +
  65. geom_hline(yintercept = 0, colour="tomato1", size=2) +
  66. labs(x="mean of normalized counts", y="log fold change") +
  67. scale_colour_manual(name="q-value", values=("Significant"="red"), na.value="grey50") +
  68. theme_bw()
  69. # Variance stabilizing transformation
  70. deseq2VST <- vst(deseq2Data)
  71. # Convert the DESeq transformed object to a data frame
  72. deseq2VST <- assay(deseq2VST)
  73. deseq2VST <- as.data.frame(deseq2VST)
  74. deseq2VST$Gene <- rownames(deseq2VST)
  75. head(deseq2VST)
  76. write.csv(deseq2VST,"/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/deseq2VST.csv", row.names = TRUE) # Save after variance stabilizing transform
  77. # Keep only the significantly differentiated genes where the fold-change was at least 3
  78. sigGenes <- rownames(deseq2ResDF[deseq2ResDF$padj <= .05 & abs(deseq2ResDF$log2FoldChange) > 3,])
  79. deseq2VST <- deseq2VST[deseq2VST$Gene %in% sigGenes,]
  80. head(deseq2VST)
  81. # Convert the VST counts to long format for ggplot2
  82. library(reshape2)
  83. deseq2VST_long <- melt(deseq2VST, id.vars=c("Gene"))
  84. # Plot the heatmap
  85. heatmap <- ggplot(deseq2VST_long, aes(x=variable, y=Gene, fill=value)) +
  86. geom_raster() +
  87. scale_fill_viridis(trans="sqrt") +
  88. theme(axis.text.x=element_text(angle=65, hjust=1), axis.text.y=element_blank(), axis.ticks.y=element_blank())
  89. heatmap
  90. # Save the results
  91. write.csv(deseq2ResDF,"/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/deseq2ResDF.csv", row.names = TRUE)
  92. library(reshape2)
  93. # First compare wide vs long version
  94. deseq2VST_wide <- deseq2VST
  95. deseq2VST_long <- melt(deseq2VST, id.vars=c("Gene"))
  96. head(deseq2VST_wide)
  97. head(deseq2VST_long)
  98. # Now overwrite our original data frame with the long format
  99. deseq2VST <- melt(deseq2VST, id.vars=c("Gene"))
  100. # Make a heatmap
  101. heatmap <- ggplot(deseq2VST, aes(x=variable, y=Gene, fill=value)) + geom_raster() + scale_fill_viridis(trans="sqrt") + theme(axis.text.x=element_text(angle=65, hjust=1), axis.text.y=element_blank(), axis.ticks.y=element_blank())
  102. heatmap
  103. # Convert the significant genes back to a matrix for clustering
  104. deseq2VSTMatrix <- dcast(deseq2VST, Gene ~ variable)
  105. rownames(deseq2VSTMatrix) <- deseq2VSTMatrix$Gene
  106. deseq2VSTMatrix$Gene <- NULL
  107. # Compute a distance calculation on both dimensions of the matrix
  108. distanceGene <- dist(deseq2VSTMatrix)
  109. distanceSample <- dist(t(deseq2VSTMatrix))
  110. # Cluster based on the distance calculations
  111. clusterGene <- hclust(distanceGene, method="average")
  112. clusterSample <- hclust(distanceSample, method="average")
  113. # Construct a dendogram for samples
  114. #install.packages("ggdendro")
  115. library(ggdendro)
  116. sampleModel <- as.dendrogram(clusterSample)
  117. sampleDendrogramData <- segment(dendro_data(sampleModel, type = "rectangle"))
  118. sampleDendrogram <- ggplot(sampleDendrogramData) + geom_segment(aes(x = x, y = y, xend = xend, yend = yend)) + theme_dendro()
  119. # Re-factor samples for ggplot2
  120. deseq2VST$variable <- factor(deseq2VST$variable, levels=clusterSample$labels[clusterSample$order])
  121. # Construct the heatmap. note that at this point we have only clustered the samples NOT the genes
  122. heatmap <- ggplot(deseq2VST, aes(x=variable, y=Gene, fill=value)) + geom_raster() + scale_fill_viridis(trans="sqrt") + theme(axis.text.x=element_text(angle=65, hjust=1), axis.text.y=element_blank(), axis.ticks.y=element_blank())
  123. heatmap
  124. # Combine the dendrogram and the heatmap
  125. #install.packages("gridExtra")
  126. library(gridExtra)
  127. grid.arrange(sampleDendrogram, heatmap, ncol=1, heights=c(1,5))
  128. # Load in libraries necessary for modifying plots
  129. #install.packages("gtable")
  130. library(gtable)
  131. library(grid)
  132. # Modify the ggplot objects
  133. sampleDendrogram_1 <- sampleDendrogram + scale_x_continuous(expand=c(.0085, .0085)) + scale_y_continuous(expand=c(0, 0))
  134. heatmap_1 <- heatmap + scale_x_discrete(expand=c(0, 0)) + scale_y_discrete(expand=c(0, 0))
  135. # Convert both grid based objects to grobs
  136. sampleDendrogramGrob <- ggplotGrob(sampleDendrogram_1)
  137. heatmapGrob <- ggplotGrob(heatmap_1)
  138. # Check the widths of each grob
  139. sampleDendrogramGrob$widths
  140. heatmapGrob$widths
  141. # Add in the missing columns
  142. sampleDendrogramGrob <- gtable_add_cols(sampleDendrogramGrob, heatmapGrob$widths[7], 6)
  143. sampleDendrogramGrob <- gtable_add_cols(sampleDendrogramGrob, heatmapGrob$widths[8], 7)
  144. # Make sure every width between the two grobs is the same
  145. maxWidth <- unit.pmax(sampleDendrogramGrob$widths, heatmapGrob$widths)
  146. sampleDendrogramGrob$widths <- as.list(maxWidth)
  147. heatmapGrob$widths <- as.list(maxWidth)
  148. # Arrange the grobs into a plot
  149. finalGrob <- arrangeGrob(sampleDendrogramGrob, heatmapGrob, ncol=1, heights=c(2,5))
  150. # Draw the plot
  151. grid.draw(finalGrob)
  152. # Re-order the sample data to match the clustering we did
  153. sampleData_v2$Run <- factor(sampleData_v2$sample, levels=clusterSample$labels[clusterSample$order])
  154. # Construct a plot to show the clinical data
  155. colours <- c("#743B8B", "#8B743B")
  156. sampleClinical <- ggplot(sampleData_v2, aes(x=Run, y=1, fill=group_details)) + geom_tile() + scale_x_discrete(expand=c(0, 0)) + scale_y_discrete(expand=c(0, 0)) + scale_fill_manual(name="Tissue", values=colours) + theme_void()
  157. # Convert the clinical plot to a grob
  158. sampleClinicalGrob <- ggplotGrob(sampleClinical)
  159. # Make sure every width between all grobs is the same
  160. maxWidth <- unit.pmax(sampleDendrogramGrob$widths, heatmapGrob$widths, sampleClinicalGrob$widths)
  161. sampleDendrogramGrob$widths <- as.list(maxWidth)
  162. heatmapGrob$widths <- as.list(maxWidth)
  163. sampleClinicalGrob$widths <- as.list(maxWidth)
  164. # Arrange and output the final plot
  165. finalGrob <- arrangeGrob(sampleDendrogramGrob, sampleClinicalGrob, heatmapGrob, ncol=1, heights=c(2,1,5))
  166. grid.draw(finalGrob)
  167. write.csv(deseq2ResDF,"deseq2ResDF.csv", row.names = TRUE)
  168. ############################### GSEA ##########################
  169. # Install necessary packages if not already installed
  170. if (!requireNamespace("BiocManager", quietly = TRUE))
  171. install.packages("BiocManager")
  172. BiocManager::install(c("gage", "GO.db", "AnnotationDbi", "org.Hs.eg.db"))
  173. library(gage)
  174. # Conduct DE analysis for female vs male comparison
  175. female_v_male_DE <- results(deseq2Data, contrast=c("group", "1", "2"))
  176. # Set up KEGG database for human
  177. kg.hs <- kegg.gsets(species="hsa")
  178. kegg.sigmet.gs <- kg.hs$kg.sets[kg.hs$sigmet.idx]
  179. kegg.dise.gs <- kg.hs$kg.sets[kg.hs$dise.idx]
  180. # Set up GO database for human
  181. go.hs <- go.gsets(species="Human")
  182. go.bp.gs <- go.hs$go.sets[go.hs$go.subs$BP]
  183. go.mf.gs <- go.hs$go.sets[go.hs$go.subs$MF]
  184. go.cc.gs <- go.hs$go.sets[go.hs$go.subs$CC]
  185. # Load required annotation packages
  186. library(AnnotationDbi)
  187. library(org.Hs.eg.db)
  188. library(biomaRt)
  189. # Annotate DESeq2 results with additional gene identifiers (ENSEMBL, ENTREZ, GeneName)
  190. female_v_male_DE$ENSEMBL <- mapIds(org.Hs.eg.db, keys=row.names(female_v_male_DE), column="ENSEMBL", keytype="SYMBOL", multiVals="first")
  191. female_v_male_DE$entrez <- mapIds(org.Hs.eg.db, keys=row.names(female_v_male_DE), column="ENTREZID", keytype="SYMBOL", multiVals="first")
  192. female_v_male_DE$name <- mapIds(org.Hs.eg.db, keys=row.names(female_v_male_DE), column="GENENAME", keytype="SYMBOL", multiVals="first")
  193. # Grab the log2 fold changes for all genes
  194. female_v_male_DE.fc <- female_v_male_DE$log2FoldChange
  195. names(female_v_male_DE.fc) <- female_v_male_DE$entrez
  196. # Run GAGE enrichment analysis for all log2 fold changes
  197. fc.kegg.sigmet.p <- gage(female_v_male_DE.fc, gsets = kegg.sigmet.gs)
  198. fc.kegg.dise.p <- gage(female_v_male_DE.fc, gsets = kegg.dise.gs)
  199. fc.go.bp.p <- gage(female_v_male_DE.fc, gsets = go.bp.gs)
  200. fc.go.mf.p <- gage(female_v_male_DE.fc, gsets = go.mf.gs)
  201. fc.go.cc.p <- gage(female_v_male_DE.fc, gsets = go.cc.gs)
  202. # Convert the KEGG results to data frames for up-regulated pathways
  203. fc.kegg.sigmet.p.up <- as.data.frame(fc.kegg.sigmet.p$greater)
  204. fc.kegg.dise.p.up <- as.data.frame(fc.kegg.dise.p$greater)
  205. # Write the results to files
  206. write.table(fc.kegg.sigmet.p.up, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.kegg.sigmet.p.up.txt", sep = ";", row.names = TRUE)
  207. write.table(fc.kegg.dise.p.up, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.kegg.dise.p.up.txt", sep = ";", row.names = TRUE)
  208. # Convert the KEGG results for down-regulated pathways
  209. fc.kegg.sigmet.p.down <- as.data.frame(fc.kegg.sigmet.p$less)
  210. fc.kegg.dise.p.down <- as.data.frame(fc.kegg.dise.p$less)
  211. # Write the results for down-regulated pathways
  212. write.table(fc.kegg.sigmet.p.down, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.kegg.sigmet.p.down.txt", sep = ";", row.names = TRUE)
  213. write.table(fc.kegg.dise.p.down, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.kegg.dise.p.down.txt", sep = ";", row.names = TRUE)
  214. # Convert the GO results to data frames for up-regulated terms
  215. fc.go.bp.p.up <- as.data.frame(fc.go.bp.p$greater)
  216. fc.go.mf.p.up <- as.data.frame(fc.go.mf.p$greater)
  217. fc.go.cc.p.up <- as.data.frame(fc.go.cc.p$greater)
  218. # Write the results for GO up-regulated terms
  219. write.table(fc.go.bp.p.up, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.bp.p.up.txt", sep = ";", row.names = TRUE)
  220. write.table(fc.go.mf.p.up, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.mf.p.up.txt", sep = ";", row.names = TRUE)
  221. write.table(fc.go.cc.p.up, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.cc.p.up.txt", sep = ";", row.names = TRUE)
  222. # Convert the GO results for down-regulated terms
  223. fc.go.bp.p.down <- as.data.frame(fc.go.bp.p$less)
  224. fc.go.mf.p.down <- as.data.frame(fc.go.mf.p$less)
  225. fc.go.cc.p.down <- as.data.frame(fc.go.cc.p$less)
  226. # Write the results for GO down-regulated terms
  227. write.table(fc.go.bp.p.down, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.bp.p.down.txt", sep = ";", row.names = TRUE)
  228. write.table(fc.go.mf.p.down, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.mf.p.down.txt", sep = ";", row.names = TRUE)
  229. write.table(fc.go.cc.p.down, "/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/fc.go.cc.p.down.txt", sep = ";", row.names = TRUE)
  230. # Install pathview for pathway visualization
  231. if (!require("BiocManager", quietly = TRUE))
  232. install.packages("BiocManager")
  233. BiocManager::install("pathview")
  234. setwd("/home/umair/Documents/RNA_Seq/humanData_20250401/below60Data/readcountFiles/GSEA/")
  235. library(pathview)
  236. # Display KEGG pathway example (e.g., mmu04744)
  237. pathview(gene.data=female_v_male_DE.fc, species="hsa", pathway.id="hsa00071")
  238. # Display another KEGG pathway example (e.g., mmu04080)
  239. pathview(gene.data=female_v_male_DE.fc, species="hsa", pathway.id="hsa00071", kegg.native=FALSE)

NormalizeDataDEandGOanalysis.R at commit 77df717, no license · at the source

Overview

Authors: Katri Vainionpää1, Eerik Lappalainen1, Anna Nilsson2, Ida Pavela1, Tommi Torsti1, Umair Seemab1, Elina Mäkinen1, Reza Shariatgorji2, Per E. Andrén2,3, Aaro Jalkanen1, Markus M. Forsberg1, Henri Leinonen1
  1. School of Pharmacy, Faculty of Health Sciences University of Eastern Finland Kuopio Finland
  2. Department of Pharmaceutical Biosciences, Spatial Mass Spectrometry, Science for Life Laboratory Uppsala University Uppsala Sweden
  3. Wits Integrated Molecular Physiology Research Initiative, Department of Physiology, Faculty of Health Sciences, School of Biomedical Sciences University of the Witwatersrand Johannesburg South Africa
Journal: Journal of neurochemistry, volume 170, issue 9, article e70552
Dates: received 1 July 2026; accepted 4 September 2026; published online 18 September 2026; in print September 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1111/jnc.70552 · PMID 42757827 · PMCID PMC13587835 · OpenAlex W7213559601
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: mouse (organism), cellular / molecular (subfield)
Methods: Spectral & time-frequency, Statistics
MeSH: Dopamine*, Homeostasis*, Retina*, Retinitis Pigmentosa*, Animals, Catechol O-Methyltransferase, Disease Models, Animal, Mice, Mice, Inbred C57BL (* major topic)
Topic: Retinal Development and Disorders (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Citations: not cited yet (Europe PMC); 63 references in the paper
Research resources: placed in secondary antibody RRID:AB_2099233, RRID:AB_2716568, RRID:AB_2732856, RRID:AB_2752244, RRID:AB_3677640, RRID:AB_399391, RRID:IMSR_JAX:000664, RRID:IMSR_JAX:004297, Heterozygous P23H rhodopsin‐mutated mice RRID:IMSR_JAX:017628, Results were analysed in GraphPad Prism RRID:SCR_002798, Images were analysed in ImageJ RRID:SCR_003070, RRID:SCR_004463, Acquired data was analysed in SCiLS Lab RRID:SCR_014426, RRID:SCR_014583, RRID:SCR_014966, RRID:SCR_015687, Results were analysed in Microsoft Excel RRID:SCR_016137, RRID:SCR_020240, RRID:SCR_023156, RRID:SCR_023615, RRID:SCR_023732, Blot images were captured with Azure 600 RRID:SCR_023780, RRID:SCR_026146

Abstract

Retinitis pigmentosa (RP) is a heterogeneous group of currently untreatable inherited retinal degenerations that share similar disease manifestations despite distinctive genetic causes. Dopamine (DA) is an important and tightly regulated catecholaminergic neurotransmitter required for multiple modulatory functions throughout the central nervous system, including the retina. Dysregulation of DA homeostasis has been reported during neurodegeneration, but how it is regulated in RP remains poorly understood. Here, we demonstrate that early RP is associated with marked dysregulation of the dopaminergic system using two distinct disease models, P23H and rd10 mice. We found increased DA levels in RP retinas collected from pre‐weaned (P12), juvenile (P30), and adult (P60–90) mice by utilising ultra‐high‐performance liquid chromatography and matrix‐assisted laser desorption/ionisation mass spectrometry. Consistently, DA levels were also elevated in the vitreous of P23H mice, where it likely diffuses from the retina. RP retinas additionally demonstrated higher levels of DA precursor l‐3,4‐dihydroxyphenylalanine (L‐DOPA), as well as upregulated tyrosine hydroxylase gene expression, which suggests elevated DA synthesis. In parallel, we observed increased activity and expression of the catecholamine‐metabolising enzyme catechol‐O‐methyltransferase (COMT) during retinal degeneration. Comparative tissue analysis with cortex, striatum, retina, and eye cup samples further highlighted COMT as a major contributor to catecholamine inactivation in the mouse retina. Finally, RNA sequencing of P23H retinal extracts revealed widespread alterations related to the catecholaminergic system during disease progression, including upregulation of the solute carrier family 6 member 2 gene, encoding norepinephrine transporter, and the protein phosphatase 1 regulatory subunit 1B gene, which encodes DA‐ and cAMP‐regulated neuronal phosphoprotein. In conclusion, these data demonstrate elevated DA levels in P23H and rd10 mouse retinas, along with several other biochemical changes in the catecholamine system, suggesting a hyperexcited state in early RP progression.

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.

UmairSeemab/RNAseqData

License: none: the authors keep all their rights
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 77df717e34ffb3437b76783a0de141409f2cf060, 3 April 2025
Languages: Shell (2), R (1)
Size: 10 files, 3 scripts
Software Heritage: not archived
Found in: “Data Availability Statement”
Holds: README
Not found: license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: STAR (2 files), DESeq2 (1 file), ggplot2 (1 file), reshape2 (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 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 Availability Statement

Data is available as Supporting Information. RNA‐seq dataset is publicly available (GEO accession number GSE334684). All code and analysis scripts are publicly available in the GitHub repository (https://github.com/UmairSeemab/RNAseqData).

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, 12 authors, 9 MeSH terms, 4 funders, 62 references, 23 RRIDs.

Cite

This paper

Vainionpää, K., Lappalainen, E., Nilsson, A., Pavela, I., Torsti, T., Seemab, U., Mäkinen, E., Shariatgorji, R., Andrén, P. E., Jalkanen, A., Forsberg, M. M., & Leinonen, H. (2026). Altered Retinal Dopamine Homeostasis in Murine Models of Retinitis Pigmentosa. Journal of neurochemistry, 170(9), e70552. https://doi.org/10.1111/jnc.70552

BibTeX

@article{vainionpaa2026altered,
author = {Vainionpää, Katri and Lappalainen, Eerik and Nilsson, Anna and Pavela, Ida and Torsti, Tommi and Seemab, Umair and Mäkinen, Elina and Shariatgorji, Reza and Andrén, Per E. and Jalkanen, Aaro and Forsberg, Markus M. and Leinonen, Henri},
title = {{Altered Retinal Dopamine Homeostasis in Murine Models of Retinitis Pigmentosa}},
journal = {Journal of neurochemistry},
year = {2026},
month = sep,
volume = {170},
number = {9},
pages = {e70552},
publisher = {Wiley},
issn = {0022-3042},
doi = {10.1111/jnc.70552},
url = {https://doi.org/10.1111/jnc.70552},
pmid = {42757827},
pmcid = {PMC13587835}
}

RIS

TY - JOUR
AU - Vainionpää, Katri
AU - Lappalainen, Eerik
AU - Nilsson, Anna
AU - Pavela, Ida
AU - Torsti, Tommi
AU - Seemab, Umair
AU - Mäkinen, Elina
AU - Shariatgorji, Reza
AU - Andrén, Per E.
AU - Jalkanen, Aaro
AU - Forsberg, Markus M.
AU - Leinonen, Henri
TI - Altered Retinal Dopamine Homeostasis in Murine Models of Retinitis Pigmentosa
T2 - Journal of neurochemistry
J2 - J Neurochem
PY - 2026
DA - 2026/09/01
VL - 170
IS - 9
SP - e70552
SN - 0022-3042
PB - Wiley
DO - 10.1111/jnc.70552
UR - https://doi.org/10.1111/jnc.70552
LA - en
ER -

CSL-JSON

{
"id": "10.1111/jnc.70552",
"type": "article-journal",
"title": "Altered Retinal Dopamine Homeostasis in Murine Models of Retinitis Pigmentosa",
"container-title": "Journal of neurochemistry",
"author": [
{
"family": "Vainionpää",
"given": "Katri"
},
{
"family": "Lappalainen",
"given": "Eerik"
},
{
"family": "Nilsson",
"given": "Anna"
},
{
"family": "Pavela",
"given": "Ida"
},
{
"family": "Torsti",
"given": "Tommi"
},
{
"family": "Seemab",
"given": "Umair"
},
{
"family": "Mäkinen",
"given": "Elina"
},
{
"family": "Shariatgorji",
"given": "Reza"
},
{
"family": "Andrén",
"given": "Per E."
},
{
"family": "Jalkanen",
"given": "Aaro"
},
{
"family": "Forsberg",
"given": "Markus M."
},
{
"family": "Leinonen",
"given": "Henri"
}
],
"container-title-short": "J Neurochem",
"volume": "170",
"issue": "9",
"page": "e70552",
"DOI": "10.1111/jnc.70552",
"PMID": "42757827",
"PMCID": "PMC13587835",
"ISSN": "0022-3042",
"publisher": "Wiley",
"URL": "https://doi.org/10.1111/jnc.70552",
"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.1038/s41467-026-73796-5 [code]
Cross-species transcriptomic analysis of rodent model fidelity to human mesial temporal lobe epilepsy.
Journal: Nature communications
In common: STAR, DESeq2, reshape2, 1 other tool, mouse, cellular / molecular, 3 references
[2] doi:10.21203/rs.3.rs-9927928/v1 [code]
Genome-wide and allele-resolved maps of the radial architecture of the mouse genome
Journal: Research Square (preprint)
In common: STAR, DESeq2, reshape2, 1 other tool, mouse, 2 references
[3] doi:10.1126/sciadv.aed2952 [code]
Activation of transposable elements is linked to a region- and cell type-specific interferon response in Parkinson's disease.
Journal: Science advances
In common: STAR, DESeq2, reshape2, 1 other tool, cellular / molecular, 2 references
[4] doi:10.1016/j.xhgg.2026.100652 [code]
CRISPR-engineered deletion of POGZ alters transcription factor binding at promoters of genes involved in synaptic signaling.
Journal: HGG advances
In common: STAR, DESeq2, reshape2, 1 other tool, cellular / molecular, 2 references
[5] doi:10.1038/s41586-026-10512-9 [code]
Astrocyte glucocorticoid receptor signalling restricts neuronal plasticity.
Journal: Nature
In common: STAR, DESeq2, reshape2, 1 other tool, mouse, cellular / molecular, 1 reference
[6] doi:10.1038/s41467-026-76675-1 [code]
Long-read proteogenomic atlas of human neuronal differentiation reveals isoform diversity informing neurodevelopmental risk mechanisms.
Journal: Nature communications
In common: STAR, DESeq2, reshape2, 1 other tool, 2 references
[7] doi:10.1093/bioinformatics/btag592 [code]
Network-based stratification of allele-specific expression reveals patient subgroups in Huntington's disease.
Journal: Bioinformatics (Oxford, England)
In common: STAR, DESeq2, reshape2, 1 other tool, 2 references
[8] doi:10.1038/s41380-026-03578-4 [code]
Assessing molecular gene by treatment interactions using a population of neural progenitors exposed to valproic acid and lithium.
Journal: Molecular psychiatry
In common: STAR, DESeq2, reshape2, 1 other tool, cellular / molecular, 1 reference
[9] 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: STAR, DESeq2, ggplot2, mouse, cellular / molecular, 2 references
[10] doi:10.1038/s41467-026-76688-w [code]
Transcriptome profiling of human hypothalamic agouti-related protein and proopiomelanocortin neurons regulating energy homeostasis.
Journal: Nature communications
In common: STAR, DESeq2, ggplot2, cellular / molecular, 2 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.