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

ops/2025/2/4 5:17:52/

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

1.细胞数量条形图

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.细胞比例条形图

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.小提琴图

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)
# 自定义颜色
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.气泡图

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

在这里插入图片描述

5.GC基因韦恩图

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")

在这里插入图片描述

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.差异焦亡基因富集分析

e = quick_enrich(g,destdir = tempdir())
e[[4]]+e[[3]]

在这里插入图片描述


http://www.ppmy.cn/ops/155482.html

相关文章

科技快讯 | OpenAI首次向免费用户开放推理模型;特朗普与黄仁勋会面;雷军回应“10后小学生深情表白小米SU7”

不用开口&#xff1a;谷歌 AI 帮你致电商家&#xff0c;价格、预约一键搞定 谷歌在1月30日推出Search Labs中的“Ask for Me”实验性功能&#xff0c;用户可利用AI代替自己致电商家咨询价格和服务。该功能已与美汽车修理厂和美甲沙龙店合作&#xff0c;用户需加入Search Labs并…

wax到底是什么意思

在很久很久以前&#xff0c;人类还没有诞生文字之前&#xff0c;人类就产生了语言&#xff1b;在诞生文字之前&#xff0c;人类就已经使用了语言很久很久。 没有文字之前&#xff0c;人们的语言其实是相对比较简单的&#xff0c;因为人类的生产和生活水平非常低下&#xff0c;…

跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)

Movie Gen&#xff1a;A Cast of Media Foundation Models 简介 Movie Gen是Meta公司提出的一系列内容生成模型&#xff0c;包含了 3.2.1 预训练数据 Movie Gen采用大约 100M 的视频-文本对和 1B 的图片-文本对进行预训练。 图片-文本对的预训练流程与Meta提出的 Emu: Enh…

Git 常用命令汇总

# 推荐一个十分好用的git插件---->GitLens 其实很多命令操作完全界面化了&#xff0c;鼠标点点就可以实现但是命令是必要的&#xff0c;用多了你就知道了 Git 常用命令汇总 1. Git 基础操作 命令作用git init初始化本地仓库git clone <repo-url>克隆远程仓库到本地g…

使用 PyTorch 实现逻辑回归并评估模型性能

1. 逻辑回归简介 逻辑回归是一种用于解决二分类问题的算法。它通过一个逻辑函数&#xff08;Sigmoid 函数&#xff09;将线性回归的输出映射到 [0, 1] 区间内&#xff0c;从而将问题转化为概率预测问题。如果预测概率大于 0.5&#xff0c;则将样本分类为正类&#xff1b;否则分…

Flutter 与 React 前端框架对比:深入分析与实战示例

Flutter 与 React 前端框架对比&#xff1a;深入分析与实战示例 在现代前端开发中&#xff0c;Flutter 和 React 是两个非常流行的框架。Flutter 是 Google 推出的跨平台开发框架&#xff0c;支持从一个代码库生成 iOS、Android、Web 和桌面应用&#xff1b;React 则是 Facebo…

DeepSeek大模型技术解析:从架构到应用的全面探索

一、引言 在人工智能领域&#xff0c;大模型的发展日新月异&#xff0c;其中DeepSeek大模型凭借其卓越的性能和广泛的应用场景&#xff0c;迅速成为业界的焦点。本文旨在深入剖析DeepSeek大模型的技术细节&#xff0c;从架构到应用进行全面探索&#xff0c;以期为读者提供一个…

低代码系统-产品架构案例介绍、炎黄盈动-易鲸云(十二)

易鲸云作为炎黄盈动新推出的产品&#xff0c;在定位上为低零代码产品。 开发层 表单引擎 表单设计器&#xff0c;包括设计和渲染 流程引擎 流程设计&#xff0c;包括设计和渲染&#xff0c;需要说明的是&#xff1a;采用国际标准BPMN2.0&#xff0c;可以全球通用 视图引擎 视图…