1. load libraries

2. Load Seurat Object


L2 <- readRDS("../0-RDS_Cell_lines/L2_clustered.rds")

L2 <- NormalizeData(L2, normalization.method = "LogNormalize", scale.factor = 10000)
Avis : The `slot` argument of `SetAssayData()` is deprecated as of SeuratObject 5.0.0.
Please use the `layer` argument instead.Avis : The `slot` argument of `GetAssayData()` is deprecated as of SeuratObject 5.0.0.
Please use the `layer` argument instead.Performing log-normalization
0%   10   20   30   40   50   60   70   80   90   100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|

UMAP colored by cell type and expression - dittoDimPlot

spe <- L2

 DefaultAssay(spe) = "RNA"

library(Ragas)


RunDimPlot(object = spe, group.by = "SCT_snn_res.0.2")

RunDimPlot(object = spe, group.by = "SCT_snn_res.0.3")


DimPlot(spe, reduction = "umap", group.by = "cell_line",label = T, label.box = T)

DimPlot(spe, reduction = "umap", group.by = "SCT_snn_res.0.2",label = T, label.box = T)

DimPlot(spe, reduction = "umap", group.by = "predicted.celltype.l2",label = T, label.box = T, repel = T)




FeaturePlot(L2, features = "CCR7", reduction = "umap") ## TCM
Avis : The `slot` argument of `FetchData()` is deprecated as of SeuratObject 5.0.0.
Please use the `layer` argument instead.

FeaturePlot(L2, features = "GZMK", reduction = "umap") ## Th1

FeaturePlot(L2, features = "IL17RB", reduction = "umap") ## Th2
Avis : All cells have the same value (0) of “IL17RB”

FeaturePlot(L2, features = "CTSH", reduction = "umap") ## Th17
Avis : All cells have the same value (0) of “CTSH”

FeaturePlot(L2, features = "CCR10", reduction = "umap") ## Th22

FeaturePlot(L2, features = c("IL2RA", "FOXP3"), reduction = "umap") ## Th22

NA
NA

Create a Pi object

#rm(All_samples_Merged)

my.pbmc.pi <- CreatePostIntegrationObject(object = spe)
Post-integration object created
RunDimPlot(object = my.pbmc.pi, group.by = "SCT_snn_res.0.2")


my.pbmc.pi
An object of class Pi 
6 fields in the object: seurat.obj, exp.freq, markers, ds, cell.prop, parent.meta.data.
The following field has been processed:
    seurat.obj: A Seurat object of 36601 features and 5935 cells.
        6 assays: RNA, ADT, prediction.score.celltype.l1, prediction.score.celltype.l2, prediction.score.celltype.l3, SCT, and 5 reductions: integrated_dr, ref.umap, pca, umap, harmony
Metadata from the parent object provided? No 
Subclusters integrated? No

2. Marker gene identification

#rm(spe)

my.pbmc.pi <- RunFindAllMarkers(my.pbmc.pi, 
                               logfc.threshold = 0.1,
                               min.pct = 0.1,
                               min.diff.pct = 0.2,
                               only.pos = TRUE,
                                assay = "RNA",
                               ident = "SCT_snn_res.0.2")
Calculating cluster 0
Calculating cluster 1
Calculating cluster 2
PiData Markers|SCT_snn_res.0.2|AllMarkers|test.use=wilcox already exisits. Overwriting...

2. Marker gene Visualization

p1 <- RunMatrixPlot(my.pbmc.pi,
              markers.key = "Markers|SCT_snn_res.0.2|AllMarkers|test.use=wilcox", 
              column.anno.name.rot = 45, 
              heatmap.height = 8)
Set active identity to SCT_snn_res.0.2
Performing relative-counts-normalization
Centering and scaling data matrix

  |                                                                                                                               
  |                                                                                                                         |   0%
  |                                                                                                                               
  |=========================================================================================================================| 100%
p1

LS0tCnRpdGxlOiAiRGF0YSBWaXN1YWxpemF0aW9uIChSYWdhcyktTDIiCmF1dGhvcjogIk5hc2lyIE1haG1vb2QgQWJiYXNpIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICAgIGRmX3ByaW50OiBwYWdlZAogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKCiMgMS4gbG9hZCBsaWJyYXJpZXMKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoU2V1cmF0KQpsaWJyYXJ5KFNldXJhdFdyYXBwZXJzKQpsaWJyYXJ5KG1vbm9jbGUzKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoaW5mZXJjbnYpCmxpYnJhcnkoU0NwdWJyKQoKIyBMb2FkIHJlcXVpcmVkIGxpYnJhcmllcwpsaWJyYXJ5KFNldXJhdCkKbGlicmFyeShNYXRyaXgpCmxpYnJhcnkoZGF0YS50YWJsZSkKbGlicmFyeShwYXRjaHdvcmspCgoKYGBgCgojIDIuIExvYWQgU2V1cmF0IE9iamVjdCAKYGBge3J9CgpMMiA8LSByZWFkUkRTKCIuLi8wLVJEU19DZWxsX2xpbmVzL0wyX2NsdXN0ZXJlZC5yZHMiKQoKTDIgPC0gTm9ybWFsaXplRGF0YShMMiwgbm9ybWFsaXphdGlvbi5tZXRob2QgPSAiTG9nTm9ybWFsaXplIiwgc2NhbGUuZmFjdG9yID0gMTAwMDApCgpgYGAKCiMjIFVNQVAgY29sb3JlZCBieSBjZWxsIHR5cGUgYW5kIGV4cHJlc3Npb24gLSBkaXR0b0RpbVBsb3QKYGBge3J9CnNwZSA8LSBMMgoKIERlZmF1bHRBc3NheShzcGUpID0gIlJOQSIKCmxpYnJhcnkoUmFnYXMpCgoKUnVuRGltUGxvdChvYmplY3QgPSBzcGUsIGdyb3VwLmJ5ID0gIlNDVF9zbm5fcmVzLjAuMiIpClJ1bkRpbVBsb3Qob2JqZWN0ID0gc3BlLCBncm91cC5ieSA9ICJTQ1Rfc25uX3Jlcy4wLjMiKQoKRGltUGxvdChzcGUsIHJlZHVjdGlvbiA9ICJ1bWFwIiwgZ3JvdXAuYnkgPSAiY2VsbF9saW5lIixsYWJlbCA9IFQsIGxhYmVsLmJveCA9IFQpCkRpbVBsb3Qoc3BlLCByZWR1Y3Rpb24gPSAidW1hcCIsIGdyb3VwLmJ5ID0gIlNDVF9zbm5fcmVzLjAuMiIsbGFiZWwgPSBULCBsYWJlbC5ib3ggPSBUKQpEaW1QbG90KHNwZSwgcmVkdWN0aW9uID0gInVtYXAiLCBncm91cC5ieSA9ICJwcmVkaWN0ZWQuY2VsbHR5cGUubDIiLGxhYmVsID0gVCwgbGFiZWwuYm94ID0gVCwgcmVwZWwgPSBUKQoKCgpGZWF0dXJlUGxvdChMMiwgZmVhdHVyZXMgPSAiQ0NSNyIsIHJlZHVjdGlvbiA9ICJ1bWFwIikgIyMgVENNCkZlYXR1cmVQbG90KEwyLCBmZWF0dXJlcyA9ICJHWk1LIiwgcmVkdWN0aW9uID0gInVtYXAiKSAjIyBUaDEKRmVhdHVyZVBsb3QoTDIsIGZlYXR1cmVzID0gIklMMTdSQiIsIHJlZHVjdGlvbiA9ICJ1bWFwIikgIyMgVGgyCkZlYXR1cmVQbG90KEwyLCBmZWF0dXJlcyA9ICJDVFNIIiwgcmVkdWN0aW9uID0gInVtYXAiKSAjIyBUaDE3CkZlYXR1cmVQbG90KEwyLCBmZWF0dXJlcyA9ICJDQ1IxMCIsIHJlZHVjdGlvbiA9ICJ1bWFwIikgIyMgVGgyMgpGZWF0dXJlUGxvdChMMiwgZmVhdHVyZXMgPSBjKCJJTDJSQSIsICJGT1hQMyIpLCByZWR1Y3Rpb24gPSAidW1hcCIpICMjIFRoMjIKCgpgYGAKCiMjIENyZWF0ZSBhIFBpIG9iamVjdApgYGB7cn0KI3JtKEFsbF9zYW1wbGVzX01lcmdlZCkKCm15LnBibWMucGkgPC0gQ3JlYXRlUG9zdEludGVncmF0aW9uT2JqZWN0KG9iamVjdCA9IHNwZSkKClJ1bkRpbVBsb3Qob2JqZWN0ID0gbXkucGJtYy5waSwgZ3JvdXAuYnkgPSAiU0NUX3Nubl9yZXMuMC4yIikKCm15LnBibWMucGkKYGBgCgojIDIuIE1hcmtlciBnZW5lIGlkZW50aWZpY2F0aW9uCmBgYHtyfQojcm0oc3BlKQoKbXkucGJtYy5waSA8LSBSdW5GaW5kQWxsTWFya2VycyhteS5wYm1jLnBpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZjLnRocmVzaG9sZCA9IDAuMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi5wY3QgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4uZGlmZi5wY3QgPSAwLjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5LnBvcyA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNzYXkgPSAiUk5BIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50ID0gIlNDVF9zbm5fcmVzLjAuMiIpCgoKYGBgCgojIDIuIE1hcmtlciBnZW5lIFZpc3VhbGl6YXRpb24KYGBge3IsIGZpZy5oZWlnaHQ9OCwgZmlnLndpZHRoPTEwfQpwMSA8LSBSdW5NYXRyaXhQbG90KG15LnBibWMucGksCiAgICAgICAgICAgICAgbWFya2Vycy5rZXkgPSAiTWFya2Vyc3xTQ1Rfc25uX3Jlcy4wLjJ8QWxsTWFya2Vyc3x0ZXN0LnVzZT13aWxjb3giLCAKICAgICAgICAgICAgICBjb2x1bW4uYW5uby5uYW1lLnJvdCA9IDQ1LCAKICAgICAgICAgICAgICBoZWF0bWFwLmhlaWdodCA9IDgpCnAxCmBgYAoK