1

我是 R/BioC 的新手。我正在尝试进行基于 GO 的基因聚类。输入需要是每行中的基因名称和 GO 术语。例子:

AP4B1 GO:0005215 GO:0005488 GO:0005515 GO:0005625 GO:0005802 GO:0005905
BCAS2 GO:0005515 GO:0005634 GO:0005681 GO:0008380 GO:0031202

我尝试在 bioconductor 中使用注释:

library("rat2302.db") 
library(annotate)
testid<-c("1367462_at","1380262_at", "1392516_a_at", "1396521_at")
goid1 <- rat2302GO[testid]

但我只在单独的行中得到每个 GO 术语:

toTable(goid1)

probe_id      go_id Evidence Ontology
1  1367462_at GO:0008152      IEA       BP
2  1367462_at GO:0008152      ISO       BP
3  1367462_at GO:0006508      IMP       BP
4  1367462_at GO:0005886      IEA       CC
5  1367462_at GO:0005737      IEA       CC
6  1380262_at GO:0005575       ND       CC
7  1380262_at GO:0005634      IEA       CC
8  1380262_at GO:0005737      IEA       CC
9  1367462_at GO:0005509      IEA       MF
10 1367462_at GO:0005509      TAS       MF
11 1367462_at GO:0004198      IDA       MF
12 1367462_at GO:0004198      IEA       MF
13 1367462_at GO:0004198      ISO       MF
14 1367462_at GO:0046982      IPI       MF
15 1380262_at GO:0000166      IEA       MF

也许有一种更简单的方法可以获取每个基因的所有 GO 术语。不幸的是,我找不到它。

任何帮助是极大的赞赏。

谢谢R

4

2 回答 2

0

好的,从您的输入示例中,尚不清楚您希望如何格式化输入。是你提出的一个data.frame吗?还是第一个元素是基因名称的两个字符向量?还是您想要一个格式为您的示例的 .txt 文件?

我想最简单的事情就是简单地split通过probe_id,如下

tab <- toTable(goid1)
split(tab$go_id, tab$probe_id)

这给出了输出

$`1367462_at`
[1] "GO:0006508" "GO:0005886" "GO:0005737" "GO:0070062" "GO:0005509" "GO:0004198" "GO:0046982"
[8] "GO:0005509" "GO:0004198"

$`1380262_at`
[1] "GO:0005575" "GO:0005634" "GO:0005737" "GO:0015459" "GO:0004674" "GO:0005524" "GO:0015459"
[8] "GO:0015459"

$`1396521_at`
[1] "GO:0008289"

任何状况之下。这是您想要的每个基因/探针集的 GO 术语向量列表。将其操纵成您想要的应该相当容易。

于 2014-05-07T12:17:24.023 回答
0

ncbi 提供了一个名为gene2go 的文件,这可能是你想要的

于 2017-06-15T01:56:13.997 回答