首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >简单快速的GEO差异基因选取和绘制火山图

简单快速的GEO差异基因选取和绘制火山图

原创
作者头像
sheldor没耳朵
发布于 2025-03-26 03:30:15
发布于 2025-03-26 03:30:15
1340
举报
文章被收录于专栏:数据挖掘数据挖掘

简单快速的GEO差异基因选取和绘制火山图

做GEO数据挖掘,有的时候,我们不需要做严格的分析,只想快速拿到差异基因,和简单的一张火山图。用来辅助其他的分析,如网络药理学,可以用以下的代码

代码语言:r
AI代码解释
复制
m(list = ls()) 
load( file =  'DEG_deseq2.Rdata' )
# load( file =  'DEG_limma_voom.Rdata' )
# load( file =  'DEG_edgeR.Rdata' ) 
colnames(DEG_deseq2)
#colnames(DEG_limma_voom)

## draw volcano plot quickly
library(dplyr)
library(ggplot2)
library(ggplotify)

deg <- DEG_deseq2

#3.加change列,标记上下调基因
#阈值,可按需修改
logFC_t = 1
p_t = 0.05
#使用padj或p值
k1 = (deg$pvalue < p_t)&(deg$log2FoldChange < -logFC_t)
k2 = (deg$pvalue < p_t)&(deg$log2FoldChange > logFC_t)
deg = mutate(deg,change = ifelse(k1,"down",ifelse(k2,"up","stable")))
table(deg$change)
#保存上调基因和下调基因
up <- deg[deg$change == "up",]
write.csv(up,file = "GSE277906_up_gene.csv")
down <- deg[deg$change == "down",]
write.csv(down,file = "GSE277906_down_gene.csv")

#火山图
library(ggplot2)
p1 <- ggplot(data = deg, aes(x = log2FoldChange, y = -log10(pvalue))) +
  geom_point(alpha=0.6, size=1.5, aes(color=change)) +
  scale_color_manual(values=c("blue", "grey","red"))+
  geom_vline(xintercept=c(-logFC_t,logFC_t),lty=4,col="black",linewidth=0.5) +
  geom_hline(yintercept = -log10(p_t),lty=4,col="black",linewidth=0.5) +
  theme_classic()
  #+
  #ggtitle("PCOS vs CON") + 
  #theme(plot.title = element_text(hjust = 0.5))

ggsave(plot = p1, filename = "deg_vol.pdf",height = 4,width = 5)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单快速的GEO差异基因选取和绘制火山图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档