シロイヌナズナのアノテーション Bioconductor

org.At.tair.db

org.At.tair.db は Bioconductor AnnotationData Packages として登録されている A. thaliana のゲノムのアノテーションパッケージである。Ensembl ID から Entrez ID に変換したり、GO ID を取得したり、KEGG pathway ID を取得したりすることができる。

library(org.At.tair.db)

org.Hs.eg.db パッケージに保存されている利用可能なデータセットを確認するには ls 関数を利用する。

ls("package:org.At.tair.db")
##  [1] "org.At.tair"             "org.At.tair_dbconn"
##  [3] "org.At.tair_dbfile"      "org.At.tair_dbInfo"
##  [5] "org.At.tair_dbschema"    "org.At.tair.db"
##  [7] "org.At.tairARACYC"       "org.At.tairARACYCENZYME"
##  [9] "org.At.tairCHR"          "org.At.tairCHRLENGTHS"
## [11] "org.At.tairCHRLOC"       "org.At.tairCHRLOCEND"
## [13] "org.At.tairENTREZID"     "org.At.tairENZYME"
## [15] "org.At.tairENZYME2TAIR"  "org.At.tairGENENAME"
## [17] "org.At.tairGO"           "org.At.tairGO2ALLTAIRS"
## [19] "org.At.tairGO2TAIR"      "org.At.tairMAPCOUNTS"
## [21] "org.At.tairORGANISM"     "org.At.tairPATH"
## [23] "org.At.tairPATH2TAIR"    "org.At.tairPMID"
## [25] "org.At.tairPMID2TAIR"    "org.At.tairREFSEQ"
## [27] "org.At.tairREFSEQ2TAIR"  "org.At.tairSYMBOL"

これらのオブジェクトの使い方はほとんど同じである。詳しいことは vignette にまかせて、ここではよくいくつかの例だけを取り上げる。

org.At.tairENTREZID

TAIR ID を Entrez Gene ID に変換したいときに利用する。

x <- c("AT1G02205", "AT1G02170")
ENTREZID <- as.list(org.At.tairENTREZID)
ENTREZID[x]
## $AT1G02205
## [1] "837602"
## 
## $AT1G02170
## [1] "839561"    

org.At.tairGO

TAIR ID をもとにその遺伝子に付けられた GO を取得したいときに利用する。

x <- c("AT1G02205", "AT1G02170")
GO <- as.list(org.At.tairGO)
x.go <- GO[x]

names(x.go)
## [1] "AT1G02205" "AT1G02170"

names(x.go[["AT1G02205"]])
##  [1] "GO:0042742" "GO:0042742" "GO:0050832" "GO:0050832" "GO:0009414"
##  [6] "GO:0009414" "GO:0010025" "GO:0010025" "GO:0010025" "GO:0010025"
## [11] "GO:0042335" "GO:0043447" "GO:0043447" "GO:0043447" "GO:0043447"
## [16] "GO:0046185" "GO:0046185" "GO:0005506" "GO:0005506" "GO:0005506"
## [21] "GO:0016491" "GO:0016491" "GO:0016491" "GO:0071771"

names(x.go[["AT1G02170"]])
##  [1] "GO:0006508" "GO:0006508" "GO:0006612" "GO:0006612" "GO:0009697"
##  [6] "GO:0009697" "GO:0009863" "GO:0009863" "GO:0010363" "GO:0010363"
## [11] "GO:0030968" "GO:0030968" "GO:0030968" "GO:0031348" "GO:0043068"
## [16] "GO:0043068" "GO:0043069" "GO:0045087" "GO:0005515" "GO:0004197"

x.go[["AT1G02205"]][["GO:0042742"]]
## $GOID
## [1] "GO:0042742"
## 
## $Evidence
## [1] "IMP"
## 
## $Ontology
## [1] "BP"

org.At.tairARACYC / org.At.tairPATH

TAIR ID をもとにその遺伝子に付けられた KEGG パスウェイを取得したいときに利用するに org.At.tairPATH を利用できる。しかし、このデータのタイムスタンプが 2011 年 3 月になっている。代わりに、比較的に新しいアノテーション org.At.tairARACYC を利用したほうがいい(2013 年 7 月?)。しかし、このオブジェクトはパスウェイから TAIR ID へのマッピングするもである。(最新の KEGG パスウェイデータを使いたい場合は KEGGREST パッケージを利用する。)

ARACYC <- as.list(org.At.tairARACYC)
head(ARACYC, 2)
## $`UDP-glucose biosynthesis (from glucose 6-phosphate)`
##  [1] "AT1G01050" "AT1G15690" "AT1G16780" "AT1G23190" "AT1G70730" "AT1G70820"
##  [7] "AT1G78920" "AT2G18230" "AT2G35020" "AT2G46860" "AT3G03250" "AT3G53620"
## [13] "AT4G01480" "AT5G09650" "AT5G17310" "AT5G17530" "AT5G51820" "AT5G52560"
## 
## $`pyruvate decarboxylation to acetyl CoA`
##  [1] "AT1G01090" "AT1G24180" "AT1G30120" "AT1G34430" "AT1G48030" "AT1G54220"
##  [7] "AT1G59900" "AT2G34590" "AT3G13930" "AT3G16950" "AT3G25860" "AT3G52200"
## [13] "AT4G16155" "AT5G50850"

これを TAIR ID からパスウェイにマッピングするように逆転させるオブジェクトを作成する。

tairid <- as.character(unique(unlist(ARACYC)))
PATH <- vector("list", length(tairid))
names(PATH) <- tairid

pathname <- names(ARACYC)
for (i in 1:length(ARACYC)) {
  PATH[ARACYC[[i]]] <- lapply(PATH[ARACYC[[i]]], function(x) {x <- c(x, pathname[i])})
}

x <- c("AT2G44990", "AT1G02170")
PATH
## [x]$AT2G44990
## [1] "5-deoxystrigol biosynthesis"      "carotenoid cleavage dioxygenases"
## 
## $<NA>
## NULL


ARACYC["5-deoxystrigol biosynthesis"]
## $`5-deoxystrigol biosynthesis`
## [1] "AT2G44990" "AT4G32810"
## 
ARACYC["carotenoid cleavage dioxygenases"]
## $`carotenoid cleavage dioxygenases`
##  [1] "AT2G44990" "AT3G63520" "AT3G63520" "AT3G63520" "AT3G63520" "AT4G19170"
##  [7] "AT4G19170" "AT4G19170" "AT4G19170" "AT4G19170" "AT4G32810"