【问题标题】:ViSEAGO tutorial: visualising topGO objectViSEAGO 教程:可视化 topGO 对象
【发布时间】:2020-01-08 20:42:37
【问题描述】:

早些时候,我有 posted a question 并且能够成功加载我的数据并在一些帮助后创建一个 topGO 对象。我正在尝试可视化与我从小鼠 RNA-seq 数据中获得的差异表达基因列表显着相关的 GO 术语。

现在,我想提出有关ViSEAGO's tutorial 的问题。本教程最初指定加载两个文件:“selection.txt”和“background.txt”。这些文件的来源没有明确说明。然而,在深入研究了 topGO 的文档之后,我能够找到每个文件的数据类型。但是,即使在遵循这些之后,我在运行以下代码时也遇到了问题。有人有什么见解可以分享吗?

工作代码:

mysampleGOdata <- new("topGOdata",
                      description = "my Simple session",
                      ontology = "BP",
                      allGenes = geneList_new,
                      nodeSize = 1,
                      annot = annFUN.org,
                      mapping="org.Mm.eg.db", 
                      ID = "SYMBOL")

resultFisher <- runTest(mysampleGOdata, algorithm = "classic", statistic = "fisher")

head(GenTable(mysampleGOdata,fisher=resultFisher),20)

myNewBP<-GenTable(mysampleGOdata,fisher=resultFisher)

问题:

> head(myNewBP,2)
       GO.ID                      Term Annotated Significant Expected  fisher
1 GO:0006006 glucose metabolic process       194          12     0.19 1.0e-19
2 GO:0019318  hexose metabolic process       223          12     0.22 5.7e-19

> ###################
> # merge results
> myBP_sResults<-ViSEAGO::merge_enrich_terms(
+   Input=list(
+     condition=c("mysampleGOdata","resultFisher")
+   )
+ )
Error in setnames(x, value) : 
  Can't assign 3 names to a 2 column data.table
> myNewBP<-GenTable(mysampleGOdata,fisher=resultFisher)
> ###################
> # display the merged table
> ViSEAGO::show_table(myNewBP)
Error in ViSEAGO::show_table(myNewBP) : 
  object must be enrich_GO_terms, GO_SS, or GO_clusters class objects

根据教程,打印的表格包含每个丰富的 GO 术语、附加列,包括通过比较评估的重要基因列表和频率(重要基因数量与背景基因数量的比率)。我想我有,但它肯定是行不通的。

有人知道为什么吗?这一点我不是很清楚。 谢谢!

【问题讨论】:

  • 嗨@Sruthi,你解决过这个问题吗?我遇到了同样的问题:无法为 2 列 data.table 分配 3 个名称。谢谢!

标签: r data-visualization ontology rna-seq


【解决方案1】:

我认为你试图规避你一开始犯的错误。由于您没有使用 ViSEAGO 包中的包装函数,您收到错误消息。正如您所说的in your last question,您在格式化数据时遇到了最初的问题。

这里有一些提示:

  • “选择”文件是带有您的 DEG 名称或 ID 的字符向量。我建议使用 EntrezID。

  • “背景”文件是具有已知基因的字符向量。我建议也使用 EntrezID。您可以使用以下方法轻松生成此字符向量: background=keys(org.Hs.eg.db, keytype ='ENTREZID').

  • 使用这两个文件,您可以轻松地进行包的后续步骤,如vignette 中所述。

# connect to EntrezGene
EntrezGene<-ViSEAGO::EntrezGene2GO()

# load GO annotations from EntrezGene
# with the add of GO annotations from orthologs genes (see above)
#id = "9606" = homo sapiens
myGENE2GO<-ViSEAGO::annotate(id="9606", EntrezGene)

BP<-ViSEAGO::create_topGOdata(
  geneSel = selection, #your DEG vector
  allGenes = background, #your created background vector
  gene2GO=myGENE2GO, 
  ont="BP",
  nodeSize=5
)

classic<-topGO::runTest(
  BP,
  algorithm ="classic",
  statistic = "fisher"
)

# merge results
BP_sResults<-ViSEAGO::merge_enrich_terms(
  Input=list(
    condition=c("BP","classic")
  )
)

您应该得到一个包含您喜欢的相应统计测试的丰富 GO 术语的合并列表。

【讨论】:

    【解决方案2】:

    我最近遇到了这个问题,非常沮丧。就我而言,整个问题似乎与我使用的软件包版本有关。

    我使用 conda 来安装 ViSEAGO。尽管如此,我的 conda 环境中的 R 版本有点旧(具体来说是 3.6.1)。因此,在使用 conda 安装 ViSEAGO 时,安装了 1.0.0 版本的软件包。请注意,ViSEAGO 的最新版本是 1.4.0。

    因此,我用 R 版本 4.0.3 创建了一个 conda 环境,并重复了使用 conda 安装 ViSEAGO 的过程。执行此操作时,安装了 ViSEAGO 的 1.4.0 版本,一切正常。

    我试图回溯错误,只发现一件事:在旧的 ViSEAGO 版本中,函数 Custom2GO 加载了 4 列的表;在最新版本中,它包含 5 列(新的列是“gene_symbol”)。我认为这种分歧可能是问题的一部分,因为函数 merge_enrich_terms 的源代码似乎在某些时候处理了“gene_id”和“gene_symbol”列,但我不确定。

    希望我的评论对您有所帮助!

    干杯, 毛里西奥

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-14
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多