1. load libraries
2. Load Seurat Object
All_samples_Merged <- readRDS("../0-Seurat_RDS_OBJECT_FINAL/All_samples_Merged_Harmony_integrated_Cell_line_renamed_03-07-2025.rds")
UMAP colored by cell type and expression - dittoDimPlot
spe <- All_samples_Merged
library(Ragas)
Registered S3 methods overwritten by 'treeio':
method from
MRCA.phylo tidytree
MRCA.treedata tidytree
Nnode.treedata tidytree
Ntip.treedata tidytree
ancestor.phylo tidytree
ancestor.treedata tidytree
child.phylo tidytree
child.treedata tidytree
full_join.phylo tidytree
full_join.treedata tidytree
groupClade.phylo tidytree
groupClade.treedata tidytree
groupOTU.phylo tidytree
groupOTU.treedata tidytree
is.rooted.treedata tidytree
nodeid.phylo tidytree
nodeid.treedata tidytree
nodelab.phylo tidytree
nodelab.treedata tidytree
offspring.phylo tidytree
offspring.treedata tidytree
parent.phylo tidytree
parent.treedata tidytree
root.treedata tidytree
rootnode.phylo tidytree
sibling.phylo tidytree
RunDimPlot(object = spe)

Create a Pi object
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 26176 features and 49305 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)
Avis : objet 'spe' introuvable
my.pbmc.pi <- RunFindAllMarkers(my.pbmc.pi,
logfc.threshold = 0.1,
min.pct = 0.1,
min.diff.pct = 0.1,
only.pos = FALSE,
ident = "seurat_clusters", # Default test (Wilcoxon Rank Sum)
return.thresh = 0.05,)
Calculating cluster 0
Calculating cluster 1
Calculating cluster 2
Calculating cluster 3
Calculating cluster 4
Calculating cluster 5
Calculating cluster 6
Calculating cluster 7
Calculating cluster 8
Calculating cluster 9
Calculating cluster 10
Calculating cluster 11
Calculating cluster 12
Calculating cluster 13
PiData Markers|seurat_clusters|AllMarkers|test.use=wilcox already exisits. Overwriting...
2. Marker gene Visualization
p1 <- RunMatrixPlot(my.pbmc.pi,
markers.key = "Markers|seurat_clusters|AllMarkers|test.use=wilcox",
column.anno.name.rot = 45,
heatmap.height = 8)
Set active identity to seurat_clusters
Performing relative-counts-normalization
Centering and scaling data matrix
|
| | 0%
|
|========================================================================================================| 100%
p1

8. Save the Seurat object as an RDS
saveRDS(L7, file = "../0-RDS_Cell_lines/L7_clustered.rds")
LS0tCnRpdGxlOiAiRGF0YSBWaXN1YWxpemF0aW9uIChSYWdhcykiCmF1dGhvcjogIk5hc2lyIE1haG1vb2QgQWJiYXNpIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICAgIGRmX3ByaW50OiBwYWdlZAogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKCiMgMS4gbG9hZCBsaWJyYXJpZXMKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmxpYnJhcnkoU2V1cmF0KQpsaWJyYXJ5KFNldXJhdFdyYXBwZXJzKQpsaWJyYXJ5KG1vbm9jbGUzKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoaW5mZXJjbnYpCmxpYnJhcnkoU0NwdWJyKQoKIyBMb2FkIHJlcXVpcmVkIGxpYnJhcmllcwpsaWJyYXJ5KFNldXJhdCkKbGlicmFyeShNYXRyaXgpCmxpYnJhcnkoZGF0YS50YWJsZSkKbGlicmFyeShwYXRjaHdvcmspCgoKYGBgCgojIDIuIExvYWQgU2V1cmF0IE9iamVjdCAKYGBge3J9CgpBbGxfc2FtcGxlc19NZXJnZWQgPC0gcmVhZFJEUygiLi4vMC1TZXVyYXRfUkRTX09CSkVDVF9GSU5BTC9BbGxfc2FtcGxlc19NZXJnZWRfSGFybW9ueV9pbnRlZ3JhdGVkX0NlbGxfbGluZV9yZW5hbWVkXzAzLTA3LTIwMjUucmRzIikKCgpgYGAKCiMjIFVNQVAgY29sb3JlZCBieSBjZWxsIHR5cGUgYW5kIGV4cHJlc3Npb24gLSBkaXR0b0RpbVBsb3QKYGBge3J9CnNwZSA8LSBBbGxfc2FtcGxlc19NZXJnZWQKCmxpYnJhcnkoUmFnYXMpCgoKUnVuRGltUGxvdChvYmplY3QgPSBzcGUpCgpgYGAKCiMjIENyZWF0ZSBhIFBpIG9iamVjdApgYGB7cn0KbXkucGJtYy5waSA8LSBDcmVhdGVQb3N0SW50ZWdyYXRpb25PYmplY3Qob2JqZWN0ID0gc3BlKQoKUnVuRGltUGxvdChvYmplY3QgPSBteS5wYm1jLnBpKQoKbXkucGJtYy5waQpgYGAKCiMgMi4gTWFya2VyIGdlbmUgaWRlbnRpZmljYXRpb24KYGBge3J9CnJtKHNwZSkKbXkucGJtYy5waSA8LSBSdW5GaW5kQWxsTWFya2VycyhteS5wYm1jLnBpLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2ZjLnRocmVzaG9sZCA9IDAuMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi5wY3QgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW4uZGlmZi5wY3QgPSAwLjEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5LnBvcyA9IEZBTFNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnQgPSAic2V1cmF0X2NsdXN0ZXJzIiwgICAgICAgICAgIyBEZWZhdWx0IHRlc3QgKFdpbGNveG9uIFJhbmsgU3VtKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuLnRocmVzaCA9IDAuMDUsKQoKCmBgYAoKIyAyLiBNYXJrZXIgZ2VuZSBWaXN1YWxpemF0aW9uCmBgYHtyLCBmaWcuaGVpZ2h0PTgsIGZpZy53aWR0aD0xMH0KcDEgPC0gUnVuTWF0cml4UGxvdChteS5wYm1jLnBpLAogICAgICAgICAgICAgIG1hcmtlcnMua2V5ID0gIk1hcmtlcnN8c2V1cmF0X2NsdXN0ZXJzfEFsbE1hcmtlcnN8dGVzdC51c2U9d2lsY294IiwgCiAgICAgICAgICAgICAgY29sdW1uLmFubm8ubmFtZS5yb3QgPSA0NSwgCiAgICAgICAgICAgICAgaGVhdG1hcC5oZWlnaHQgPSA4KQpwMQpgYGAKCgojIDguIFNhdmUgdGhlIFNldXJhdCBvYmplY3QgYXMgYW4gUkRTCmBgYHtyIHNhdmVST0JKLCBlY2hvPVRSVUV9CgpzYXZlUkRTKEw3LCBmaWxlID0gIi4uLzAtUkRTX0NlbGxfbGluZXMvTDdfY2x1c3RlcmVkLnJkcyIpCgoKYGBg