Software

library(Seurat)
library(tidyverse)
library(patchwork)
library(pheatmap)
library(RColorBrewer)
library(data.table)
library(knitr)
library(presto)

Data

Input: Pre-processed Seurat object of integrated thymocyte and T-cell subsets from canine thymus and lymph node.

setwd("/Users/eileen/PTCL/Single-cell-RNA-seq")
all_Tcells <- readRDS(file = "integrated_Tcells.Rdata")
all_Tcells <- FindNeighbors(all_Tcells, dims = 1:10)
all_Tcells <- FindClusters(all_Tcells, resolution = 0.2)
all_Tcells <- RunUMAP(all_Tcells, dims = 1:10)

DimPlot(all_Tcells,
        reduction = "umap",
        group.by = "OriginalClusters",
        label = TRUE,
        label.size = 3,
        label.box = TRUE) + plot_annotation(title= "Merged Canine T cells from Lymph Node and Thymus,\nOriginal Cluster IDs")

Cluster 0 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("HOPX", "SELL", "CCR7", "TRIM22", "DLA-DRA", "LTB", "HLA-DQB2", "LY6E")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 0 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 1 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("RAG1", "DNTT", "CD1C", "PDE1C", "NT5DC2", "CD4", "CD8A", "THEMIS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 1 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 2 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("SELL", "LY6E", "CTLA4", "LTB", "IL2RA", "MAF", "S100A8", "ICOS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 2 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 3 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("RAG1", "DNTT", "CD1C", "SLC7A11", "DBX2", "CD4", "CD8A", "ADAM12", "ARRP21", "PDE1C", "THEMIS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 3 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 4 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("CCR9", "ASAP1", "CELF2", "TOX2", "GATA3", "THEMIS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 4 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 5 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("SELL", "CCR7", "TGFBR2", "INPP4B", "PDE3B", "SCML4", "RIPOR2", "TRIM22", "ITGA1")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 5 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 6 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("MKI67", "DNTT", "CD1C", "TPX2", "KNL1", "CD4", "CD8A", "SMC2", "DIAPH3", "THEMIS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 6 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 7 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("LY6E", "LTB", "KLRB1", "IL2RB", "CD160", "CD96", "KLRK1", "GZMA")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 7 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 8 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("RAG1", "DNTT", "KIT", "ALPL", "MKI67", "ASNS", "DPP4", "CDH1", "HDAC4", "NDST3", "THEMIS")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 8 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("CD4", "CD8A")) +
  plot_annotation(title = "CD4 and CD8 Expression in Cluster 8", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 9 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("LY6E", "LGALS3", "KLRB1", "IL2RA", "RARRES2", "RPS6KA2", "RORA", "DSTN", "DENND5A", "MAF", "S100A8", "CD7")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 9 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Cluster 10 markers

FeaturePlot(all_Tcells,
            reduction = "umap",
            features = c("HAVCR1", "HAVCR2", "RBPMS", "SOX5", "BCL2", "CCR9", "CD7")) +
  plot_annotation(title = "Merged Canine T-cells from Lymph Node and Thymus:\nTop Cluster 10 Markers", theme = theme(plot.title = element_text(hjust = 0.5, size = 20))) &
  scale_color_gradientn(colours = brewer.pal(name = "RdPu", n=11))

Citations

sessionInfo()
## R version 4.4.0 (2024-04-24)
## Platform: aarch64-apple-darwin20
## Running under: macOS Sonoma 14.6.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.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: America/Denver
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] presto_1.0.0       Rcpp_1.0.14        knitr_1.47         data.table_1.16.4 
##  [5] RColorBrewer_1.1-3 pheatmap_1.0.12    patchwork_1.2.0    lubridate_1.9.3   
##  [9] forcats_1.0.0      stringr_1.5.1      dplyr_1.1.4        purrr_1.0.2       
## [13] readr_2.1.5        tidyr_1.3.1        tibble_3.2.1       ggplot2_3.5.1     
## [17] tidyverse_2.0.0    Seurat_5.2.0       SeuratObject_5.0.2 sp_2.1-4          
## 
## loaded via a namespace (and not attached):
##   [1] rstudioapi_0.16.0      jsonlite_1.8.8         magrittr_2.0.3        
##   [4] spatstat.utils_3.1-2   farver_2.1.2           rmarkdown_2.27        
##   [7] vctrs_0.6.5            ROCR_1.0-11            spatstat.explore_3.3-4
##  [10] htmltools_0.5.8.1      sass_0.4.9             sctransform_0.4.1     
##  [13] parallelly_1.41.0      KernSmooth_2.23-24     bslib_0.7.0           
##  [16] htmlwidgets_1.6.4      ica_1.0-3              plyr_1.8.9            
##  [19] plotly_4.10.4          zoo_1.8-12             cachem_1.1.0          
##  [22] igraph_2.0.3           mime_0.12              lifecycle_1.0.4       
##  [25] pkgconfig_2.0.3        Matrix_1.7-0           R6_2.5.1              
##  [28] fastmap_1.2.0          fitdistrplus_1.2-2     future_1.34.0         
##  [31] shiny_1.8.1.1          digest_0.6.35          colorspace_2.1-0      
##  [34] tensor_1.5             RSpectra_0.16-2        irlba_2.3.5.1         
##  [37] labeling_0.4.3         progressr_0.15.1       spatstat.sparse_3.1-0 
##  [40] timechange_0.3.0       httr_1.4.7             polyclip_1.10-6       
##  [43] abind_1.4-5            compiler_4.4.0         withr_3.0.2           
##  [46] fastDummies_1.7.4      highr_0.11             MASS_7.3-61           
##  [49] tools_4.4.0            lmtest_0.9-40          httpuv_1.6.15         
##  [52] future.apply_1.11.3    goftest_1.2-3          glue_1.8.0            
##  [55] nlme_3.1-165           promises_1.3.0         grid_4.4.0            
##  [58] Rtsne_0.17             cluster_2.1.6          reshape2_1.4.4        
##  [61] generics_0.1.3         gtable_0.3.5           spatstat.data_3.1-4   
##  [64] tzdb_0.4.0             hms_1.1.3              spatstat.geom_3.3-4   
##  [67] RcppAnnoy_0.0.22       ggrepel_0.9.5          RANN_2.6.2            
##  [70] pillar_1.10.1          spam_2.11-0            RcppHNSW_0.6.0        
##  [73] later_1.3.2            splines_4.4.0          lattice_0.22-6        
##  [76] survival_3.7-0         deldir_2.0-4           tidyselect_1.2.1      
##  [79] miniUI_0.1.1.1         pbapply_1.7-2          gridExtra_2.3         
##  [82] scattermore_1.2        xfun_0.45              matrixStats_1.3.0     
##  [85] stringi_1.8.4          lazyeval_0.2.2         yaml_2.3.8            
##  [88] evaluate_1.0.3         codetools_0.2-20       cli_3.6.3             
##  [91] uwot_0.2.2             xtable_1.8-4           reticulate_1.40.0     
##  [94] munsell_0.5.1          jquerylib_0.1.4        globals_0.16.3        
##  [97] spatstat.random_3.3-2  png_0.1-8              spatstat.univar_3.1-1 
## [100] parallel_4.4.0         dotCall64_1.2          listenv_0.9.1         
## [103] viridisLite_0.4.2      scales_1.3.0           ggridges_0.5.6        
## [106] rlang_1.1.4            cowplot_1.1.3
citation()
## To cite R in publications use:
## 
##   R Core Team (2024). _R: A Language and Environment for Statistical
##   Computing_. R Foundation for Statistical Computing, Vienna, Austria.
##   <https://www.R-project.org/>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2024},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also 'citation("pkgname")' for
## citing R packages.