遺伝子のアノテーションは Ensembl などの公共データベースを通してファイルとしてダウンロードして利用できる。しかし、R / Biocondcutor を利用した解析では、ダウンロードしたファイルを利用するよりも Bioconductor のパッケージとして配布されているアノテーションを利用すると便利である。
Bioconductor で取り扱っているアノテーションは以下のように分類できる。また、Bioconductor に登録されているアノテーションパッケージは Bioconductor AnnotationData Packages で確認できる。
- AnnotationDbi (Gene centric)
- 生物種レベル(org.Mm.eg.db, ...)
- プラットフォームレベル(hgu133plust2.db, hgu133plust2.probes, ...)
- ホモロジーレベル(hom.Dm.inp.db, ...)
- システム生物学レベル(GO.db, ...)
- GenomicFeatures (Genomic centric)
- トランスクリプトームレベル(TxDb.Hsapiens.UCSC.hg19.knownGene, ...)
生物種レベルのアノテーション(OrgDb)
生物種レベルのアノテーションパッケージは、org.Hs.eg.db のように「org.種名」で登録されている。例えば、ヒトのアノテーションを利用するときは他のパッケージと同様に library
を利用して呼び出せばよい。また、利用できるアノテーションを columns
関数で確認できる。この例では、Entrez Gene ID, Ensembl Gene ID, GO などが利用できる。
library(org.Hs.eg.db)
columns(org.Hs.eg.db)
## [1] "ENTREZID" "PFAM" "IPI" "PROSITE" "ACCNUM"
## [6] "ALIAS" "CHR" "CHRLOC" "CHRLOCEND" "ENZYME"
## [11] "MAP" "PATH" "PMID" "REFSEQ" "SYMBOL"
## [16] "UNIGENE" "ENSEMBL" "ENSEMBLPROT" "ENSEMBLTRANS" "GENENAME"
## [21] "UNIPROT" "GO" "EVIDENCE" "ONTOLOGY" "GOALL"
## [26] "EVIDENCEALL" "ONTOLOGYALL" "OMIM" "UCSCKG"
keytypes(org.Hs.eg.db)
## [1] "ENTREZID" "PFAM" "IPI" "PROSITE" "ACCNUM"
## [6] "ALIAS" "ENZYME" "MAP" "PATH" "PMID"
## [11] "REFSEQ" "SYMBOL" "UNIGENE" "ENSEMBL" "ENSEMBLPROT"
## [16] "ENSEMBLTRANS" "GENENAME" "UNIPROT" "GO" "EVIDENCE"
## [21] "ONTOLOGY" "GOALL" "EVIDENCEALL" "ONTOLOGYALL" "OMIM"
## [26] "UCSCKG"
指定した遺伝子のアノテーションデータを取得してみる。遺伝子 ENSG00000004478 の Entrez Gene ID, GO, KEGG パスウェイの情報を取得する。上で見た keytypes
関数の実行結果に表示される文字列が、検索条件の指定に用いる項目である。
res <- select(org.Hs.eg.db,
keys = "ENSG00000004660",
keytype = "ENSEMBL",
columns = c("ENSEMBL", "ENTREZID", "GO", "PATH"))
res
## ENSEMBL ENTREZID GO EVIDENCE ONTOLOGY PATH
## 1 ENSG00000004660 84254 GO:0004683 IEA MF 04920
## 2 ENSG00000004660 84254 GO:0005515 IPI MF 04920
## 3 ENSG00000004660 84254 GO:0005516 IEA MF 04920
## 4 ENSG00000004660 84254 GO:0005524 IEA MF 04920
## 5 ENSG00000004660 84254 GO:0005634 IEA CC 04920
## 6 ENSG00000004660 84254 GO:0005829 TAS CC 04920
## 7 ENSG00000004660 84254 GO:0006468 IEA BP 04920
## 8 ENSG00000004660 84254 GO:0007268 TAS BP 04920
keys
引数に遺伝子名からなるベクトルを渡すこともできる。
システム生物学レベルのアノテーション(GO.db)
Gene Ontology (GO) 関連のアノテーションとして GO.db が用意されている。GO term の番号と term や親子関係が保存されている。(詳細な使い方)
library(GO.db)
columns(GO.db)
## [1] "GOID" "TERM" "ONTOLOGY" "DEFINITION"
特定の GO term の番号について、その term とオントロジーを取得する例。
goid <- c("GO:0004683", "GO:0005524", "GO:0007268")
res <- select(GO.db,
keys = goid,
keytype = "GOID",
columns = c("GOID", "TERM", "ONTOLOGY"))
res
## GOID TERM ONTOLOGY
## 1 GO:0004683 calmodulin-dependent protein kinase activity MF
## 2 GO:0005524 ATP binding MF
## 3 GO:0007268 synaptic transmission BP
トランスクリプトームレベルのアノテーション(TxDb)
トランスクリプトームレベルのアノテーションは TxDb.Hsapiens.UCSC.hg38.knownGene のように「TxDb」から始めている。(詳細な使い方)
library(TxDb.Hsapiens.UCSC.hg38.knownGene)
columns(TxDb.Hsapiens.UCSC.hg38.knownGene)
## [1] "CDSID" "CDSNAME" "CDSCHROM" "CDSSTRAND" "CDSSTART"
## [6] "CDSEND" "EXONID" "EXONNAME" "EXONCHROM" "EXONSTRAND"
## [11] "EXONSTART" "EXONEND" "GENEID" "TXID" "EXONRANK"
## [16] "TXNAME" "TXTYPE" "TXCHROM" "TXSTRAND" "TXSTART"
## [21] "TXEND"
特定の遺伝子の情報を取得する例。
id <- select(org.Hs.eg.db,
keys = c("ENSG00000004660", "ENSG00000007314"),
keytype = "ENSEMBL",
columns = c("ENSEMBL", "ENTREZID"))
id
## ENSEMBL ENTREZID
## 1 ENSG00000004660 84254
## 2 ENSG00000007314 6329
res <- select(TxDb.Hsapiens.UCSC.hg38.knownGene,
keys = id[, 2],
keytype = "GENEID",
columns = c("GENEID", "TXSTART", "TXEND", "TXTYPE"))
res
## GENEID TXTYPE TXSTART TXEND
## 1 84254 <NA> 3860323 3890743
## 2 84254 <NA> 3860323 3893043
## 3 84254 <NA> 3865157 3893043
## 4 6329 <NA> 63938554 63972918
mat <- merge(id, res, by.x = 2, by.y = 1)
mat
## ENTREZID ENSEMBL TXTYPE TXSTART TXEND
## 1 6329 ENSG00000007314 <NA> 63938554 63972918
## 2 84254 ENSG00000004660 <NA> 3860323 3890743
## 3 84254 ENSG00000004660 <NA> 3860323 3893043
## 4 84254 ENSG00000004660 <NA> 3865157 3893043