29  核心特征单细胞表达

在完成细胞类群的注释并获取准确信息后,我们进一步深入分析了先前确定的核心特征在bulk-RNA水平上的表达情况。接下来,为了验证这些特征在细胞层面的表达是否与bulk-RNA数据相符,我们特别关注了这些核心特征在不同细胞类群的早晚期表达情况。

29.1 加载R包

使用rm(list = ls())来清空环境中的所有变量。

library(tidyverse)
library(Seurat)
library(cowplot)
library(rstatix)
library(viridis)
library(ggpubr)

rm(list = ls())
options(stringsAsFactors = F)
options(future.globals.maxSize = 10000 * 1024^2)

grp_names <- c("Early Stage", "Late Stage")
grp_colors <- c("#8AC786", "#B897CA")

cell_types <- c("Hepatocyte", "T/NK", 
               "Myeloid", "B",
               "Endothelial", "Fibroblast")

cell_colors <- c("#A01FF0", "#1F78B4", "#4EB29D", 
                 "#DA3F4C", "#F1EE97", "#08306B")

29.2 导入数据


seurat_obj <- readRDS("./data/result/scRNA/Seurat_celltype.RDS")
common_feature <- read.csv("./data/result/Biomarker/Biomarker_LR_RF_SVM_validation.csv")

29.3 细胞类群的tSNE

查看细胞类群的可视化结果


DimPlot(seurat_obj,
        reduction = "tsne",
        label = FALSE,
        cols = cell_colors,
        pt.size = 0.5)

结果:从tSNE图得知,有6种类型的细胞。

29.4 核心特征表达分布

查看核心特征在单细胞水平的表达密度分布图


feature_FeaturePlot <- FeaturePlot(
  object = seurat_obj,
  features = common_feature %>%
    dplyr::filter(Enrich %in% c("Both_Early", "Both_Late")) %>%
    dplyr::pull(FeatureID),
  reduction = "tsne",
  ncol = 3)

feature_FeaturePlot

结果:6个核心特征在不同细胞类群的分布不同,在 章节 24 发现的SLC6A8富集在Hepatocyte细胞群。

29.5 核心特征点图

查看核心特征在单细胞水平的表达的点图


feature_DotPlot <- DotPlot(
  object = seurat_obj, 
  features = common_feature %>%
    dplyr::filter(Enrich %in% c("Both_Early", "Both_Late")) %>%
    dplyr::pull(FeatureID)) + 
  labs(y = "")

feature_DotPlot

29.6 SLC6A8表达分布

单独生成关注的核心特征SLC6A8在细胞水平的表达分布情况。


SLC6A8_DotPlot <- DotPlot(
  object = seurat_obj, 
  features = "SLC6A8")

SLC6A8_DotPlot

29.7 SLC6A8差异结果

在先前bulk RNA结果 小节 23.6 中,我们发现核心特征SLC6A8富集在HCC晚期。现在在细胞水平上,它的表达分布情况是如何?

SLC6A8_vlnplot

结果:在细胞水平上,SLC6A8在HCC早期和晚期的差异结果。SLC6A8分别显著富集在HepatocyteMyeloid的晚期分组。

29.8 输出结果

ggsave("./data/result/Figure/Fig7-B.pdf", SLC6A8_FeaturePlot, width = 5, height = 4, dpi = 600) 
ggsave("./data/result/Figure/Fig7-C.pdf", SLC6A8_DotPlot, width = 5, height = 3, dpi = 600) 
ggsave("./data/result/Figure/Fig7-D.pdf", SLC6A8_vlnplot, width = 8, height = 4, dpi = 600)
ggsave("./data/result/Figure/SFig6.pdf", feature_DotPlot, width = 8, height = 4, dpi = 600) 

29.9 总结

在深入研究细胞类群的信息后,我们针对六个核心特征进行了详尽的分析,特别关注了SLC6A8这一基因在细胞层面的表达情况。

系统信息
sessionInfo()
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.2

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Asia/Shanghai
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] ggpubr_0.6.0       viridis_0.6.5      viridisLite_0.4.2  rstatix_0.7.2     
 [5] cowplot_1.1.3      Seurat_5.0.3       SeuratObject_5.0.2 sp_2.1-4          
 [9] lubridate_1.9.3    forcats_1.0.0      stringr_1.5.1      dplyr_1.1.4       
[13] purrr_1.0.2        readr_2.1.5        tidyr_1.3.1        tibble_3.2.1      
[17] ggplot2_3.5.1      tidyverse_2.0.0   

loaded via a namespace (and not attached):
  [1] RColorBrewer_1.1-3     rstudioapi_0.16.0      jsonlite_1.8.8        
  [4] magrittr_2.0.3         spatstat.utils_3.0-4   rmarkdown_2.26        
  [7] vctrs_0.6.5            ROCR_1.0-11            spatstat.explore_3.2-7
 [10] htmltools_0.5.8.1      broom_1.0.5            sctransform_0.4.1     
 [13] parallelly_1.37.1      KernSmooth_2.23-22     htmlwidgets_1.6.4     
 [16] ica_1.0-3              plyr_1.8.9             plotly_4.10.4         
 [19] zoo_1.8-12             igraph_2.0.3           mime_0.12             
 [22] lifecycle_1.0.4        pkgconfig_2.0.3        Matrix_1.6-5          
 [25] R6_2.5.1               fastmap_1.1.1          fitdistrplus_1.1-11   
 [28] future_1.33.2          shiny_1.8.1.1          digest_0.6.35         
 [31] colorspace_2.1-0       patchwork_1.2.0        tensor_1.5            
 [34] RSpectra_0.16-1        irlba_2.3.5.1          progressr_0.14.0      
 [37] fansi_1.0.6            spatstat.sparse_3.0-3  timechange_0.3.0      
 [40] httr_1.4.7             polyclip_1.10-6        abind_1.4-5           
 [43] compiler_4.3.3         withr_3.0.0            backports_1.4.1       
 [46] carData_3.0-5          fastDummies_1.7.3      ggsignif_0.6.4        
 [49] MASS_7.3-60.0.1        tools_4.3.3            lmtest_0.9-40         
 [52] httpuv_1.6.15          future.apply_1.11.2    goftest_1.2-3         
 [55] glue_1.7.0             nlme_3.1-164           promises_1.3.0        
 [58] grid_4.3.3             Rtsne_0.17             cluster_2.1.6         
 [61] reshape2_1.4.4         generics_0.1.3         gtable_0.3.5          
 [64] spatstat.data_3.0-4    tzdb_0.4.0             data.table_1.15.4     
 [67] hms_1.1.3              car_3.1-2              utf8_1.2.4            
 [70] spatstat.geom_3.2-9    RcppAnnoy_0.0.22       ggrepel_0.9.5         
 [73] RANN_2.6.1             pillar_1.9.0           spam_2.10-0           
 [76] RcppHNSW_0.6.0         later_1.3.2            splines_4.3.3         
 [79] lattice_0.22-6         renv_1.0.0             survival_3.7-0        
 [82] deldir_2.0-4           tidyselect_1.2.1       miniUI_0.1.1.1        
 [85] pbapply_1.7-2          knitr_1.46             gridExtra_2.3         
 [88] scattermore_1.2        xfun_0.43              matrixStats_1.3.0     
 [91] stringi_1.8.4          lazyeval_0.2.2         yaml_2.3.8            
 [94] evaluate_0.23          codetools_0.2-19       BiocManager_1.30.23   
 [97] cli_3.6.2              uwot_0.2.2             xtable_1.8-4          
[100] reticulate_1.37.0      munsell_0.5.1          Rcpp_1.0.12           
[103] globals_0.16.3         spatstat.random_3.2-3  png_0.1-8             
[106] parallel_4.3.3         dotCall64_1.1-1        listenv_0.9.1         
[109] scales_1.3.0           ggridges_0.5.6         leiden_0.4.3.1        
[112] rlang_1.1.3