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

バイオコンダクタで注釈を使用してみました:

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ですか?それとも、最初の要素が遺伝子名である 2 つの文字ベクトルですか? または、例としてフォーマットされた .txt ファイルが必要ですか?

最も簡単なことはsplitprobe_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 に答える