Bulk RNAseq: 1,210 unique samples | Single-nuclei RNAseq: 424 unique samples (subset) | Brain region: DLPFC | ROSMAP cohort
# This R object was created during test T016
# Character vector containing gene symbols from expressed genes in bulk data
file_path <- file.path("C:/Users/beker/OneDrive/Documentos/Mestrado/GitHub/Cytokines/bulk_RNAseq/T016/list_expr_bulk_T016.RData")
# Load object
load(file_path)
# This R object was created during test T018
# List of gene symbols for expressed genes in each cell type of single nuclei data
file_path <- file.path("C:/Users/beker/OneDrive/Documentos/Mestrado/GitHub/Cytokines/sn_RNAseq_DLPFC/T018/list_expr_sn_T018.RData")
# Load object
load(file_path)
Expressed cytokines genes in the DLPFC region using bulk and single nuclei RNA-seq data
# Upset plot
upset_plot <- upset(
fromList(list_expr_merged),
order.by = "freq",
sets.bar.color = 5,
nsets = 8,
text.scale = 1.3
)
print(upset_plot)
The following cytokines were expressed in the cortex (bulk + sn) of
ROSMAP participants:
merged_list <- unlist(list_expr_merged)
cytokines_unique <- unique(merged_list)
total_cytokines_cortex <- length(cytokines_unique)
print(total_cytokines_cortex)
## [1] 49
## [1] "CX3CL1" "IL32" "DCN" "IGF1" "HGF" "KITLG"
## [7] "CXCL2" "THPO" "FLT3LG" "IL11" "TNFSF13B" "EBI3"
## [13] "TGFB1" "C5" "CCL2" "VEGFA" "TNFSF4" "SPP1"
## [19] "TNFSF10" "IL1B" "PSPN" "TNFSF9" "C3" "IL33"
## [25] "FGF2" "EGF" "CXCL14" "CTF1" "IL18" "CCL28"
## [31] "IL34" "TNFSF13" "CXCL5" "IL15" "GDNF" "IL12A"
## [37] "CXCL8" "IL16" "IL17D" "NOG" "CSF1" "TNFSF12"
## [43] "CXCL13" "IL7" "CXCL17" "IL1A" "TNFSF8" "IFNA13"
## [49] "IFNA2"
The following cytokines were exclusively expressed in the bulk data
and do not appear in the single nuclei list:
# Getting unique genes expressed in bulk data
bulk_unique_genes <- setdiff(list_expr_merged$Bulk, unlist(list_expr_merged[-1]))
print(bulk_unique_genes)
## [1] "CXCL2" "IL11" "CCL2" "CXCL5" "IL12A" "CXCL8"
The following cytokines are expressed both in the bulk and single
nuclei data (at least one cell type):
# Expressed genes in bulk data
genes_bulk <- list_expr_merged$Bulk
# Genes expressed in at least one cell type in single nuclei data.
genes_cell_type <- unlist(list_expr_merged[-1])
# Intersection of genes expressed in bulk RNAseq and single nuclei RNAseq datasets
genes_bulk_and_cell_type <- intersect(genes_bulk, genes_cell_type)
# Expressed genes both at bulk and single nuclei data
print (genes_bulk_and_cell_type)
## [1] "CX3CL1" "IL32" "DCN" "IGF1" "HGF" "KITLG"
## [7] "THPO" "FLT3LG" "TNFSF13B" "EBI3" "TGFB1" "C5"
## [13] "VEGFA" "TNFSF4" "SPP1" "TNFSF10" "IL1B" "PSPN"
## [19] "TNFSF9" "C3" "IL33" "FGF2" "EGF" "CXCL14"
## [25] "CTF1" "IL18" "CCL28" "IL34" "TNFSF13" "IL15"
## [31] "GDNF" "IL16" "IL17D" "NOG" "CSF1" "TNFSF12"
The following cytokines were exclusively expressed in the single
nuclei data and do not appear in the bulk list:
# Genes expressed in at least one cell type
genes_cell_type <- unlist(list_expr_merged[-1])
# Expressed genes in bulk data
genes_bulk <- list_expr_merged$Bulk
# Obtain genes exclusively expressed in the cell types and not in the bulk
sn_unique_genes <- setdiff(genes_cell_type, genes_bulk)
print(sn_unique_genes)
## [1] "CXCL13" "IL7" "CXCL17" "IL1A" "TNFSF8" "IFNA13" "IFNA2"
The following cytokines are expressed by all cell types:
genes_microglia <- list_expr_merged$Microglia
genes_excitatory_neurons <- list_expr_merged$"Excitatory neurons"
genes_inhibitory_neurons <- list_expr_merged$"Inhibitory neurons"
genes_astrocytes <- list_expr_merged$Astrocytes
genes_opc_cells <- list_expr_merged$"OPC cells"
genes_endothelial_cells <- list_expr_merged$"Endothelial cells"
genes_oligodendrocytes <- list_expr_merged$"Oligodendrocytes"
# Intersection
expr_all_data <- Reduce(intersect, list(genes_microglia, genes_excitatory_neurons, genes_inhibitory_neurons, genes_astrocytes, genes_opc_cells, genes_endothelial_cells, genes_oligodendrocytes))
print(expr_all_data)
## [1] "SPP1" "FGF2" "KITLG" "CX3CL1" "TNFSF12" "TGFB1"
The following cytokines were exclusively expressed in
oligodendrocytes:
# Get genes expressed in oligodendrocytes
genes_oligodendrocytes <- list_expr_merged$"Oligodendrocytes"
# Filter to get genes expressed without oli
filtered_data <- unlist(list_expr_merged[-which(names(list_expr_merged) == "Oligodendrocytes")])
# Get genes expressed exclusively in oligodendrocytes
vip_cytokines_oli <- setdiff(genes_oligodendrocytes, filtered_data)
print(vip_cytokines_oli)
## [1] "IFNA13" "IFNA2"
The following cytokines were exclusively expressed in
microglia:
# Get expressed genes on microglia
genes_microglia <- list_expr_merged$Microglia
# Filter data to get all the expressed genes without microglia
filtered_genes <- unlist(list_expr_merged[-which(names(list_expr_merged) == "Microglia")])
# Get only the expressed genes on mic
vip_cytokines_mic <- setdiff(genes_microglia, filtered_genes)
print(vip_cytokines_mic)
## [1] "IL1A" "TNFSF8"
The following cytokines were exclusively expressed in excitatory and
inhibitory neurons:
# Get expressed genes in ext
genes_excitatory_neurons <- list_expr_merged$"Excitatory neurons"
# Get expressed genes in inh
genes_inhibitory_neurons <- list_expr_merged$"Inhibitory neurons"
# Filter data without ext, inh
filtered_data <- unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Excitatory neurons", "Inhibitory neurons"))])
# Get expressed genes only expressed in neurons
vip_cytokines_neurons <- setdiff(intersect(genes_excitatory_neurons, genes_inhibitory_neurons), filtered_data)
print(vip_cytokines_neurons)
## [1] "CXCL13"
The following cytokines were exclusively expressed in the bulk and
excitatory neurons:
# Get expressed genes in bulk
genes_bulk <- list_expr_merged$Bulk
# Get expressed genes in ext
genes_excitatory_neurons <- list_expr_merged$"Excitatory neurons"
# Intersection btw ext and bulk
cytokines_bulk_ext <- intersect(genes_bulk, genes_excitatory_neurons)
# Filter to remove other cell types
vip_cytokines_bulk_ext <- setdiff(cytokines_bulk_ext, unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Excitatory neurons", "Bulk"))]))
print(vip_cytokines_bulk_ext)
## [1] "THPO" "CCL28"
The following cytokines were exclusively expressed in the bulk and
inhibitory neurons:
# Get expressed genes in bulk
genes_bulk <- list_expr_merged$Bulk
# Get expressed genes in inh
genes_inhibitory_neurons <- list_expr_merged$"Inhibitory neurons"
# Get expressed genes bulk and inh
cytokines_bulk_inh <- intersect(genes_bulk, genes_inhibitory_neurons)
# Filter to remove other cell types
vip_cytokines_bulk_inh <- setdiff(cytokines_bulk_inh, unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Inhibitory neurons", "Bulk"))]))
print(vip_cytokines_bulk_inh)
## [1] "NOG"
The following cytokines were exclusively expressed in the bulk and
microglia:
# Get expressed bulk genes
genes_bulk <- list_expr_merged$Bulk
# Get expressed genes in mic
genes_microglia <- list_expr_merged$Microglia
# Intersection bulk and mic
cytokines_bulk_mic <- intersect(genes_bulk, genes_microglia)
# Filter to remove other cell types
vip_cytokines_bulk_mic <- setdiff(cytokines_bulk_mic, unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Microglia", "Bulk"))]))
print(vip_cytokines_bulk_mic)
## [1] "EBI3" "IL1B"
The following cytokines were exclusively expressed in the bulk and
astrocytes:
# Get expressed bulk genes
genes_bulk <- list_expr_merged$Bulk
# Get expressed astrocytes genes
genes_astrocytes <- list_expr_merged$Astrocytes
# Intersection btw ast and bulk
cytokines_bulk_ast <- intersect(genes_bulk, genes_astrocytes)
# filter to remove the expression from other cell types
vip_cytokines_bulk_ast <- setdiff(cytokines_bulk_ast, unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Astrocytes", "Bulk"))]))
print(vip_cytokines_bulk_ast)
## [1] "IL33" "CTF1"
The following cytokines were exclusively expressed in the bulk and
endothelial cells:
# Get the genes expressed in bulk
genes_bulk <- list_expr_merged$Bulk
# Get the genes expressed in endothelial cells
genes_endothelial_cells <- list_expr_merged$"Endothelial cells"
# Find the intersection of the sets of genes expressed in bulk and endothelial cells
cytokines_bulk_end <- intersect(genes_bulk, genes_endothelial_cells)
# Filter the intersection to remove genes expressed in other cell types.
vip_cytokines_bulk_end <- setdiff(cytokines_bulk_end, unlist(list_expr_merged[-which(names(list_expr_merged) %in% c("Endothelial cells", "Bulk"))]))
print(vip_cytokines_bulk_end)
## [1] "IL32"
## R version 4.3.2 (2023-10-31 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 26100)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=Portuguese_Brazil.utf8 LC_CTYPE=Portuguese_Brazil.utf8
## [3] LC_MONETARY=Portuguese_Brazil.utf8 LC_NUMERIC=C
## [5] LC_TIME=Portuguese_Brazil.utf8
##
## time zone: America/Sao_Paulo
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] UpSetR_1.4.0 lubridate_1.9.3 forcats_1.0.0 stringr_1.5.1
## [5] purrr_1.0.2 readr_2.1.5 tidyr_1.3.1 tibble_3.2.1
## [9] tidyverse_2.0.0 ggplot2_3.5.0 dplyr_1.1.4
##
## loaded via a namespace (and not attached):
## [1] sass_0.4.9 utf8_1.2.4 generics_0.1.3 stringi_1.8.3
## [5] hms_1.1.3 digest_0.6.36 magrittr_2.0.3 evaluate_0.24.0
## [9] grid_4.3.2 timechange_0.3.0 fastmap_1.2.0 plyr_1.8.9
## [13] jsonlite_1.8.8 gridExtra_2.3 fansi_1.0.6 scales_1.3.0
## [17] jquerylib_0.1.4 cli_3.6.2 rlang_1.1.3 munsell_0.5.1
## [21] withr_3.0.1 cachem_1.1.0 yaml_2.3.10 tools_4.3.2
## [25] tzdb_0.4.0 colorspace_2.1-0 vctrs_0.6.5 R6_2.5.1
## [29] lifecycle_1.0.4 pkgconfig_2.0.3 pillar_1.9.0 bslib_0.8.0
## [33] gtable_0.3.5 glue_1.7.0 Rcpp_1.0.12 xfun_0.46
## [37] tidyselect_1.2.1 highr_0.11 rstudioapi_0.16.0 knitr_1.48
## [41] farver_2.1.1 htmltools_0.5.8.1 rmarkdown_2.27 labeling_0.4.3
## [45] compiler_4.3.2