AnnotationDbi主要是設計用來對應資料庫的不同物件,讓各式資料庫在R有一個統一的使用指令,也就是一個標準的package資料庫介面用來開發各種SQLite-base annotaion database。所有的“.db”結尾的library其實就是使用AnnotationDbi來,而從資料庫的命名就可以知道此資料庫是使用哪一類的資料(OrgDb,ChipDb,TxDb,hgu133plus..)。
其中,AnnotationDbi內部有提供一系列開發者比較詳細的方法和資料庫的scheme使用方式,方便用來處理不同生物體或是資料。
每個以annotationdbi為資料框架的package中,會將annotation對應的資料以AnnDbBimap物件的方式將各種對應關係存放起來,而每個AnnDbiBimap物件有點類似environment物件,所以可以用ls,[[,mget,get這些函數。
#可以檢視reactome.db package中,有多少個獨立放置對應關係的AnnDbBimap物件 ls("package:reactome.db")
#看此物件中的資料之欄位名稱 columns(reactome.db)

#顯示reactome.db中可以用來抓取資料的key種類 keytypes(reactome.db)
#直接讀取特定key種類的值 keys(reactome.db,keytypes="ENTREZID")
#最後使用keys來query此annotation database AnnotationDbi::select(reactome.db, keys = c("2547"), columns = c("PATHID","PATHNAME"), keytypes="ENTREZID")
這些基本指令是有依賴annotationdbi所開發annotation package會具有的共通性指令,可以趁機去看裡面有什麼自己有興趣的資料!
閱讀參考:
How to use bimaps from the “.db’ annotation package
AnnotationDbi: Introduction To Bioconductor Annotation Packages