修改单细胞转录组分组,
# 加载所需的R包
library(qs) # 用于快速读写R对象的包
library(dplyr) # 数据操作包
# 从指定路径读取Seurat对象
obj = qread("cnv_celltype_all.qs")
# 使用dplyr包对对象的元数据进行操作
obj@meta.data <- obj@meta.data %>%
mutate(
STAGE = case_when(
Stage == "I" ~ "StageI/II", # 将Stage I和II重新归类为"StageI/II"
Stage == "II" ~ "StageI/II", # 将Stage I和II重新归类为"StageI/II"
Stage == "III" ~ "StageIII/IV", # 将Stage III和IV重新归类为"StageIII/IV"
Stage == "IV" ~ "StageIII/IV", # 根据TNM分期系统进行重新分组
Stage == "T1N0" ~ "StageI/II", # T1N0期归为早期
Stage == "T2N0" ~ "StageI/II", # T2N0期归为早期
Stage == "T2N1" ~ "StageI/II", # T2N1期归为早期
Stage == "T2N2" ~ "StageIII/IV", # T2N2期归为晚期
Stage == "T2N2a" ~ "StageIII/IV", # T2N2a期归为晚期
Stage == "T4aN0" ~ "StageIII/IV", # T4aN0期归为晚期
Stage == "T4aN1" ~ "StageIII/IV", # T4aN1期归为晚期
TRUE ~ Stage # 其他未指定的Stage保持原值
)
)
# 将更新后的元数据保存为制表符分隔的文本文件
write.table(
data.frame(barcode=row.names(obj@meta.data), obj@meta.data),
file=paste("cnv_celltype_all_stage", ".metadata.tsv", sep=""),
sep="\t", # 使用制表符作为分隔符
quote=F, # 不对字符串添加引号
row.names=F # 不输出行名
)
# 将处理后的Seurat对象保存为qs格式文件
qsave(obj, "cnv_celltype_all_stage.qs")
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
