美文网首页注释和富集富集分析
富集分析,还能更简单!

富集分析,还能更简单!

作者: 小洁忘了怎么分身 | 来源:发表于2020-07-04 23:18 被阅读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")
    

    相关文章

      网友评论

        本文标题:富集分析,还能更简单!

        本文链接:https://www.haomeiwen.com/subject/omipqktx.html