当前位置: 首页 > news >正文

到着推 确定好分几群之后重新画图 回复

在这里插入图片描述

在这里插入图片描述

从allmerge重新给allmerge数据中的细胞重新画图 分类

library(CellChat)
library(patchwork)
library(ggplot2)
library(ggalluvial)
library(svglite)
library(Seurat)
library(openxlsx)
library(harmony)
library(dplyr)

getwd()
path="G:/silicosis/sicosis/yll/macrophage/no cluster2/0.3/pure_cluster01345_dotplot"
dir.create(path)
setwd(path)
getwd()
#https://www.jianshu.com/p/cef5663888ff
marker = read.xlsx("G:/silicosis/sicosis/silicosis_ST/overlapped_map/Rigional and cell markers.xlsx", 
                   sheet = "SingleCell_markers")

marker = read.xlsx("G:/silicosis/sicosis/yll/macrophage/no cluster2/0.3/3_Macrophgage_cluster_markers.xlsx")
load("G:/silicosis/sicosis/silicosis-1122-merge/silicosis_cluster_merge.rds")##	改路径

load("G:/silicosis/sicosis/yll/macrophage/no cluster2/macrophage_clean.rds")
getwd()


DimPlot(subset_data)
Idents(subset_data)=subset_data$RNA_snn_res.0.3 #cluster0 1 3 4 5
DimPlot(subset_data,label = TRUE)

table(subset_data$RNA_snn_res.0.3)

cellname_mycluster=list()
for (cluster in c(0,1,3,4,5)) {
  #cluster=0
  mycluster=cluster
  cellname_mycluster[[paste(cluster)]]=colnames(subset_data[,subset_data$RNA_snn_res.0.3==mycluster])
  print(paste('cluster' ,"_",cluster,"====="));print(length(cellname_mycluster[[paste(cluster)]]))
}

names(cellname_mycluster)

DimPlot(All.merge,label = TRUE, cells.highlight=cellname_mycluster[["0"]])+ggtitle(paste("cluster_","0"))
DimPlot(All.merge,label = TRUE, cells.highlight=cellname_mycluster[["1"]])+ggtitle(paste("cluster_","1"))
DimPlot(All.merge,label = TRUE, cells.highlight=cellname_mycluster[["3"]])+ggtitle(paste("cluster_","3"))
DimPlot(All.merge,label = TRUE, cells.highlight=cellname_mycluster[["4"]])+ggtitle(paste("cluster_","4"))
DimPlot(All.merge,label = TRUE, cells.highlight=cellname_mycluster[["5"]])+ggtitle(paste("cluster_","5"))
length(cellname_mycluster[["0"]])


  All.merge$cellid=rownames(All.merge@meta.data)
  All.merge@meta.data$newid2=ifelse( cellname_mycluster[["0"]] %in% rownames(All.merge@meta.data),"cluster0","mix4_5")
  All.merge@meta.data$newid2=ifelse( !is.na(intersect(cellname_mycluster[["0"]],rownames(All.merge@meta.data))),"cluster0","mix4_5")
  length(row.names(All.merge@meta.data))
  length(cellname_mycluster[["0"]])
  ncol(All.merge)-length(cellname_mycluster[["0"]])
  rep(NA,times=ncol(All.merge)-length(cellname_mycluster[["0"]]))
  union(cellname_mycluster[["0"]],
        rep(paste("NA-"),times=ncol(All.merge)-length(cellname_mycluster[["0"]])) )
  
  myrep0=c(rep(paste("NA-"),times=ncol(All.merge)-length(cellname_mycluster[["0"]])))
  length(myrep0)
  union(myrep0,cellname_mycluster[["0"]])
  length(union(cellname_mycluster[["0"]],myrep0))  #并集的相同元素会被合并,最终只显示一个相同的元素
  
  union(cellname_mycluster[["0"]],
        seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) 
  )
  
  union(cellname_mycluster[["0"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) ) table(All.merge@meta.data$newid2)
  
  seq(1,4,1)
  x <- c(1:4)
  y <- c(2:7)
  union(x,y)
  union(c(1,4532,2,4),c("a","h2",4,2))
  rep(2,times=4)
  length(union(cellname_mycluster[["0"]],rep(NA,times=ncol(All.merge)-length(cellname_mycluster[["0"]]))))
  
  
  
  unique(All.merge@meta.data$newid2)
  table(All.merge@meta.data$newid2)
  grep(rownames(All.merge@meta.data),cellname_mycluster[["0"]])
  union(rownames(All.merge@meta.data),cellname_mycluster[["0"]])
  head(All.merge@meta.data)
  dim(All.merge)
  names(Idents(All.merge))
  table(All.merge$newid)
  table(colnames(All.merge)==cellname_mycluster[["0"]])
  match(c(1,3,5),c(2,3,5,78,9,1))
  }
  
  #######成功!终于成功了!ifelse判断的是向量是否符合某个条件 此处 左右两边的向量长度必须相等, 于是我用union构造相同长度的向量  但是union里面的元素都是不重合的,不会重复!!!!!!!!!!
  All.merge@meta.data$newid2=ifelse(union(cellname_mycluster[["0"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) ) %in% rownames(All.merge@meta.data),
                                    ifelse(union(cellname_mycluster[["1"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["1"]]),1) ) %in% rownames(All.merge@meta.data),
                                           ifelse(union(cellname_mycluster[["3"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["3"]]),1) ) %in% rownames(All.merge@meta.data),"cluster3","mix4_5"),"cluster1"),"cluster0")
  c(1,34,5,4,2,52,1) %in%  c(22,124,1,4,2,34,5,2) 
  seq(1,10-4,1)
  All.merge$newid2=ifelse( Idents(All.merge)=="Monocyte","Monocyte",
                           ifelse( Idents(All.merge)=="T cell","T cell",
                                   ifelse( Idents(All.merge)=="B cell","B cell",
                                           ifelse( Idents(All.merge)=="Ig-producing B cell","Ig-producing B cell",
                                                   ifelse( rownames(All.merge@meta.data) %in% union(cellname_mycluster[["0"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) ),"cluster0",
                                                           ifelse(rownames(All.merge@meta.data) %in% union(cellname_mycluster[["1"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["1"]]),1) ),"cluster1",
                                                                  ifelse(rownames(All.merge@meta.data) %in% union(cellname_mycluster[["3"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["3"]]),1) ),"cluster3","cluster.mixed4_5")
                                                           ))))))
  table(All.merge$newid2)
  table(union(cellname_mycluster[["0"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) ) %in% rownames(All.merge@meta.data))
  table(Idents(All.merge)=="Monocyte")
}
Idents(All.merge)=All.merge$cell.type
levels(All.merge)
rownames(All.merge@meta.data[Idents(All.merge)=="Monocyte",])
All.merge@meta.data$new.cluster.idents=ifelse( Idents(All.merge)=="Monocyte","Monocyte",
                                               ifelse( Idents(All.merge)=="T cell","T cell",
                                                       ifelse( Idents(All.merge)=="B cell","B cell",
                                                               ifelse( Idents(All.merge)=="Ig-producing B cell","Ig-producing B cell",
                                                                       ifelse( Idents(All.merge)=="Dendritic cell","Dendritic cell",
                                                                               ifelse( Idents(All.merge)=="Neutrophil","Neutrophil",
                                                                                       ifelse( Idents(All.merge)=="NK cell","NK cell",
                                                                                               ifelse(Idents(All.merge)=="Endothelial cell-1","Endothelial cell-1",   
                                                                                                      ifelse( Idents(All.merge)=="Endothelial cell-2","Endothelial cell-2",
                                                                                                              ifelse( Idents(All.merge)=="Fibroblast","Fibroblast",
                                                                                                                      ifelse(Idents(All.merge)=="Myofibroblast/vascular smooth muscle cell","Myofibroblast/vascular smooth muscle cell",
                                                                                                                             ifelse(Idents(All.merge)=="Cycling basal cell","Cycling basal cell",
                                                                                                                                    ifelse(Idents(All.merge)=="Ciliated cell","Ciliated cell",
                                                                                                                                           ifelse(Idents(All.merge)=="Clara cell","Clara cell",
                                                                                                                                                  ifelse(Idents(All.merge)=="AT1 cell","AT1 cell",
                                                                                                                                                         ifelse(Idents(All.merge)=="AT2 cell-1","AT2 cell-1",
                                                                                                                                                                ifelse(Idents(All.merge)=="AT2 cell-2","AT2 cell-2",
                                                                                                                                                                       ifelse(Idents(All.merge)=="Igha+ AT2  cell","Igha+ AT2  cell",
                                                                                                                                                                              ifelse(  rownames(All.merge@meta.data) %in% union(cellname_mycluster[["0"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["0"]]),1) ),"cluster0",
                                                                                                                                                                                       ifelse(rownames(All.merge@meta.data) %in% union(cellname_mycluster[["1"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["1"]]),1) ),"cluster1",
                                                                                                                                                                                              ifelse(rownames(All.merge@meta.data) %in% union(cellname_mycluster[["3"]],seq(1,ncol(All.merge)-length(cellname_mycluster[["3"]]),1) ),"cluster3","cluster.mixed4_5")
                                                                                                                                                                                       ))   
                                                                                                                                                                       ))))))))))))))))))

table(All.merge$new.cluster.idents)
table(All.merge$cell.type,All.merge$orig.ident)
Idents(All.merge)=All.merge$new.cluster.idents
#save(All.merge,file = "silicosis_cluster_merge.rds")
load("G:\\silicosis\\sicosis\\silicosis_ST\\overlapped_map\\addmodule-cluster013-mixed\\silicosis_cluster_merge.rds")
table(All.merge$stim,All.merge$new.cluster.idents)


DimPlot(All.merge,group.by = 'stim')
DimPlot(All.merge,split.by = 'stim') +
  facet_wrap(~stim)+
  labs(x='UMAP_1',y='UMAP_2',
       title = 'A UMAP visualization of the Silicosis dataset')

DimPlot(All.merge,label = TRUE) +
  labs(x='UMAP_1',y='UMAP_2',
       title = 'A UMAP visualization of the Silicosis dataset')


#ggplot2个性化显示dimplot的结果 ggplot个性化显示单细胞降为结果
head(All.merge@meta.data)
table(All.merge$new.cluster.idents)

mydata=FetchData(All.merge,vars = c('UMAP_1','UMAP_2','new.cluster.idents',
                                    'stim'))
head(mydata)
class_avg <- mydata %>%
  group_by(new.cluster.idents) %>%
  summarise(
    UMAP_1 = median(UMAP_1),
    UMAP_2 = median(UMAP_2),
    inflammatory_gene1=mean(UMAP_1)
  )
head(class_avg)

library(ggrepel)
ggplot(mydata,aes(UMAP_1,UMAP_2,color=stim)) +
  geom_point() + theme_bw() +
  geom_text(
    aes(label = new.cluster.idents,
                fontface="plain",family="sans"), data = class_avg,colour = "red") +
  geom_hline(yintercept = 0,lty=2,col='red') +
  geom_vline(xintercept = 0,lty=2,col='blue',lwd=1) +
  theme(plot.title = element_text(hjust = 0.5)) +
  facet_wrap(~stim)+
  labs(x='UMAP_1',y='UMAP_2',
       title = 'A UMAP visualization of the Silicosis dataset')

dev.off()
ggrepel::geom_text_repel(data=class_avg,
                         aes(label =new.cluster.idents )) +#添加标签

DimPlot(All.merge, label = T, group.by = "stim", 
        cells.highlight = WhichCells(All.merge, 
                                     idents = c("cluster0", "cluster1",'cluster3','cluster.mixed4_5',
                                                'Monocyte')), 
        cols.highlight = c("darkblue", "darkred"), cols = "grey")


相关文章:

  • 12. 转义字符及print函数的参数
  • 13. Python数据类型之布尔类型
  • 14. 加减乘除 取整 取余 幂运算
  • velocyto.R安装失败
  • 15. Python 赋值运算
  • Windows环境下Boost的安装
  • 16. Python 比较运算
  • cmd命令行下怎么切换目录 命令行改变目录
  • 17. Python 逻辑运算
  • 2_velocyto.R包 docker容器的安装 使用docker来安装velocyto
  • 1-使用华为云的ubuntu系统安装docker Linux安装docker安装 国内安装有时候很慢 最好翻墙安装
  • 18. Python input( )输入函数
  • 19. input( )输入函数课后练习
  • Ubuntu 安装 conda
  • 20. 控制流及单分支结构if语句
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 2017-09-12 前端日报
  • 78. Subsets
  • Android 控件背景颜色处理
  • es6
  • javascript 哈希表
  • Java小白进阶笔记(3)-初级面向对象
  • js递归,无限分级树形折叠菜单
  • PHP 小技巧
  • rabbitmq延迟消息示例
  • Spring声明式事务管理之一:五大属性分析
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 后端_ThinkPHP5
  • 坑!为什么View.startAnimation不起作用?
  • 新版博客前端前瞻
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • # 数论-逆元
  • #Z2294. 打印树的直径
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $forceUpdate()函数
  • (1)Android开发优化---------UI优化
  • (16)Reactor的测试——响应式Spring的道法术器
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)shell调试方法
  • *上位机的定义
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core 2.1路线图
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET 的程序集加载上下文
  • .net 验证控件和javaScript的冲突问题
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET构架之我见
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)