超详细GO富集分析弦图绘制(不知道算不算保姆级教程)

安装GOplot
install.packages("GOplot")
激活GOplot
library(GOplot)
因为我喜欢用excel进行一些文本操作,所以也激活了操作xlsx格式的r包
library(openxlsx)

###########试运行帮助文档中的教程##########
help(package = "GOplot")
#点击Help Pages下的EC
在这里插入图片描述

这里有这个数据的一些描述,例如这是内皮细胞的转录组信息
详细的描述(有道翻译)
数据集包含来自两个稳态组织(大脑和心脏)的内皮细胞的转录组信息。更详细的信息可以在Nolan et al. 2013的论文中找到。将数据归一化并进行统计分析以确定差异表达基因。利用DAVID功能注释工具对一组差异表达基因(校正p-value<0.05)。

在来看一下EC数据里有哪些内容
data(EC)
在这里插入图片描述

查看一下该数据集中各自的数据内容
head(EC$david)
也可以使用openxlsx的write.xlsx函数将这个参考数据包里面的信息下载下来。然后用excel查看。例如:
write.xlsx(EC$david,"EC-david.xlsx")
write.xlsx(EC$genelist,"EC-genelist.xlsx")
在这里插入图片描述
可以看到,david这个数据中包含174行*5列的内容,这5列分别是Category(GO富集分析中的三大生物学过程:BP、CC、MF),ID(富集到的GO号),Term(GO号对应的生物学过程名),Genes(该富集到该过程的genes),adj_pval(校正P值)。
查看一下genelist的内容
head(EC$genelist)
在这里插入图片描述

该数据一共2039行*7列,分别是ID(基因名),logFC(差异表达倍数),AveExpr(平均表达量),t(暂不清楚),P.Value(表达P值),adj.P.Val(校正P值),B(暂不清楚)。不清楚这个数据对作图是否有影响。因为后面需要用到chord_dat函数将这两个数据进行整合,见下图。下图中zscore值不知到和上面的t值和B值是否有关系。然后查看了帮助文档中对于circle_dat函数的使用要求。
在这里插入图片描述

显示term只要terms的category、ID、term、adj_pval和genes,genes只要ID和logFC即可。我们自己的数据根据以上要求修改好即可,但是列名必须和上述要求一致。就像下面这样。
EC-david-adjust.xlsx
在这里插入图片描述
EC-genelist-adjust.xlsx
在这里插入图片描述

这里有一个问题,就是Genes列中基因名是大写的,而ID列中的基因名是小写的,这里在使用chord_dat函数时会报错,个人认为r会区分大小写。所以需要用Excel的UPPER函数将ID列的基因名转换为大写。这样就不会报错了。

读取准备好的这两个文件。
d1 = read.xlsx("EC-david-adjust.xlsx")
d2 = read.xlsx("EC-genelist-1adjust.xlsx")
#利用circle_dat()函数整合EC-david-adjust.xlsx和EC-genelist-adjust.xlsx。
circ = circle_dat(d1,d2)
在这里插入图片描述

可以看到,该函数将这两个数据进行了整合,即以每一个基因为目标分配各种信息。其中adj_pcal是由富集分析中的校正p值给出的。

d3 = c("heart development","vasculature development","blood vessel development","tissue morphogenesis","blood vessel morphogenesis")#这个是指定你要做那几个GO的弦图。这个必须于david文件中的名字一样。
然后使用chord_dat函数将circ、d2、d3进行整合。
chord = chord_dat(circ,d2,d3)
head(chord)
在这里插入图片描述

这个其实是生成了一个带有差异表达倍数的GO属性矩阵。

然后就可以开始出图啦。
pdf("chord3.pdf",height = 13,width = 13)#准备好一块画布。
GOChord(chord,space = 0.02,gene.order = 'logFC',gene.space = 0.25,gene.size = 5)#进行绘图。
dev.off()#然后必须关闭并保存这块画布。
在这里插入图片描述

然后就是可以进行一些微调啦,这张图片里用的基因有点偏多,可以在删除一些不太感兴趣的基因或者差异表达倍数不大或者padj值比较偏大的基因。

  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
你可以使用R语言中的GOplot包来进行富集分析气泡绘制GOplot是一个用于绘制基因本体富集分析结果的R包,可以根据富集分析的结果生成气泡。 下面是一个使用GOplot包绘制富集分析气泡的示例代码: 首先,确保已经安装了GOplot包和其他所需的依赖包: ```R install.packages("GOplot") install.packages("ggplot2") install.packages("dplyr") ``` 接下来,加载所需的包: ```R library(GOplot) library(ggplot2) library(dplyr) ``` 然后,准备富集分析结果数据。假设你已经进行了基因本体富集分析,并获得了如下的结果数据: ```R # 示例富集分析结果数据 enrichment_results <- data.frame( GO_term = c("GO:0006954", "GO:0008150", "GO:0003674"), Description = c("Inflammatory response", "Biological process", "Molecular function"), p_value = c(0.001, 0.005, 0.01), gene_count = c(100, 200, 150), query_count = c(500, 500, 500) ) ``` 接下来,使用GOplot包中的`plotGOBubble`函数绘制气泡: ```R # 绘制气泡 plotGOBubble( enrichment_results, col = "p_value", size = "gene_count", title = "GO Enrichment Analysis Bubble Plot", x = "Description", y = "GO_term", shading = "p_value", x_text_size = 4, y_text_size = 4, text_color = "black", text_col = "black" ) ``` 这段代码将根据富集分析结果数据绘制出气泡,气泡的大小表示基因数量,颜色表示显著性水平。 请注意,这只是一个示例代码,你需要根据你自己的富集分析结果数据进行相应的调整。另外,你可能还需要调整气泡的样式和其他参数,以满足你的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值