富集分析,还能更简单!

6月20号讲完上一期的线上直播课后,我回家呆了9天,亲三天,爱三天,爱答不理又三天,蹭完赶紧跑。家里新来了两只小狗子,他们的爱好是把我的脚当火腿肠啃。7月1 ~ 3号公司团建,去了清远,玩了玻璃大峡谷和漂流,惊险刺激呀,第二天起床胳膊腿都废了,酸痛的~

关于gdcRNAtools这个宝藏R包,前面用它完成了:
1.差异分析和ceRNA网络构建
2.cox和km生存分析
都是简单粗暴型的!今天再来探索一下它的富集分析。虽然现在有很多的富集分析工具,但最受欢迎的仍然当属ClusterProfiler。
gdcRNAtools的富集分析功能正是基于ClusterProfiler的。下面的代码来自包作者。

1.准备输入数据

这里的DEGALL是差异分析的结果。使用作者准备的内置数据,也可按照宝藏R包:TCGA的转录组数据挖掘一站搞定自己获取。

library(GDCRNATools)

data(DEGAll)
deALL <- gdcDEReport(deg = DEGAll, gene.type = 'all')

2.富集分析

gdcEnrichAnalysis() 是基于clusterprofiler做的富集分析函数,作者把GO、DO和KEGG一起做了,输出为一个数据框。

enrichOutput <- gdcEnrichAnalysis(gene = rownames(deALL), simplify = TRUE)
## ### This step may take a few minutes ###
## Step 1/5: BP analysis done!
## Step 2/5: CC analysis done!
## Step 3/5: MF analysis done!
## Step 4/5: KEGG analysis done!
## Step 5/5: DO analysis done!
table(enrichOutput$Category)
## 
##    DO GO_BP GO_CC GO_MF  KEGG 
##   798   129    23    25   298

这个数值展示的就是每个类型各自富集到了多少个条目了。

3.可视化

3.1 Barplot

gdcEnrichPlot(enrichOutput, 
              type = 'bar', 
              category = 'GO', 
              num.terms = 10)
gdcEnrichPlot(enrichOutput, 
              type = 'bar', 
              category = 'DO', 
              num.terms = 10)

这里的categroy可选的有: ‘KEGG’, ‘GO’, ‘GO_BP’, ‘GO_CC’, ‘GO_MF’。

探索了一下KEGG和DO的条条只能给一个颜色,不过没关系,还可以自己画,实在不行就不用这个包,使用原生的clusterprofiler也挺简单的。

library(ggplot2)
dat = enrichOutput[enrichOutput$Category=="KEGG",]
dat = head(dat,10)
ggplot(dat)+
  geom_bar(aes(x = Counts,y = Terms,fill = FDR),
           stat = "identity")+
  scale_fill_gradient(low="blue", high="red")

3.2 Bubble plot

气泡图也有,配色有点丑啦!但很常见。

gdcEnrichPlot(enrichOutput, 
              type='bubble', 
              category='GO', 
              num.terms = 10)

也可以自己画:

library(ggplot2)
dat = enrichOutput[enrichOutput$Category=="KEGG",]
dat = head(dat,10)
ggplot(dat)+
  geom_point(aes(x = Counts,
                 y = Terms,
                 color = FDR,
                 size = Counts))+
  scale_color_gradient(low="blue", high="red")

你可能感兴趣的:(富集分析,还能更简单!)