ggplot2绘制差异表达基因火山图

一、前置环境

1.1 R 语言

下载对应系统的R软件

R: The R Project for Statistical Computing (r-project.org)

以win11为演示

https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/windows/

1.2 R Studio

安装R Studio

https://download1.rstudio.org/electron/windows/RStudio-2022.12.0-353.exe

安装后启动并关联已安装的R语言

设置工作目录Session ----> Set Working Directory ---> Choose Directory

注意最好是全英文路径,避免奇奇怪怪的Bug

1.3 安装ggplot2 R包

##安装包

install.packages("ggplot2") 

##加载包

library(ggplot2)

二、DE基因火山图绘制

2.1 准备文件

主要需要三列信息:Gene          Log2FoldChange           padj

可自行命名,其中

Log2FoldChange列的数值为Log2(FoldChange)

padj 是校正P值或者 可以用原始P value

2.2 读取文件

##文件输入

data <- read.table("V_GV_GV.anno.xls_ggplot2",header = T)

##去除NA行

data_na <-na.omit(data)   

##或将NA替换为其他值,如1,但出来的图会在底部多出许多异常点,不建议此操作

data[is.na(data)] <-  "1"

2.3 标记上下调基因

##设置阈值,其中padj< 0.05; Log2FoldChange) > 1;需相应更改

data_na$changed <- factor(ifelse(data_na$padj < 0.05 & abs(data_na$Log2FoldChange) > 1,ifelse(data_na$Log2FoldChange > 1,'Up','Down'),'Stable'))

##查看DE基因数

summary(data_na$changed)

2.4 绘图并保存

##绘图 

ggplot(data_na,aes(Log2FoldChange,-log10(padj),
                   color=factor(changed),
                   )) +
      geom_point() +
      labs(x=expression("log2"*"(FoldChange)"), ##x轴Title
           y=expression(-Log[10]*" (p value)")) + ##y轴Title
      theme_grey(base_size = 10)+
      scale_color_manual(values = c('green','grey','red'))+ ##对应分类点的颜色
      scale_size_manual(values = c(1,1,1))+ ##对应分类点的Size
      theme(legend.title = element_blank(), 
            legend.position = c(0.3,0.9),
            legend.background = element_rect(fill='transparent'))

##保存

ggsave("V_GV_GV_mRNA.png",width=10,height=10,dpi=300) 

参考文章:

R语言 ggplot2火山图 - 知乎 (zhihu.com)

(22条消息) R语言如何删除数据集中包含缺失数据NA的行?_ofoliao的博客-CSDN博客_r语言删除缺失值所在一行

ggplot2之二:图像的保存 - 知乎 (zhihu.com)

声明:

代码源于参考文章,进行相应更改,如有侵权,请联系删除,感谢各位的教程!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 R 语言绘制差异基因火山的基本步骤: 1. 读取差异基因数据,包括基因名称、表达值和差异值等信息; 2. 根据差异值和显著性水平筛选出差异表达基因,通常选择差异值较大、显著性水平较低的基因; 3. 将筛选出来的基因分为上调和下调两组,并分别用不同的颜色标记; 4. 在坐标系上绘制基因差异值和显著性水平,其中差异值一般使用 log2 转换,显著性水平使用负对数转换; 5. 将不同调控方向的基因用不同的颜色标记,同时可以设置阈值,将显著性水平高于阈值的基因用更亮的颜色标记; 6. 添加坐标轴标签、标题等注释信息。 下面是一个简单的 R 代码示例: ```R # 读取差异基因数据,例如:gene_name,log2_fold_change,p_value data <- read.table("diff_genes.txt", header = TRUE) # 筛选出差异表达基因 diff_genes <- subset(data, abs(log2_fold_change) > 1 & p_value < 0.05) # 将上调和下调的基因分别用不同的颜色标记 up_genes <- subset(diff_genes, log2_fold_change > 0) down_genes <- subset(diff_genes, log2_fold_change < 0) # 绘制火山 plot(-log10(diff_genes$p_value), diff_genes$log2_fold_change, pch = 20, col = ifelse(diff_genes$log2_fold_change > 0, "red", "blue"), main = "Differential Gene Expression", xlab = "-log10(p-value)", ylab = "log2(fold change)") # 添加阈值和注释信息 abline(h = c(-1, 1), lty = 2) text(-log10(diff_genes$p_value), diff_genes$log2_fold_change, labels = ifelse(diff_genes$p_value < 0.01, rownames(diff_genes), ""), cex = 0.6, pos = 4) legend("topleft", legend = c("Up-regulated", "Down-regulated"), col = c("red", "blue"), pch = 20) ``` 以上代码仅供参考,具体细节还需要根据实际数据进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值