十二 12

下载最新版GO,并且解析好

首先要明白,需要下载什么?

要下载四万多条GO记录的详细信息(http://purl.obolibrary.org/obo/go/go-basic.obo

要下载GO与GO之间的关系(http://archive.geneontology.org/latest-termdb/go_daily-termdb-tables.tar.gz

要下载GO与基因之间的对应关系!(物种)(ftp://ftp.ncbi.nlm.nih.gov/gene/DATA

去官网!

http://geneontology.org/page/download-ontology

image001

grep '\[Term\]' go-basic.obo |wc

43992   43992  307944

版本的区别!刚才我们下载的GO共有43992条,而以前的版本才38804条

image002

GO与GO之间的关系

image003

对应关系也在更新

> as.list(GOBPPARENTS['GO:0000042'])

$`GO:0000042`

is_a         is_a         is_a         is_a

"GO:0000301" "GO:0006605" "GO:0016482" "GO:0072600"

image004

library(org.Hs.eg.db)

library(GO.db)

> tmp=toTable(org.Hs.egGO) ##这个只包括基因与最直接的go的对应关系

> dim(tmp)

[1] 213101      4

> tmp2=toTable(org.Hs.egGO2ALLEGS) #这个是所有的基因与go的对应关系

> dim(tmp2)

[1] 2218968       4

基因与GO的对应关系也在更新

grep '^9606' gene2go |wc -l  ### ##这个只包括基因与最直接的go的对应关系

269063

 

 

ftp://ftp.informatics.jax.org/pub/reports/index.html#go

http://www.ebi.ac.uk/QuickGO

ftp://ftp.ncbi.nlm.nih.gov/gene/DATA

ftp://ftp.informatics.jax.org/pub/reports/index.html#go

 

 

25

用R画GO注释二级分类统计图

群里有朋友问这个图怎么画,我想了想,这肯定是ggplot完成的,非常简单,但是菜鸟们缺乏实践,可能会困惑,所以我模拟数据画了一个!

图片1

首先构造数据

dat=data.frame(name=LETTERS[1:21],
 number=abs(rnorm(21)*10),
 type=c(rep("BP",7),rep("CC",7),rep("MF",7))
)
# 请务必自己查看dat是一个什么数据,print出来即可
# 然后对这个数据画图,一行代码即可!!!
library(ggplot2)
ggplot(dat,aes(x=name,y=number,fill=type))+geom_bar(stat="identity")+coord_flip()

看起来是不是很像回事啦!细节我就懒得调控啦!

图片2

其实自己搜索即可!坐标轴和主题都是可以控制的

http://rstudio-pubs-static.s3.amazonaws.com/3364_d1a578f521174152b46b19d0c83cbe7e.html

http://docs.ggplot2.org/0.9.3.1/coord_flip.html

21

Bioconductor的DO.db包介绍

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"

19

转录组-GO和KEGG富集的R包clusterProfiler

PS: 请不要在问我关于这个包的任何问题,直接联系Y叔,我就两年前用过一次而已,再也没有用过。

Y叔的包更新太频繁了,这个教程已经作废,请不要再照抄了,可以去我们论坛看新的教程:http://www.biotrainee.com/thread-1084-1-1.html

一:下载安装该R包

clusterProfiler是业界很出名的YGC写的R包,非常通俗易懂,也很好用,可以直接根据cuffdiff等找差异的软件找出的差异基因entrez ID号直接做好富集的所有内容; Continue reading