富集分析,还能更简单!
2020-07-04 本文已影响0人
小洁忘了怎么分身
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")