load libraries

1. Load and Subset Normal CD4 T Cells


All_samples_Merged <- readRDS("../All_samples_Merged_with_STCAT_and_renamed_FINAL.rds")

2. Changes to metadata and saved to final object

# First check the levels
levels(All_samples_Merged$orig.ident)
[1] "L1"       "L2"       "L3"       "L4"       "L5"       "L6"       "L7"       "CD4T_lab"
[9] "CD4_10x" 
levels(All_samples_Merged$Patient_origin)
[1] "P1"       "P2"       "P3"       "CD4T_lab" "CD4T_10x"
# Rename the 'CD4_10x' label in orig.ident → 'CD4T_10x'
All_samples_Merged$orig.ident <- plyr::mapvalues(
  x = All_samples_Merged$orig.ident,
  from = "CD4_10x",
  to   = "CD4T_10x"
)

# Confirm the change
table(All_samples_Merged$orig.ident)

      L1       L2       L3       L4       L5       L6       L7 CD4T_lab CD4T_10x 
    5825     5935     6428     6006     6022     5148     5331     5106     3504 
# First check the levels
levels(All_samples_Merged$orig.ident)
[1] "L1"       "L2"       "L3"       "L4"       "L5"       "L6"       "L7"       "CD4T_lab"
[9] "CD4T_10x"
levels(All_samples_Merged$Patient_origin)
[1] "P1"       "P2"       "P3"       "CD4T_lab" "CD4T_10x"
# Create new metadata column based on orig.ident
All_samples_Merged$Condition <- ifelse(
  All_samples_Merged$orig.ident %in% c("L1","L2","L3","L4","L5","L6","L7"),
  "MalignantCD4T",
  "NormalCD4T"
)

# Check
table(All_samples_Merged$orig.ident, All_samples_Merged$Condition)
          
           MalignantCD4T NormalCD4T
  L1                5825          0
  L2                5935          0
  L3                6428          0
  L4                6006          0
  L5                6022          0
  L6                5148          0
  L7                5331          0
  CD4T_lab             0       5106
  CD4T_10x             0       3504

Changes to metadata and saved to final object

# First check the levels
levels(All_samples_Merged$orig.ident)
[1] "L1"       "L2"       "L3"       "L4"       "L5"       "L6"       "L7"       "CD4T_lab"
[9] "CD4T_10x"
levels(All_samples_Merged$cell_line)
[1] "L1"            "L2"            "L3"            "L4"            "L5"            "L6"           
[7] "L7"            "CD4Tcells_lab" "CD4Tcells_10x"
levels(All_samples_Merged$Patient_origin)
[1] "P1"       "P2"       "P3"       "CD4T_lab" "CD4T_10x"
# Check
table(All_samples_Merged$orig.ident, All_samples_Merged$Condition)
          
           MalignantCD4T NormalCD4T
  L1                5825          0
  L2                5935          0
  L3                6428          0
  L4                6006          0
  L5                6022          0
  L6                5148          0
  L7                5331          0
  CD4T_lab             0       5106
  CD4T_10x             0       3504
saveRDS(All_samples_Merged, file = "All_samples_Merged_with_STCAT_Annotation_final-5-09-2025.rds")
LS0tCnRpdGxlOiAiUmVuYW1lZCBGaW5hbCBvYmplY3QgYW5kIHNhdmVkIHRvIGEgZm9sZGVyIgphdXRob3I6IE5hc2lyIE1haG1vb2QgQWJiYXNpCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OgogICNybWRmb3JtYXRzOjpyZWFkdGhlZG93bgogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgdG9jX2NvbGxhcHNlZDogdHJ1ZQotLS0KCiMjIGxvYWQgbGlicmFyaWVzCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQoKbGlicmFyeShTZXVyYXQpCmxpYnJhcnkobW9ub2NsZTMpCmxpYnJhcnkoU2V1cmF0V3JhcHBlcnMpCmxpYnJhcnkoTWF0cml4KQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkocGF0Y2h3b3JrKQpsaWJyYXJ5KHBoZWF0bWFwKQpsaWJyYXJ5KFNDcHVicikKCnNldC5zZWVkKDEyMzQpCmBgYAoKIyAxLiBMb2FkIGFuZCBTdWJzZXQgTm9ybWFsIENENCBUIENlbGxzCmBgYHtyIGxvYWRTZXVyYXR9CgpBbGxfc2FtcGxlc19NZXJnZWQgPC0gcmVhZFJEUygiLi4vQWxsX3NhbXBsZXNfTWVyZ2VkX3dpdGhfU1RDQVRfYW5kX3JlbmFtZWRfRklOQUwucmRzIikKCmBgYAoKIyAyLiBDaGFuZ2VzIHRvIG1ldGFkYXRhIGFuZCBzYXZlZCB0byBmaW5hbCBvYmplY3QKYGBge3J9CiMgRmlyc3QgY2hlY2sgdGhlIGxldmVscwpsZXZlbHMoQWxsX3NhbXBsZXNfTWVyZ2VkJG9yaWcuaWRlbnQpCmxldmVscyhBbGxfc2FtcGxlc19NZXJnZWQkUGF0aWVudF9vcmlnaW4pCgojIFJlbmFtZSB0aGUgJ0NENF8xMHgnIGxhYmVsIGluIG9yaWcuaWRlbnQg4oaSICdDRDRUXzEweCcKQWxsX3NhbXBsZXNfTWVyZ2VkJG9yaWcuaWRlbnQgPC0gcGx5cjo6bWFwdmFsdWVzKAogIHggPSBBbGxfc2FtcGxlc19NZXJnZWQkb3JpZy5pZGVudCwKICBmcm9tID0gIkNENF8xMHgiLAogIHRvICAgPSAiQ0Q0VF8xMHgiCikKCiMgQ29uZmlybSB0aGUgY2hhbmdlCnRhYmxlKEFsbF9zYW1wbGVzX01lcmdlZCRvcmlnLmlkZW50KQoKCiMgQ3JlYXRlIG5ldyBtZXRhZGF0YSBjb2x1bW4gYmFzZWQgb24gb3JpZy5pZGVudApBbGxfc2FtcGxlc19NZXJnZWQkQ29uZGl0aW9uIDwtIGlmZWxzZSgKICBBbGxfc2FtcGxlc19NZXJnZWQkb3JpZy5pZGVudCAlaW4lIGMoIkwxIiwiTDIiLCJMMyIsIkw0IiwiTDUiLCJMNiIsIkw3IiksCiAgIk1hbGlnbmFudENENFQiLAogICJOb3JtYWxDRDRUIgopCgojIENoZWNrCnRhYmxlKEFsbF9zYW1wbGVzX01lcmdlZCRvcmlnLmlkZW50LCBBbGxfc2FtcGxlc19NZXJnZWQkQ29uZGl0aW9uKQoKYGBgCiMjIENoYW5nZXMgdG8gbWV0YWRhdGEgYW5kIHNhdmVkIHRvIGZpbmFsIG9iamVjdApgYGB7cn0KIyBGaXJzdCBjaGVjayB0aGUgbGV2ZWxzCmxldmVscyhBbGxfc2FtcGxlc19NZXJnZWQkb3JpZy5pZGVudCkKbGV2ZWxzKEFsbF9zYW1wbGVzX01lcmdlZCRjZWxsX2xpbmUpCmxldmVscyhBbGxfc2FtcGxlc19NZXJnZWQkUGF0aWVudF9vcmlnaW4pCgojIENoZWNrCnRhYmxlKEFsbF9zYW1wbGVzX01lcmdlZCRvcmlnLmlkZW50LCBBbGxfc2FtcGxlc19NZXJnZWQkQ29uZGl0aW9uKQoKYGBgCgpgYGB7cn0Kc2F2ZVJEUyhBbGxfc2FtcGxlc19NZXJnZWQsIGZpbGUgPSAiQWxsX3NhbXBsZXNfTWVyZ2VkX3dpdGhfU1RDQVRfQW5ub3RhdGlvbl9maW5hbC01LTA5LTIwMjUucmRzIikKCmBgYAo=