我是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
答案 0 :(得分: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术语的向量列表。将它操纵成你想要的东西应该相当容易。
答案 1 :(得分:0)
ncbi提供了一个名为gene2go的文件,可能是您想要的文件