单细胞-第四节 多样本数据分析,下游画图

文件在单细胞\5_GC_py\1_single_cell\2_plots.Rmd

1.细胞数量条形图

c 复制代码
rm(list = ls())
library(Seurat)
load("seu.obj.Rdata")

dat = as.data.frame(table(Idents(seu.obj)))
dat$label = paste(dat$Var1,dat$Freq,sep = ":")
head(dat)
library(ggplot2)
library(paletteer)
#View(palettes_d_names)
ggplot(dat,aes(x = Freq,fill = Var1,y = Var1))+
  scale_fill_paletteer_d("ggsci::category20_d3")+
  geom_bar(stat = "identity")+
  theme_bw()+
  geom_text(aes(x = 0,label = label),hjust = 0)+
  theme(axis.text.y = element_blank(),   # 隐藏纵坐标刻度文字
        axis.ticks.y = element_blank(),
        axis.title.y = element_blank())  # 隐藏纵坐标刻度线

2.细胞比例条形图

c 复制代码
seu.obj$seurat_annotation = seu.obj@active.ident
ggplot(seu.obj@meta.data,aes(orig.ident,fill = seurat_annotation))+
  geom_bar(position = "fill", alpha = 0.9,width = 0.5)+
  scale_fill_paletteer_d("ggsci::category20_d3")+
  theme_classic()+
  coord_flip()+
  coord_fixed(ratio = 4) #纵轴长度是横轴的4倍

3.小提琴图

c 复制代码
load("markers.Rdata")
library(tidyverse)
g = allmarkers %>% group_by(cluster) %>% top_n(1,wt = avg_log2FC) %>% pull(gene)

m = as.matrix(seu.obj@assays$RNA@layers$data)
rownames(m) = Features(seu.obj)
colnames(m) = Cells(seu.obj)
vln.df <- m %>%
  t() %>%
  as.data.frame()%>%
  select(g) %>% 
  rownames_to_column("CB") %>% 
  mutate(cluster = seu.obj$seurat_annotation)%>%
  pivot_longer(cols = 2:(ncol(.)-1),#宽边长
               names_to = "gene",
               values_to = "exp") %>% 
  mutate(gene = factor(gene,levels = g))
head(vln.df)
c 复制代码
# 自定义颜色
library(paletteer)
my_color = paletteer_d(`"ggsci::category20_d3"`)
my_color = colorRampPalette(my_color)(length(unique(vln.df$cluster)))
# 画图
p1 <- ggplot(vln.df,aes(exp,cluster),color=factor(cluster))+
  geom_violin(aes(fill=cluster),scale = "width")+
  scale_fill_manual(values = my_color)+
  facet_grid(.~gene,scales = "free_y", switch = "x")+
  scale_x_continuous(expand = c(0,0),position = "top")+
  theme_bw()+
  theme(
    panel.grid = element_blank(),
    axis.title.x.top = element_blank(),
    #axis.ticks.x.bottom = element_blank(),
    axis.text.x.top= element_text(hjust = 1,vjust = NULL,color = "black",size = 7),
    #axis.title.y.left = element_blank(),
    #axis.ticks.y.left = element_blank(),
    #axis.text.y.left = element_blank(),
    legend.position = "none",
    panel.spacing.y = unit(0, "cm"),
    strip.text.y = element_text(angle=0,size = 14,hjust = 0),
    strip.background.y = element_blank()
  )
p1

4.气泡图

c 复制代码
g = allmarkers %>% group_by(cluster) %>% top_n(5,wt = avg_log2FC) %>% pull(gene) %>% unique()
DotPlot(seu.obj,features = g,cols = "RdYlBu")+RotatedAxis()

5.GC基因韦恩图

c 复制代码
f = read.delim("gcgene.txt",header = F)
k = allmarkers$p_val_adj<0.05 & allmarkers$avg_log2FC>2
table(k)
g = intersect(allmarkers$gene[k],f$V1)
save(g,file = "g.Rdata")
library(tinyarray)
draw_venn(list(pyroptosis = f$V1,
               marker = unique(allmarkers$gene[k])),"")
ggsave("venn.png")
c 复制代码
m = as.matrix(seu.obj@assays$RNA@layers$data)
rownames(m) = Features(seu.obj)
colnames(m) = Cells(seu.obj)
m = m[g,]
ac = data.frame(row.names = colnames(m),
                celltype = Idents(seu.obj))
library(dplyr)
ac = arrange(ac,celltype)
m = m[,rownames(ac)]
pheatmap::pheatmap(m,show_colnames = F,cluster_cols = F,cluster_rows = F,scale = "row",breaks = seq(-1.6,3,length.out = 100),annotation_col = ac)

6.差异焦亡基因富集分析

c 复制代码
e = quick_enrich(g,destdir = tempdir())
e[[4]]+e[[3]]
相关推荐
钱工的门窗技术笔记3 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
quantdash_cc4 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
BIBI20494 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
chushiyunen5 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
燃烧的枫6 小时前
Windows 下 YOLO11 Det 的 TensorRT C++ 部署
pytorch·windows·tensorrt·关键点识别·yolo11
猪八宅百炼成仙7 小时前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
鱼宵8 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21
kingx39 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
quantdash_cc10 小时前
ETF 行情数据清洗实战:字段语义拆解、标的池整理与五个校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
海域云SeaArea_13 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php