OSCR

Brain Proteomic Responses to Glucocorticoids and Their Relationship With Transcriptome: A Systematic Meta-Analysis.

A correction to this paper has been published: the notice, 42262671, from Europe PMC.

Code ↔ Paper

7 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 7 matches
  1. [1] § Methods › Updating Data Containing Only Gene Symbols ↔ R_Mouse_Ens_Uni_NCBI.R, lines 1–64 · score 0.80 · mouse ens uni, Ensembl_UniProt_final.csv, official symbols, tsv, ambiguous, readr
  2. [2] § Methods › Updating Data Containing UniProt IDs ↔ R_Human_Uni_NCBI_Ens.R, lines 146–211 · score 0.70 · human uni ncbi, uni ncbi ens, HGNC IDs, UniProt, NCBI gene, accession
  3. [3] § Methods › Databases ↔ R_Mouse_manual_and_databases.R, lines 92–141 · score 0.68 · SwissProt, GeneID, Taxonomic ID, Nomenclature ID, tsv, Accessions
  4. [4] § Methods › Databases ↔ R_test of additional IDs in Ensembl Human.R, lines 41–111 · score 0.66 · committee IDs, HGNC IDs, Ensembl stable, NCBI IDs, human
  5. [5] § Methods › Databases ↔ R_NCBI test.R, lines 1–44 · score 0.63 · mouse genome, human genome, rat genome, tsv, Accessions, downloaded
  6. [6] § Methods › Updating Data Containing GI IDs or Protein Symbols Together With Full Names ↔ R_Mouse_manual_and_databases.R, lines 143–205 · score 0.51 · mouse manual, UniProt IDs, MGI, NCBI gene, biomaRt, database
  7. [7] § Methods › Databases ↔ R_Rat_manual_and_databases.R, lines 1–47 · score 0.50 · GeneID, UniProt, database, organism, tsv, RGD

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 · 343 lines · 21 KB · MIT · 2 matches

  1. ####################################################################
  2. ####### paper data import #############################################
  3. ####################################################################
  4. Paper_data = read.delim('Paper_data.csv', sep=';', header = TRUE) # data import
  5. head(Paper_data, n = 8) # showing first n rows
  6. Manual_search_IDs = dplyr::select (Paper_data, c(Manual_search_URL_primary, Manual_search_URL_secondary, Organism_manual, NCBI_ID_manual, UniProt_ID_manual)) # selecting columns
  7. head(Manual_search_IDs, n = 10) # showing first n rows
  8. library(dplyr)
  9. Manual_search_IDs_2 <- distinct(Manual_search_IDs)
  10. head(Manual_search_IDs_2, n = 10) # showing first n rows
  11. #readr::write_csv(x = Manual_search_IDs_2, file = "Manual_search_IDs_2.csv")
  12. ####################################################################
  13. ####### UniProt data import and pre-processing ############################
  14. ####################################################################
  15. UniProt_data <-readr::read_tsv("UniProt_data.tsv", col_names = TRUE) # data import
  16. head(UniProt_data, n = 8) # showing first n rows
  17. UniProt_data <- as.data.frame(UniProt_data) # changing data format to data frame.
  18. head(UniProt_data, n = 8) # showing first n rows
  19. UniProt_data <- UniProt_data [, c("From", "Entry", "Entry Name", "Protein names", "Gene Names (primary)", "GeneID", "MGI", "Organism", "Organism (ID)")] # setting column order
  20. head(UniProt_data, n = 8) # showing first n rows
  21. colnames(UniProt_data) <- c("From", "Entry_UniProt", "Entry_Name_UniProt", "Protein_names_UniProt", "Gene_Names_UniProt", "NCBI_Gene_ID_UniProt", "MGI_ID_UniProt", "Organism_UniProt", "Organism_ID_UniProt") # setting column names
  22. head(UniProt_data, n=8) # showing first n rows
  23. UniProt_data2 = dplyr::mutate(UniProt_data, NCBI_Gene_ID_UniProt_clean = substr(NCBI_Gene_ID_UniProt, 1, nchar(NCBI_Gene_ID_UniProt) - 1)) # removing “;” located at the end of NCBI IDs
  24. head(UniProt_data2, n = 5) # showing first n rows
  25. UniProt_data3 = dplyr::mutate(UniProt_data2, MGI_ID_UniProt_clean = substr(MGI_ID_UniProt, 1, nchar(MGI_ID_UniProt) - 1)) # removing “;” located at the end of the IDs
  26. head(UniProt_data3, n = 5) # showing first n rows
  27. UniProt_data3$NCBI_GeneID_UniProt_assigment <- ifelse(grepl(";", UniProt_data3$ NCBI_Gene_ID_UniProt_clean),'Ambiguous','Unique') # testing for the presence of “;” in items in the column GeneID_clean. Presence of the “;” indicates that more than one gene is assigned to the ID.
  28. head(UniProt_data3, n=5) # showing first n rows
  29. UniProt_data3$GeneName_UniProt_assigment <- ifelse(grepl(";", UniProt_data3$Gene_Names_UniProt),'Ambiguous','Unique') # testing for the presence of “;” in items in the column Gene_Names_UniProt. Presence of the “;” indicates that more than one gene is assigned to the ID.
  30. head(UniProt_data3, n=10) # showing first n rows
  31. Ambiguous <- dplyr::filter(UniProt_data3, NCBI_GeneID_UniProt_assigment == "Ambiguous" | GeneName_UniProt_assigment == "Ambiguous") # showing rows with ambiguous IDs
  32. head(Ambiguous, n=10) # showing first n rows
  33. #### Testing duplicated UniPror IDs ####
  34. duplicates_from_first = duplicated(UniProt_data3$From, fromLast = FALSE) # identification of duplicated gene names (forward)
  35. head(duplicates_from_first, n=4) # showing first n rows
  36. duplicates_from_last = duplicated(UniProt_data3$From, fromLast = TRUE) # identification of duplicated gene names (reverse)
  37. head(duplicates_from_first, n=4) # showing first n rows
  38. UniProt_data4 <- cbind(UniProt_data3, duplicates_from_first, duplicates_from_last) # joining the dataset with results of duplication testing
  39. head(UniProt_data4, n=4) # showing first n rows
  40. UniProt_data4_not_duplicatted = dplyr::filter(UniProt_data4, duplicates_from_first == "FALSE" & duplicates_from_last == "FALSE") # selection of duplicated gene symbols
  41. head(UniProt_data4_not_duplicatted, n=10) # showing first n rows
  42. UniProt_data4_duplicatted = dplyr::filter(UniProt_data4, duplicates_from_first == "TRUE" | duplicates_from_last == "TRUE") # selection of duplicated gene symbols
  43. head(UniProt_data4_duplicatted, n=10) # showing first n rows
  44. #* Check data frame UniProt_data4_duplicatted for duplicated UniProt IDs in the “From” column. If necessary, filter required species with the next command (silenced with #). Otherwise, go to the “UniProt_data5 = dplyr:: bind_rows” action.
  45. #UniProt_data4_duplicatted = dplyr::filter(UniProt_data4_duplicatted, Organism_UniProt == "Mus musculus (Mouse)") # selection of mouse identifiers
  46. #head(UniProt_data4_duplicatted, n=10) # showing first n rows
  47. UniProt_data5 = dplyr:: bind_rows(UniProt_data4_not_duplicatted, UniProt_data4_duplicatted) # binding rows
  48. head(UniProt_data5, n=100) # showing first n rows
  49. UniProt_data6 = dplyr::mutate(UniProt_data5, duplicates_from_first = NULL, duplicates_from_last = NULL) # removing unnecessary columns
  50. head(UniProt_data6, n=5) # showing first n rows
  51. library(tidyr)
  52. UniProt_data7 = UniProt_data6 %>% separate_longer_delim(NCBI_Gene_ID_UniProt_clean, delim = ';') # splits by a delimiter into separate rows
  53. head(UniProt_data7, n=10) # showing first n rows
  54. library(tidyr)
  55. UniProt_data8 = UniProt_data7 %>% separate_wider_delim(Entry_Name_UniProt, delim = '_', names = c("Entry_Name2_UniProt", NA), cols_remove = FALSE) # splits by a delimiter into separate columns
  56. head(UniProt_data8, n=10) # showing first n rows
  57. UniProt_data8 <- as.data.frame(UniProt_data8) # changing data format to data frame.
  58. head(UniProt_data8, n = 8) # showing first n rows
  59. ####################################################################
  60. ####### Joining the paper and UniProt data #################################
  61. ####################################################################
  62. Pap_Uni = dplyr:: full_join(Manual_search_IDs_2, UniProt_data8, by = c("UniProt_ID_manual" = "From"), keep = FALSE, na_matches = "never") # joining the data
  63. head(Pap_Uni, n=10) # showing first n rows
  64. ####################################################################
  65. ####### NCBI data import and pre-processing ############################
  66. ####################################################################
  67. ncbi_dataset <-readr::read_tsv("ncbi_dataset.tsv", col_names = TRUE) # data import
  68. head(ncbi_dataset, n = 8) # showing first n rows
  69. ncbi_dataset <- as.data.frame(ncbi_dataset) # changing data format to data frame.
  70. head(ncbi_dataset, n = 8) # showing first n rows
  71. ncbi_dataset <- ncbi_dataset [, c("NCBI GeneID", "Symbol", "Description", "Taxonomic Name", "Common Name", "Gene Type", "Transcripts", "Gene Group Identifier", "Gene Group Method", "Chromosomes", "Nomenclature ID", "Ensembl GeneIDs", "Annotation Genomic Range Accession", "Annotation Genomic Range Start", "Annotation Genomic Range Stop", "OMIM IDs", "Orientation", "Proteins", "Synonyms", "Taxonomic ID", "SwissProt Accessions")] # setting column order
  72. head(ncbi_dataset, n = 8) # showing first n rows
  73. colnames(ncbi_dataset) <- c("NCBI_GeneID", "Symbol_NCBI", "Description_NCBI", "Taxonomic_Name", "Common_Name", "NCBI_Gene_Type", "Transcripts", "Gene_Group_Identifier", "Gene_Group_Method", "Chromosomes", "Nomenclature_ID_NCBI", "Ensembl_GeneIDs", "Annotation_Genomic_Range_Accession", "Annotation_Genomic_Range_Start", "Annotation_Genomic_Range_Stop", "OMIM_IDs", "Orientation", "Proteins", "Synonyms", "Taxonomic_ID_NCBI", "SwissProt_Accessions_NCBI") # setting column names
  74. head(ncbi_dataset, n = 8) # showing first n rows
  75. ncbi_dataset2 = dplyr::mutate(ncbi_dataset,
  76. Taxonomic_Name = NULL,
  77. Common_Name = NULL,
  78. Transcripts = NULL,
  79. Gene_Group_Identifier = NULL,
  80. Gene_Group_Method = NULL,
  81. Chromosomes = NULL,
  82. Ensembl_GeneIDs = NULL,
  83. Annotation_Genomic_Range_Accession = NULL,
  84. Annotation_Genomic_Range_Start = NULL,
  85. Annotation_Genomic_Range_Stop = NULL,
  86. OMIM_IDs = NULL,
  87. Orientation = NULL,
  88. Proteins = NULL,
  89. Synonyms = NULL) # removing unnecessary columns
  90. head(ncbi_dataset2, n = 8) # showing first n rows
  91. ncbi_dataset2$NCBI_GeneID <-as.character(ncbi_dataset2$NCBI_GeneID) # changing data type in selected column
  92. ncbi_dataset2$Nomenclature_ID_NCBI <-as.character(ncbi_dataset2$Nomenclature_ID_NCBI) # changing data type in selected column
  93. head(ncbi_dataset2, n = 8) # showing first n rows
  94. ####################################################################
  95. ####### joining paper, UniProt and NCBI data based on NCBI IDs################
  96. ####################################################################
  97. Pap_Uni$NCBI_ID_manual <-as.character(Pap_Uni$NCBI_ID_manual) # changing data type in selected column
  98. head(Pap_Uni, n=4) # showing first n rows
  99. Pap_Uni_NCBI = dplyr:: left_join(Pap_Uni, ncbi_dataset2, by = c("NCBI_ID_manual" = "NCBI_GeneID"), keep = TRUE, na_matches = "never") # joining the data
  100. head(Pap_Uni_NCBI, n=10) # showing first n rows
  101. Pap_Uni_NCBI_matched <- dplyr::filter(Pap_Uni_NCBI, NCBI_GeneID != "NA") # selecting rows with matched data
  102. head(Pap_Uni_NCBI_matched, n=10) # showing first n rows
  103. ####################################################################
  104. ####### joining unmatched paper / UniProt and NCBI data based on Uniprot IDs####
  105. ####################################################################
  106. Pap_Uni_NCBI_unmatched = na_rows <- Pap_Uni_NCBI[is.na(Pap_Uni_NCBI$NCBI_GeneID), ] # selecting rows with unmatched data
  107. head(Pap_Uni_NCBI_unmatched, n=10) # showing first n rows
  108. Pap_Uni_NCBI_unmatched2 = dplyr::mutate(Pap_Uni_NCBI_unmatched,
  109. NCBI_GeneID = NULL,
  110. Symbol_NCBI = NULL,
  111. Description_NCBI = NULL,
  112. NCBI_Gene_Type = NULL,
  113. Nomenclature_ID_NCBI = NULL,
  114. Taxonomic_ID_NCBI = NULL,
  115. SwissProt_Accessions_NCBI = NULL) # removing NCBI columns from previous joining
  116. head(Pap_Uni_NCBI_unmatched2, n = 8) # showing first n rows
  117. Pap_Uni_NCBI_V2 = dplyr:: left_join(Pap_Uni_NCBI_unmatched2, ncbi_dataset2, by = c("Entry_UniProt" = "SwissProt_Accessions_NCBI"), keep = TRUE, na_matches = "never") # joining the data
  118. head(Pap_Uni_NCBI_V2, n=10) # showing first n rows
  119. Pap_Uni_NCBI_matched$Nomenclature_ID_NCBI <-as.character(Pap_Uni_NCBI_matched$Nomenclature_ID_NCBI) # changing data type in selected column
  120. head(Pap_Uni_NCBI_matched, n=4) # showing first n rows
  121. Pap_Uni_NCBI_V3 = dplyr:: bind_rows(Pap_Uni_NCBI_matched, Pap_Uni_NCBI_V2) # joining data
  122. head(Pap_Uni_NCBI_V3, n=10) # showing first n rows
  123. Pap_Uni_NCBI_V3$Gene_Symbol_congruence_UniProt_NCBI <- ifelse(
  124. Pap_Uni_NCBI_V3$Gene_Names_UniProt == Pap_Uni_NCBI_V3$Symbol_NCBI,
  125. 'TheSame',
  126. 'Different') # testing gene symbol congruence
  127. head(Pap_Uni_NCBI_V3, n=10) # showing first n rows
  128. ##################################################################
  129. ####### Downloading data from Ensembl ################################
  130. ##################################################################
  131. library(biomaRt) # package selection
  132. ensembl = useEnsembl(biomart="genes", dataset="mmusculus_gene_ensembl") # selection of Ensembl biomart database and dataset
  133. Attributes = listAttributes(mart = ensembl) # list of available attribute codes
  134. head(Attributes, n = 4) # showing first n rows
  135. readr::write_csv(x = Attributes, file = "EnsemblAttributes.csv") # data export
  136. Filters = listFilters(mart = ensembl) # list of available filter codes
  137. head(Filters, n = 4) # showing first n rows
  138. readr::write_csv(x = Filters, file = "EnsemblFilters.csv") # data export
  139. EnsemblDatabases = listEnsembl() # list of Ensembl databases
  140. head(EnsemblDatabases, n = 20) # showing first n rows
  141. readr::write_csv(x = EnsemblDatabases, file = "EnsemblDatabases.csv") # data export
  142. EnsemblDatasets = listDatasets(mart = ensembl) # listing available dataset codes
  143. head(EnsemblDatasets, n = 20) # showing first n rows
  144. readr::write_csv(x = EnsemblDatasets, file = "EnsemblDatasets.csv") # data export
  145. Ensembl = getBM(attributes=c('external_gene_name', 'description', 'ensembl_gene_id', 'entrezgene_id', 'mgi_id', 'gene_biotype'), mart = ensembl) # import of data from Ensembl
  146. head(Ensembl, n = 20) # showing first n rows
  147. readr::write_csv(x = Ensembl, file = "Ensembl.csv") # data export
  148. colnames(Ensembl) <- c("Ensembl_gene_symbol", "Ensembl_description", "Ensembl_gene_id", "NCBI_ID_Ensembl", "MGI_ID_Ensembl", "Ensembl_gene_type") # setting column names
  149. head(Ensembl, n = 8) # showing first n rows
  150. Ensembl$NCBI_ID_Ensembl <-as.character(Ensembl$NCBI_ID_Ensembl) # changing data type in selected column
  151. Ensembl$MGI_ID_Ensembl <-as.character(Ensembl$MGI_ID_Ensembl) # changing data type in selected column
  152. ##################################################################
  153. ####### Joining data #################################################
  154. ##################################################################
  155. Pap_Uni_NCBI_Ensembl = dplyr:: left_join(Pap_Uni_NCBI_V3, Ensembl, by = c("NCBI_GeneID" = "NCBI_ID_Ensembl"), keep = TRUE, na_matches = "never") # joining the data
  156. head(Pap_Uni_NCBI_Ensembl, n=10) # showing first n rows
  157. Pap_Uni_NCBI_Ensembl_matched <- dplyr::filter(Pap_Uni_NCBI_Ensembl, Ensembl_gene_id != "NA") # selecting rows with matched data
  158. head(Pap_Uni_NCBI_Ensembl_matched, n=10) # showing first n rows
  159. ####################################################################
  160. ####### joining unmatched data based on MGI ID####
  161. ####################################################################
  162. Pap_Uni_NCBI_Ensembl_unmatched = na_rows <- Pap_Uni_NCBI_Ensembl [is.na(Pap_Uni_NCBI_Ensembl$Ensembl_gene_id), ] # selecting rows with unmatched data
  163. head(Pap_Uni_NCBI_Ensembl_unmatched, n=10) # showing first n rows
  164. Pap_Uni_NCBI_Ensembl_unmatched2 = dplyr::mutate(Pap_Uni_NCBI_Ensembl_unmatched,
  165. Ensembl_gene_symbol = NULL,
  166. Ensembl_description = NULL,
  167. Ensembl_gene_id = NULL,
  168. NCBI_ID_Ensembl = NULL,
  169. MGI_ID_Ensembl = NULL,
  170. Ensembl_gene_type = NULL) # removing NCBI columns from previous joining
  171. head(Pap_Uni_NCBI_Ensembl_unmatched2, n = 8) # showing first n rows
  172. Pap_Uni_NCBI_Ensembl_V2 = dplyr:: left_join(Pap_Uni_NCBI_Ensembl_unmatched2, Ensembl, by = c("Nomenclature_ID_NCBI" = "MGI_ID_Ensembl"), keep = TRUE, na_matches = "never") # joining the data
  173. head(Pap_Uni_NCBI_Ensembl_V2, n=10) # showing first n rows
  174. Pap_Uni_NCBI_Ensembl_V2_matched <- dplyr::filter(Pap_Uni_NCBI_Ensembl_V2, Ensembl_gene_id != "NA") # selecting rows with matched data
  175. head(Pap_Uni_NCBI_Ensembl_V2_matched, n=10) # showing first n rows
  176. Pap_Uni_NCBI_Ensembl_V2_unmatched = na_rows <- Pap_Uni_NCBI_Ensembl_V2 [is.na(Pap_Uni_NCBI_Ensembl_V2$Ensembl_gene_id), ] # selecting rows with unmatched data
  177. head(Pap_Uni_NCBI_Ensembl_V2_unmatched, n=10) # showing first n rows
  178. Pap_Uni_NCBI_Ensembl_V3 = dplyr:: bind_rows(Pap_Uni_NCBI_Ensembl_matched, Pap_Uni_NCBI_Ensembl_V2_matched) # joining data
  179. head(Pap_Uni_NCBI_Ensembl_V3, n=10) # showing first n rows
  180. Pap_Uni_NCBI_Ensembl_V3$Gene_Symbol_congruence_NCBI_Ensembl <- ifelse(
  181. Pap_Uni_NCBI_Ensembl_V3$Symbol_NCBI == Pap_Uni_NCBI_Ensembl_V3$Ensembl_gene_symbol,
  182. 'TheSame',
  183. 'Different') # testing gene symbol congruence
  184. head(Pap_Uni_NCBI_Ensembl_V3, n=10) # showing first n rows
  185. grouped <- tidyr::nest( dplyr::group_by(Pap_Uni_NCBI_Ensembl_V3, `Ensembl_gene_symbol`) ) # grouping data according to the items in Ensembl_gene_symbol column
  186. integrated <- purrr::map_dfr(
  187. .x = grouped$data,
  188. .f = function(data_for_given_probe) {
  189. purrr::map_chr(
  190. .x = data_for_given_probe,
  191. .f = function(column) {
  192. paste(unique(column), collapse = ", ")
  193. })
  194. } )
  195. grouped <- cbind(grouped, integrated)
  196. grouped$data <- NULL
  197. head(grouped, n = 10) # showing first n rows
  198. Pap_Uni_NCBI_Ensembl_V4 <- as.data.frame(grouped) # changing data format to data frame
  199. Pap_Uni_NCBI_Ensembl_V2_unmatched = dplyr::mutate(Pap_Uni_NCBI_Ensembl_V2_unmatched, Gene_Symbol_congruence_NCBI_Ensembl = 'NA') # adding new column to enable joining by row
  200. Pap_Uni_NCBI_Ensembl_V2_unmatched$Organism_ID_UniProt <-as.character(Pap_Uni_NCBI_Ensembl_V2_unmatched$Organism_ID_UniProt) # changing data type in selected column
  201. Pap_Uni_NCBI_Ensembl_V2_unmatched$Taxonomic_ID_NCBI <-as.character(Pap_Uni_NCBI_Ensembl_V2_unmatched$Taxonomic_ID_NCBI) # changing data type in selected column
  202. Pap_Uni_NCBI_Ensembl_V5 = dplyr:: bind_rows(Pap_Uni_NCBI_Ensembl_V4, Pap_Uni_NCBI_Ensembl_V2_unmatched) # joining data
  203. head(Pap_Uni_NCBI_Ensembl_V5, n=10) # showing first n rows
  204. ######################################################################
  205. ######## Ambiguity_test #################################################
  206. ######################################################################
  207. Ambiguity_test = dplyr::select (Pap_Uni_NCBI_Ensembl_V5, c(Ensembl_gene_symbol, UniProt_ID_manual)) # selecting columns
  208. head(Ambiguity_test, n=10) # showing first n rows
  209. grouped <- tidyr::nest( dplyr::group_by(Ambiguity_test, `UniProt_ID_manual`) ) # grouping data according to the items in UniProt_ID_manual column
  210. integrated <- purrr::map_dfr(
  211. .x = grouped$data,
  212. .f = function(data_for_given_probe) {
  213. purrr::map_chr(
  214. .x = data_for_given_probe,
  215. .f = function(column) {
  216. paste(unique(column), collapse = ", ")
  217. })
  218. } )
  219. grouped <- cbind(grouped, integrated)
  220. grouped$data <- NULL
  221. head(grouped, n = 10) # showing first n rows
  222. Ambiguity_test2 <- as.data.frame(grouped) # changing data format to data frame
  223. head(Ambiguity_test2, n = 10) # showing first n rows
  224. Ambiguity_test2$Ambiguity_UniProtID_EnsemblSymbol <- ifelse(grepl(",", Ambiguity_test2$Ensembl_gene_symbol),'Ambiguous','Unique') # testing for the presence of “,” in items in the column Ensembl_gene_symbol. Presence of the “,” indicates that more than one gene is assigned to the ID.
  225. head(Ambiguity_test2, n=20) # showing first n rows
  226. Ambiguity_test3 = dplyr::select (Ambiguity_test2, c(UniProt_ID_manual, Ambiguity_UniProtID_EnsemblSymbol)) # selecting columns
  227. head(Ambiguity_test3, n=10) # showing first n rows
  228. ######################################################################
  229. ######## Joining the dataset with results of ambiguity_test ######################
  230. ######################################################################
  231. Pap_Uni_NCBI_Ensembl_V6 = dplyr:: full_join(Ambiguity_test3, Pap_Uni_NCBI_Ensembl_V5, by = c("UniProt_ID_manual" = "UniProt_ID_manual"), keep = FALSE, na_matches = "never") # joining the data
  232. head(Pap_Uni_NCBI_Ensembl_V6, n=10) # showing first n rows
  233. ######################################################################
  234. ######## Joining the dataset with paper data #################################
  235. ######################################################################
  236. Paper_data = read.delim('Paper_data.csv', sep=';', header = TRUE) # data import
  237. head(Paper_data, n = 8) # showing first n rows
  238. Paper_data_2 = dplyr::mutate(Paper_data, Manual_search_URL_primary = NULL, Manual_search_URL_secondary = NULL, Organism_manual = NULL, NCBI_ID_manual = NULL) # removing unnecessary columns
  239. head(Paper_data_2, n = 10) # showing first n rows
  240. Pap_Uni_NCBI_Ensembl_V7 = dplyr:: full_join(Paper_data_2, Pap_Uni_NCBI_Ensembl_V6, by = c("UniProt_ID_manual" = "UniProt_ID_manual"), keep = FALSE, na_matches = "never") # joining the data
  241. head(Pap_Uni_NCBI_Ensembl_V7, n=10) # showing first n rows
  242. ######################################################################
  243. ######## Final editing ###################################################
  244. ######################################################################
  245. Pap_Uni_NCBI_Ensembl_V8 = dplyr::mutate(Pap_Uni_NCBI_Ensembl_V7, TemporaryCol = 'Gene') # Adding temporary column with the word “gene”
  246. head(Pap_Uni_NCBI_Ensembl_V8, n=4) # showing first n rows
  247. Pap_Uni_NCBI_Ensembl_V9 = tidyr::unite(Pap_Uni_NCBI_Ensembl_V8, 'Anchored_NCBI_gene_symbol', c("TemporaryCol","Symbol_NCBI"), sep = "_", remove = FALSE, na.rm = FALSE) # adding new column with joint items from two other columns
  248. head(Pap_Uni_NCBI_Ensembl_V9, n=4) # showing first n rows
  249. Pap_Uni_NCBI_Ensembl_V10 = dplyr::mutate(Pap_Uni_NCBI_Ensembl_V9, TemporaryCol = NULL) # removing temporary column
  250. head(Pap_Uni_NCBI_Ensembl_V10, n=4) # showing first n rows
  251. readr::write_csv(x = Pap_Uni_NCBI_Ensembl_V10, file = "Pap_Uni_NCBI_Ensembl_final.csv") # data export
  252. ######## The End #######

R_Mouse_manual_and_databases.R at commit d0716ce, under MIT · at the source

Overview

  1. Department of Animal Behavior and Welfare, Institute of Genetics and Animal Biotechnology, Polish Academy of Sciences, Jastrzebiec, Poland
Dates: received 2 November 2025; accepted 30 March 2026; published online 17 April 2026; in print 30 April 2026
Type: Review · Language: English
License: CC BY-NC
Identifiers: DOI 10.1096/fj.202504113r · PMID 41996197 · PMCID PMC13089601 · OpenAlex W7154763320
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: genetics / omics (modality), human (organism), mouse (organism), rat (organism)
Methods: Connectivity
Keywords: brain, glucocorticoids, proteome, transcriptome
MeSH: Brain*, Glucocorticoids*, Proteome*, Proteomics*, Transcriptome*, Animals, Humans, Mice, Rats (* major topic)
Topic: Stress Responses and Cortisol (Behavioral Neuroscience, Neuroscience), according to OpenAlex
Funding: IGAB PAN Intramural grant (STAT/GRZJUS/2025/01); Narodowe Centrum Nauki (NCN) (2017/27/B/NZ2/02796)
Citations: not cited yet (Europe PMC); 72 references in the paper
Notices: A correction to this paper has been published (42262671, from Europe PMC)

Abstract

Although there are several proteomic studies testing brain responses to glucocorticoids, there were no attempts to integrate these data and compare them with responses at the level of mRNAs. Furthermore, the utility of available data is compromised by changes in nomenclature and usage of different types of identifiers. Therefore, the aim of this study was to identify the most consistent changes in protein expression in standardized mouse, rat, and human datasets and compare them with transcriptomic responses to glucocorticoids. The analysis showed that the two most frequently and consistently detected proteins were ATP synthase F1 subunit beta (Atp5f1b) and aldolase, fructose‐bisphosphate C (Aldoc), while the most consistent proteomic and transcriptomic findings included Aldoc, Plin4, Aqp4, Endod1, Glul, Anln, Aldh1l1, Parp1, Trf, Fermt2, Tmem63a, and Trim2. The study also revealed limitations of available proteomic data indicating significant gaps in knowledge. Finally, the study provides an integrated dataset with updated protein nomenclature and a complete set of major identifiers to facilitate usage of proteomic data.

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

Repositories

Its files are read in the Code ↔ Paper reader above, with 7 matches between paragraphs and lines of code.

Grzegorz-R-Juszczak/Scripts-for-Brain-proteomic-responses-to-GCs

License: MIT
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: d0716ce3a2d71869c3ddbfc795d5c56d1c1be446, 26 September 2025
Languages: R (8)
Size: 10 files, 8 scripts
Software Heritage: not archived
Found in: “Data Availability Statement”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: tidyverse (8 files)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
10 files

Grzegorz-R-Juszczak/Protein-coding-gene-IDs-human-mouse-rat-pig

License: MIT
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 9b68000aafda749833b43ef561b1715e653db3b0, 23 July 2025
Languages: R (23)
Size: 25 files, 23 scripts
Software Heritage: not archived
Found in: the text, “Updating Data Containing Only Gene Symbols”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: tidyverse (23 files)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
25 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:

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

Data are available at https://data.mendeley.com/datasets/tw95jjrpxr/3 while R scripts were deposited at https://github.com/Grzegorz‐R‐Juszczak/Scripts‐for‐Brain‐proteomic‐responses‐to‐GCs (https://github.com/Grzegorz-R-Juszczak/Scripts-for-Brain-proteomic-responses-to-GCs).

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 2, 28 September 2026

  • Publisher: n/a → Wiley

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 1 author, 4 keywords, 9 MeSH terms, 2 funders, 65 references, 1 integrity notice.

Cite

This paper

Juszczak, G. R. (2026). Brain Proteomic Responses to Glucocorticoids and Their Relationship With Transcriptome: A Systematic Meta-Analysis. FASEB journal : official publication of the Federation of American Societies for Experimental Biology, 40(8), e71772. https://doi.org/10.1096/fj.202504113r

BibTeX

@article{juszczak2026brain,
author = {Juszczak, Grzegorz R},
title = {{Brain Proteomic Responses to Glucocorticoids and Their Relationship With Transcriptome: A Systematic Meta-Analysis}},
journal = {FASEB journal : official publication of the Federation of American Societies for Experimental Biology},
year = {2026},
month = apr,
volume = {40},
number = {8},
pages = {e71772},
publisher = {Wiley},
issn = {0892-6638},
doi = {10.1096/fj.202504113r},
url = {https://doi.org/10.1096/fj.202504113r},
pmid = {41996197},
pmcid = {PMC13089601}
}

RIS

TY - JOUR
AU - Juszczak, Grzegorz R
TI - Brain Proteomic Responses to Glucocorticoids and Their Relationship With Transcriptome: A Systematic Meta-Analysis
T2 - FASEB journal : official publication of the Federation of American Societies for Experimental Biology
J2 - FASEB J
PY - 2026
DA - 2026/04/01
VL - 40
IS - 8
SP - e71772
SN - 0892-6638
PB - Wiley
DO - 10.1096/fj.202504113r
UR - https://doi.org/10.1096/fj.202504113r
LA - en
ER -

CSL-JSON

{
"id": "10.1096/fj.202504113r",
"type": "article-journal",
"title": "Brain Proteomic Responses to Glucocorticoids and Their Relationship With Transcriptome: A Systematic Meta-Analysis",
"container-title": "FASEB journal : official publication of the Federation of American Societies for Experimental Biology",
"author": [
{
"family": "Juszczak",
"given": "Grzegorz R"
}
],
"container-title-short": "FASEB J",
"volume": "40",
"issue": "8",
"page": "e71772",
"DOI": "10.1096/fj.202504113r",
"PMID": "41996197",
"PMCID": "PMC13089601",
"ISSN": "0892-6638",
"publisher": "Wiley",
"URL": "https://doi.org/10.1096/fj.202504113r",
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
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.1007/s12035-026-06041-1 [code]
Glucocorticoid Signaling in PSC-Derived Neural Systems to Elucidate Mechanisms of Stress-Induced Psychiatric Vulnerability.
Journal: Molecular neurobiology
In common: genetics / omics, 3 references
[2] doi:10.1096/fj.202601316r
Glucocorticoid Receptor Translational Isoforms Generate Unique Glucocorticoid Responses in the Mouse Brain.
Journal: FASEB journal : official publication of the Federation of American Societies for Experimental Biology
In common: mouse, 3 references
[3] doi:10.1038/s41467-026-71418-8 [code]
Deep visual proteomics uncovers nociceptor diversity and pain targets.
Journal: Nature communications
In common: genetics / omics, mouse, 3 references
[4] doi:10.3389/fbinf.2026.1816121 [code]
Transcriptome-informed metabolic modeling reveals astrocyte-specific vulnerabilities in mild cognitive impairment and Alzheimer's disease progression.
Journal: Frontiers in bioinformatics
In common: tidyverse, genetics / omics, 2 references
[5] doi:10.1038/s42003-026-10034-0 [code]
Region- and cell type-specific changes in gene expression in the cerebellum after classical fear conditioning.
Journal: Communications biology
In common: tidyverse, genetics / omics, mouse, 2 references
[6] doi:10.1111/adb.70179 [code]
Transcriptional Response to Chronic Long-Access Fentanyl Self-Administration in Rat Habenula and Amygdala.
Journal: Addiction biology
In common: tidyverse, rat, genetics / omics, 1 reference
[7] doi:10.1002/advs.202521254 [code]
Persistently Increased Expression of PKMzeta and Unbiased Gene Expression Profiles Identify Hippocampal Molecular Traces of a Long-Term Active Place Avoidance Memory and "Shadow" Proteins.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: tidyverse, rat, genetics / omics, 1 reference
[8] doi:10.1038/s41588-026-02737-1 [code]
Human and mouse adrenal glands are characterized by species-specific steroidogenic states and tissue turnover.
Journal: Nature genetics
In common: tidyverse, genetics / omics, mouse, 1 reference
[9] doi:10.1038/s41586-026-10414-w [code]
Focal white matter lesions drive grey matter inflammation and synapse loss.
Journal: Nature
In common: tidyverse, rat, mouse, 1 reference
[10] doi:10.1186/s13059-026-04125-8 [code]
MLMarker: a machine learning framework for tissue inference and biomarker discovery.
Journal: Genome biology
In common: tidyverse, genetics / omics, 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.

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.