1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 一张图展示多组富集分析结果

一张图展示多组富集分析结果

时间:2021-12-19 23:18:55

相关推荐

一张图展示多组富集分析结果

单细胞富集分析系列:

单细胞之富集分析-1:单细胞GSEA分析流程

单细胞之富集分析-2:批量GSEA和GSVA分析

单细胞之富集分析-3:GO和KEGG富集分析及绘图

单细胞之富集分析-4:分组水平GSVA

文献里经常看到这样不同组的通路选择性的一起展示的点图,只要有不同分组的通路富集结果其实就可以画了。简单做一下复现吧~

还是使用我们熟悉的pbmc3k的数据做演示。因为这个数据集只有一个样品,所以展示的还是不同细胞群间的通路。多样本的数据集比较不同样本/分组间的差异只需要改一下Idents就可以了。

library(Seurat)

library(patchwork)

library(clusterProfiler)

library(org.Mm.eg.db) ##加载小鼠

library(org.Hs.eg.db) ##加载人类

library(tidyverse)

导入注释好的pbmc数据集

pbmc <- readRDS(“pbmc.rds”)

寻找每个群的marker基因

Idents(pbmc) <- ‘cell_type’#因为这个是单样品数据集,在做多样品的时候,把Idents设置为不同样品即可计算不同样品的差异基因

table(pbmc$cell_type)

Naive CD4 T Memory CD4 T CD14+ Mono B CD8 T

711 480 472 344 279

FCGR3A+ Mono NK DC Platelet

162 144 32 14

markers <- FindAllMarkers(pbmc)

sig_dge.all <- subset(markers, p_val_adj<0.05&abs(avg_log2FC)>0.15) #所有差异基因

#saveRDS(sig_dge.all, file = “deg.rds”)

View(sig_dge.all)

##CD4T的上调基因

sig_dge.CD4T_up <- subset(sig_dge.all, avg_log2FC>0.15&cluster==‘Naive CD4 T’) #CD4T细胞的上调差异基因

#富集分析

ego_CD4 <- enrichGO(gene = row.names(sig_dge.CD4T_up),

#universe = row.names(dge.celltype),

OrgDb = ‘org.Hs.eg.db’,

keyType = ‘SYMBOL’,

ont = “ALL”, #设置为ALL时BP, CC, MF都计算

pAdjustMethod = “BH”,

pvalueCutoff = 0.01,

qvalueCutoff = 0.05)

ego_cd4 <- data.frame(ego_CD4)

#write.csv(ego_CD4,‘enrichGO_CD4.csv’)

View(ego_cd4)

ego_cd4$Group=‘Naive CD4 T’

一样的方法计算其他细胞群的富集结果,可以写成循环

sig_dge.B_up <- subset(sig_dge.all, avg_log2FC>0.15&cluster==‘B’) #CD4T细胞的上调差异基因

#富集分析

ego_B <- enrichGO(gene = row.names(sig_dge.B_up),

#universe = row.names(dge.celltype),

OrgDb = ‘org.Hs.eg.db’,

keyType = ‘SYMBOL’,

ont = “ALL”, #设置为ALL时BP, CC, MF都计算

pAdjustMethod = “BH”,

pvalueCutoff = 0.01,

qvalueCutoff = 0.05)

ego_b <- data.frame(ego_B)

#write.csv(ego_B,‘enrichGO_B.csv’)

View(ego_b)

ego_b$Group=‘B’

sig_dge.MCD4T_up <- subset(sig_dge.all, avg_log2FC>0.15&cluster==‘Memory CD4 T’) #CD4T细胞的上调差异基因

#富集分析

ego_MCD4T <- enrichGO(gene = row.names(sig_dge.MCD4T_up),

#universe = row.names(dge.celltype),

OrgDb = ‘org.Hs.eg.db’,

keyType = ‘SYMBOL’,

ont = “ALL”, #设置为ALL时BP, CC, MF都计算

pAdjustMethod = “BH”,

pvalueCutoff = 0.01,

qvalueCutoff = 0.05)

ego_mcd4t <- data.frame(ego_MCD4T)

#write.csv(ego_MCD4T,‘enrichGO_MCD4T.csv’)

View(ego_mcd4t)

ego_ego_mcd4t$Group=‘Memory CD4 T’

每个群选了前3个通路,这里的通路可以随便选

CD4T=ego_cd4[1:3,]

B=ego_b[1:3,]

MCD4T=ego_mcd4t[1:3,]

all <- rbind(CD4T,B,MCD4T)

allGeneRatio<−c(0.3798883,0.3798883,0.3854749,0.2105263,0.1184211,0.09210526,0.1502591,0.1450777,0.0880829)library(forcats)allGeneRatio <- c(0.3798883,0.3798883,0.3854749,0.2105263,0.1184211,0.09210526,0.1502591,0.1450777,0.0880829) library(forcats) allGeneRatio<−c(0.3798883,0.3798883,0.3854749,0.2105263,0.1184211,0.09210526,0.1502591,0.1450777,0.0880829)library(forcats)allDescription <- as.factor(allDescription)allDescription) allDescription)allDescription <- fct_inorder(all$Description)

最终的目的是得到这样的表格,挑选想展示的通路,标记清楚分组即可

ggplot(all, aes(Group, Description)) +

geom_point(aes(color=p.adjust, size=GeneRatio))+theme_bw()+

theme(panel.grid = element_blank(),

axis.text.x=element_text(angle=90,hjust = 1,vjust=0.5))+

scale_color_gradient(low=’#6699CC’,high=’#CC3333’)+

labs(x=NULL,y=NULL)+guides(size=guide_legend(order=1))

作者:Hayley笔记

链接:/p/9acaa566f04b

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。