遺伝子セットの GO term の出現頻度を調べ棒グラフで視覚化

goProfiles

goProfiles は GO 解析を行う R パッケージです。与えられた遺伝子セットの GO term の出現頻度を調べ、棒グラフで表示させることができる。

library(goProfiles)

# サンプルデータをロード
data(prostateIds)

# サンプルデータを確認
head(welsh01EntrezIDs)
## [1] "23492" "284"   "11030" "2273"  "11168" "667"

# 解析
result <- basicProfile(
               welsh01EntrezIDs,            # サンプルデータ
               onto = "MF",                 # BP、CC、MF
               level = 2,                   # オントロジーの階層
               orgPackage = "org.Hs.eg.db"  # ヒトのアノテーション
          )

# 解析結果を確認
result
## $MF
##                                           Description       GOID Frequency
## 12                               antioxidant activity GO:0016209         7
## 9                                             binding GO:0005488       976
## 4                                  catalytic activity GO:0003824       445
## 13                         channel regulator activity GO:0016247        11

# 解析結果をフィアルに保存
write.table(result, file = "result.txt")

# 解析結果を図にプロット
plotProfiles(result, percentage = FALSE)  # TRUEにすると出現頻度ではなく出現確率でプロットされる
goProfiles解析結果

2 セットのデータを解析して、両者の GO term の出現頻度を同時に表すこともできる。

library(goProfiles)

# サンプルデータをロード
data(prostateIds)

# サンプルデータ1を確認
head(welsh01EntrezIDs)
## [1] "23492" "284"   "11030" "2273"  "11168" "667"

# サンプルデータ2を確認
head(singh01EntrezIDs)
## [1] "3249"  "3329"  "10418" "4072"  "10611" "7494"


# 解析
welsh <- basicProfile(welsh01EntrezIDs, onto = "MF", level = 2, orgPackage = "org.Hs.eg.db")
singh <- basicProfile(singh01EntrezIDs, onto = "MF", level = 2, orgPackage = "org.Hs.eg.db")


# 両者の解析結果をマージ
result <- mergeProfilesLists(welsh, singh, profNames = c("welsh", "singh"))
head(result)
## $MF
##                                           Description       GOID welsh singh
## 12                               antioxidant activity GO:0016209     7     4
## 9                                             binding GO:0005488   976   511
## 4                                  catalytic activity GO:0003824   445   250
## 13                         channel regulator activity GO:0016247    11     8


# 解析結果をフィアルに保存
write.table(result, file = "result.txt")


# 解析結果を図にプロット
plotProfiles(result, legendText = c("welsh", "singh"), percentage = TRUE)
goProfiles解析結果