• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    教学以及管理操作教程

    教学以及管理操作教程

    ¥1,000.00 ¥100.00
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      教学以及管理操作教程

      教学以及管理操作教程

      ¥1,000.00 ¥100.00
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      生信星球

      • 首页
      • 博客
      • 生信星球
      • 富集分析圈圈图

      富集分析圈圈图

      • 发布者 weinfoeditor
      • 分类 生信星球
      • 日期 2020年9月13日
      测试开头

      富集分析圈圈图富集分析圈圈图 今天是生信星球陪你的第723天富集分析圈圈图


         大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

         就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

         这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

      今天打开简书,发现我的20万字被锁的只剩10万。被锁的原因是简书正在审查,不知道触碰到了什么奇怪的机制,我发的都是技术贴没有半点违规。我没有耐心一篇篇复制网址发邮件解锁了,接下来要全面转移阵地了。很心痛,简书马上要失去我了,同情他们。

      0.需求解读

      富集分析圈圈图

      这是富集分析比较常见的一个图,左图右表。

      图的最外层是GOterm的编号,中间灰色背景层表示基因的logFC分布,可以看到每个term对应到的是上调基因还是下调基因。最里面的一层是z-score值。这个值的计算方法在帮助文档中有明确指出,就是(up-down)/sqrt(count)。up、down、count是每个term富集到的上调、下调、所有基因的个数。

      1.所需R包和数据

      library(clusterProfiler)
      library(org.Hs.eg.db)
      library(GOplot)
      library(stringr)

      这个数据是简单的芯片差异分析得到的表格,在生信星球公众号回复“富集输入”即可获得。我只取了其中的100个差异基因来做富集分析。

      load("step4output.Rdata")
      head(deg)
      ##       logFC   AveExpr         t      P.Value    adj.P.Val        B probe_id
      ## 1  5.780170  7.370282  82.94833 3.495205e-12 1.163798e-07 16.32898  8133876
      ## 2 -4.212683  9.106625 -68.40113 1.437468e-11 2.393169e-07 15.71739  7965335
      ## 3  5.633027  8.763220  57.61985 5.053466e-11 4.431880e-07 15.04752  7972259
      ## 4 -3.801663  9.726468 -57.21112 5.324059e-11 4.431880e-07 15.01709  7972217
      ## 5  3.263063 10.171635  50.51733 1.324638e-10 8.821294e-07 14.45166  8129573
      ## 6 -3.843247  9.667077 -45.87910 2.681063e-10 1.487856e-06 13.97123  8015806
      ##   symbol change ENTREZID
      ## 1   CD36     up      948
      ## 2  DUSP6   down     1848
      ## 3    DCT     up     1638
      ## 4  SPRY2   down    10253
      ## 5  MOXD1     up    26002
      ## 6   ETV4   down     2118
      deg = deg[deg$change!="stable",]
      deg = deg[1:100,]
      gene_diff = deg$symbol

      2.富集分析

      ego_BP <- enrichGO(gene = gene_diff,
                         keyType = "SYMBOL",
                         OrgDb= org.Hs.eg.db,
                         ont = "BP",
                         pAdjustMethod = "BH",
                         minGSSize = 1,
                         pvalueCutoff = 0.05,
                         qvalueCutoff = 0.05)
      class(ego_BP)
      ## [1] "enrichResult"
      ## attr(,"package")
      ## [1] "DOSE"

      3.转换成图的输入数据

      ego <- data.frame(ego_BP) 
      colnames(ego)
      ## [1] "ID"          "Description" "GeneRatio"   "BgRatio"     "pvalue"     
      ## [6] "p.adjust"    "qvalue"      "geneID"      "Count"
      ego <- ego[1:10,c(1,2,8,6)] 

      ego$geneID <- str_replace_all(ego$geneID,"/",",") 
      names(ego)=c("ID","Term","Genes","adj_pval")
      ego$Category = "BP"
      head(ego)
      ##                    ID                                            Term
      ## GO:0050730 GO:0050730 regulation of peptidyl-tyrosine phosphorylation
      ## GO:0018108 GO:0018108               peptidyl-tyrosine phosphorylation
      ## GO:0018212 GO:0018212                  peptidyl-tyrosine modification
      ## GO:0048732 GO:0048732                               gland development
      ## GO:0014033 GO:0014033               neural crest cell differentiation
      ## GO:0050673 GO:0050673                   epithelial cell proliferation
      ##                                                                             Genes
      ## GO:0050730          CD36,AREG,TGFA,CD24,SFRP1,ITGB3,MIR221,SH2B3,CNTN1,INPP5F,MVP
      ## GO:0018108    CD36,AREG,TGFA,CD24,SFRP1,ITGB3,MIR221,EPHA5,SH2B3,CNTN1,INPP5F,MVP
      ## GO:0018212    CD36,AREG,TGFA,CD24,SFRP1,ITGB3,MIR221,EPHA5,SH2B3,CNTN1,INPP5F,MVP
      ## GO:0048732  ETV5,CCND1,AREG,SERPINF1,SFRP1,IGFBP5,JUN,SEMA3C,SOX2,SNAI2,PBX1,E2F7
      ## GO:0014033                                    SFRP1,SEMA3C,SNAI2,ZEB2,MEF2C,FOLR1
      ## GO:0050673 NUPR1,CCND1,AREG,SERPINF1,TGFA,SFRP1,IGFBP5,JUN,ITGB3,SOX2,SNAI2,MEF2C
      ##                adj_pval Category
      ## GO:0050730 0.0001118840       BP
      ## GO:0018108 0.0001609363       BP
      ## GO:0018212 0.0001609363       BP
      ## GO:0048732 0.0006502891       BP
      ## GO:0014033 0.0006502891       BP
      ## GO:0050673 0.0006502891       BP
      genes = data.frame(ID=deg$symbol,
                         logFC=deg$logFC)
      head(genes)
      ##      ID     logFC
      ## 1  CD36  5.780170
      ## 2 DUSP6 -4.212683
      ## 3   DCT  5.633027
      ## 4 SPRY2 -3.801663
      ## 5 MOXD1  3.263063
      ## 6  ETV4 -3.843247
      circ <- circle_dat(ego,genes);head(circ)
      ##   category         ID                                            term count
      ## 1       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ## 2       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ## 3       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ## 4       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ## 5       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ## 6       BP GO:0050730 regulation of peptidyl-tyrosine phosphorylation    11
      ##   genes     logFC    adj_pval    zscore
      ## 1  CD36  5.780170 0.000111884 -0.904534
      ## 2  AREG -3.095910 0.000111884 -0.904534
      ## 3  TGFA -2.518930 0.000111884 -0.904534
      ## 4  CD24  3.322533 0.000111884 -0.904534
      ## 5 SFRP1 -2.103767 0.000111884 -0.904534
      ## 6 ITGB3 -3.162000 0.000111884 -0.904534

      4.出图的代码其实很简单的

      GOCircle(circ)
      富集分析圈圈图

      关于zscore

      可以来个验证,理解更深一点:

      ego$ID[1]
      ## [1] "GO:0050730"
      circ$zscore[1]
      ## [1] -0.904534
      gs = str_split(ego$Genes[1],
                     ",")[[1]]
      table(deg$change[deg$symbol %in% gs])
      ## 
      ## down   up 
      ##    7    4
      (4-7)/sqrt(11)
      ## [1] -0.904534

      插个小广告!

      生信零基础入门学习小组

      全国巡讲全球听(生信线上直播课,长期开班)

      数据挖掘线上班(两天变三周,实力加量,长期开班)

      一起来学单细胞吗?

      答疑公告:生信星球答疑公告-2020年全年有效

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoeditor

      上一篇文章

      来玩一下会动的网络图和桑基图
      2020年9月13日

      下一篇文章

      ChIP-Seq的填坑,从表观基础名词开始
      2020年9月23日

      你可能也喜欢

      8-1651673488
      生信零基础入门学习小组长期报名中(2022仍继续)
      7 4月, 2022
      2-1651673738
      简化版的ROC曲线
      21 2月, 2022
      8-1651674718
      支持向量机模型
      19 11月, 2021

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?