Bioconductor的包都是同样的安装方法:
source("http://bioconductor.org/biocLite.R");biocLite("DO.db")
还有GO.bd包是完全一模一样的规则!!!
加载这个包可以发现它依赖于好几个其它的包,这也是我比较喜欢R的原因,它会自动把它需要的包全部安装加载进来,不需要自己一个个调试!
> library(DO.db)
载入需要的程辑包:AnnotationDbi
载入需要的程辑包:stats4
载入需要的程辑包:GenomeInfoDb
载入需要的程辑包:S4Vectors
载入需要的程辑包:IRanges
载入需要的程辑包:DBI
> help(DO.db)
> ls("package:DO.db")
[1] "DO" "DO_dbconn" "DO_dbfile" "DO_dbInfo" "DO_dbschema" "DOANCESTOR" "DOCHILDREN" "DOID" "DOMAPCOUNTS"
[10] "DOOBSOLETE" "DOOFFSPRING" "DOPARENTS" "DOSYNONYM" "DOTERM" "DOTerms" "Secondary" "show" "Synonym"
[19] "Term"
这个包里面有19个数据对象!都是比较高级的S4对象。
比如我们可以拿DOTERM[1:10]这个小的数据对象来做例子!example=DOTERM[1:10]
因为example是一个高级对象,所以无法直接查看,需要用as.list方法来查看
> as.list(example)
$`DOID:0001816`DOID: DOID:0001816Term: angiosarcomaSynonym: DOID:267Synonym: DOID:4508Synonym: "hemangiosarcoma" EXACT []Secondary: DOID:267Secondary: DOID:4508
~~~~~~~~~~~~共十个DO条目
对每一个DO条目来说都有DOID,Term,Synony这些函数可以取对应的值。
下面是对DO的有向无环图的数据解读
xx <- as.list(DOANCESTOR)可以查看每个DO与它所对应的上级条目DO,每个DO都会有不止一个的上级DO。
xx <- as.list(DOPARENTS)可以查看每个DO与它所对应的父条目DO,每个DO都有且只有一个父DO。
xx <- as.list(DOOFFSPRING)可以查看每个DO与它所对应的下级DO的关系列表,大多数DO都不止一个子条目DO,所有的下级DO都会列出。
xx <- as.list(DOCHILDREN)以查看每个DO与它所对应的子条目DO的关系列表,大多数DO都不止一个子条目DO。
还有Lkeys(DOTERM)可以查看数据库里面的所有的DO条目的ID号
> head(keys(DOTERM))
[1] "DOID:0000000" "DOID:0001816" "DOID:0002116" "DOID:0014667" "DOID:0050004" "DOID:0050012"
dbmeta(GO_dbconn(), "GOSOURCEDATE")
可以查看这个DO库的制备时间
> dbmeta(DO_dbconn(), "DOSOURCEDATE")
[1] "20140417"