You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R的topGO包从GO富集分析结果中提取显著基因

使用topGO的genesInTerm函数直接获取显著GO term关联的目标基因

完全可以通过genesInTerm函数更直接地完成这个操作,相比你之前的间接交叉比对,这个方法利用topGO已经处理好的基因-GO注释关联,避免了手动拆分GO列可能出现的格式问题,结果更准确且代码更简洁。

具体实现步骤:

  1. 提取GO term对应的基因列表
    调用genesInTerm()函数作用于你的GOdata_BP对象,直接得到每个GO term关联的可行基因(即topGO分析中纳入的有GO注释的基因):

    # 从topGOdata对象中获取所有GO term对应的基因
    go_term_genes <- genesInTerm(GOdata_BP)
    
  2. 筛选显著GO term对应的基因
    基于你已经得到的significant_GO_BP(p<0.01的显著GO term),提取这些GO term关联的基因并去重:

    # 提取显著GO term对应的基因,合并后去重
    sig_associated_genes <- unique(unlist(go_term_genes[significant_GO_BP$GO.ID]))
    
  3. 过滤目标基因集
    直接从list_of_interest中筛选出属于这些关联基因的条目:

    # 得到与显著GO term关联的目标基因条目
    list_of_interest_filt <- list_of_interest %>%
      filter(id %in% sig_associated_genes)
    

方法优势:

  • 无需手动拆分和处理GO列,避免了重复GO term、格式不匹配等问题
  • 直接复用topGO分析中已验证的基因-GO注释关联,结果更可靠
  • 代码逻辑更简洁,减少出错概率

内容的提问来源于stack exchange,提问作者Mata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:56:01