Gene ontologyのデータをGO.dbで取得したのちネットワークを描かせた♪♪

GO, itself, is a structured terminology. The ontology describes genes and gene products and is divided into three separate ontologies. One for cellular component (CC),one for molecular function (MF) and one for biological process (BP).

つまり、

BPは、生物学的プロセス
MFは、分子機能
CCは、細胞の構成単位

っていうことみたいね。

これらのGOのデータベースを覗いて見ようと思う。

install.packages("igraph")
source("http://bioconductor.org/biocLite.R")
biocLite("GO.db")


library(GO.db)
library(igraph)


BP <- toTable(GOBPPARENTS)
CC <- toTable(GOCCPARENTS)
MF <- toTable(GOMFPARENTS)

#これで、BP(biological process)と、CC(Celular Component)と、MF(Molecular Function)をデータテーブルにできた!!!

#そしたら、これらを覗いてみよう♪

BP[1,]
       go_id      go_id RelationshipType
1 GO:0000001 GO:0048308              isa
CC[1,]
       go_id      go_id RelationshipType
1 GO:0000015 GO:0043234              isa
MF[1,]
       go_id      go_id RelationshipType
1 GO:0051082 GO:0005515              isa

#たとえば、BPの1から1000行までの一列目と二列目を抜き出してオブジェクトBP2を生成すると

BP2 <- BP[1:1000, 1:2]
BP2[1,]
       go_id    go_id.1
1 GO:0000001 GO:0048308

class(BP2)
[1] "data.frame"

BP3 <- as.matrix(BP2)


#ここで、BP3オブジェクトは、辺リストとみなすことができるので、graph.edgelist(辺リストの行列)により、igraphで利用可能なgraphオブジェクトを生成することができる♪


g.BP3 <- graph.edgelist(BP3)

plot(g.BP3, vertex.size = 1, vertex.color = 5, edge.color = 7, edge.arrow.size = 0.1 vertex.label.cex = 0.001, )


#vertex.size :頂点の大きさ。デフォルトは15。vertex.color:頂点の色。vertex.label.cex:頂点のラベルの大きさ.edge.arrow.size:矢印の大きさ。デフォルトは1。

png("test.png")
plot(g.BP3, vertex.size = 3, vertex.color = "yellow", edge.color = "green", edge.arrow.size = 0.01, vertex.label.cex = 0.1)
dev.off()