いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【R】出芽酵母のGO解析をしたかったのだけれど

・お題:Saccharomyces cerevisiaeの遺伝子のリストを入手したので、GO解析してみたい。

 

・org.Sc.sgd.dbというアノテート用のパッケージが配布されているので、clusterprofilerのチュートリアルを参考にやればなんの問題もなくできる、と思っていた。

yulab-smu.top

 

・とりあえずパッケージを読み込む。

> library(clusterProfiler)
> library(org.Sc.sgd.db)

 

・遺伝子セットを作る。wikipathwaysで適当にpathwayを選んでメモした。

> GENES <- c("YIR027C","YIR029W","YIR032C","YBR208C","YBR208C")

 

・GO解析してみると、エラーが出た。

> ego <-
+   enrichGO(gene = GENES,
+            OrgDb =  org.Sc.sgd.db,
+            ont = "BP", #"BP","CC","MF","ALL"のどれか
+            pAdjustMethod = "BH",
+            keyType = "ENSEMBL", #今回はENSEMBL形式の遺伝子リスト
+            pvalueCutoff = 1,
+            qvalueCutoff = 1,
+            readable = TRUE)

Error in .testForValidCols(x, cols) : 
  Invalid columns: SYMBOL. Please use the columns method to see a listing of valid arguments.
In addition: Warning message:
In setReadable(res, OrgDb) :
  Fail to convert input geneID to SYMBOL since no SYMBOL information available in the provided OrgDb...

 

・readableをTRUEにするにはSYMBOL情報がないとダメらしい。SYMBOL情報ならあるだろうと思って使えるキーを覗いてみると、なかった。。

> keytypes(org.Sc.sgd.db)

 

・GENENAMEとCOMMONというキーがSYMBOLに対応しているらしい。そんなことがあるのか。。

・先のエラーを回避するには、readable をFALSEにすれば良い。せっかくなので、ENSEMBLの遺伝子リストをGENENAMEに変換してからエンリッチメント解析してみる。

> GENES_NAME <-
+   bitr(geneID = GENES,
+        fromType="ENSEMBL",
+        toType="GENENAME",
+        OrgDb = "org.Sc.sgd.db") %>%
+   .$GENENAME

> GENES_NAME
[1] "DAL1"   "DAL2"   "DAL3"   "DUR1,2"

・ちょっと減ってしまった。減るのが気になるのであれば、ENSEMBLのまま解析した方が良いかも。今回はGENE_NAMEで進める。

> ego <-
+   enrichGO(gene = GENES_NAME,
+            OrgDb =  org.Sc.sgd.db,
+            ont = "BP", #"BP","CC","MF","ALL"のどれか
+            pAdjustMethod = "BH",
+            keyType = "GENENAME",
+            pvalueCutoff = 1,
+            qvalueCutoff = 1,
+            readable = FALSE #ここが大事
+            )

 

・結果を見てみる。

> ego@result

> barplot(ego, showCategory=20)

 

おわり