GO(Gene Ontology)
Ontology 首先是出现于哲学领域的一个词汇,后来广泛用于计算机领域,发挥了很重要的作用,再后来这个概念被引入生物领域。
十余年的金台网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销的优势是能够根据用户设备显示端的尺寸不同,自动调整金台建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“金台网站设计”,“金台网站推广”以来,每个客户项目都认真落实执行。
gene Ontology 是生物中Ontology中一个重要应用。go项目最初是由研究三种模式生物(果蝇、小鼠和酵母)基因组的研究者共同发起。是生物信息分析中很重要的一个方法
go是在生物领域应用非常广,可以帮助生物学家对基因产物进行准确的定义(功能、位置),节省时间。
因为在最开始的时候,生物学家们更多是专注于自己研究的物种/课题,而且每个生物学家对功能等的定义是存在差异的,导致不同实验室/物种不能实现直接的对接(比如A物种内的x基因的功能使用的是a这个词汇进行注释,而B物种内的x基因的功能却使用的是与a同义的词汇b进行注释,这种情况计算机无法识别),就像讲两种语言的人,无法直接进行语言交流。这种情况导致的问题是,出现了一种阻碍,让问题复杂化了。所以就有了Ontology在生物领域中的应用,实现“书同文”。
go定义了基因/基因产物的功能(通过术语)且定义了它们各自之间功能是怎样联系的(关系)。它组成了一个具有大量term的词汇库,并定义各种term之间的关系(is_a part_of R)。
GO通过三个方面的术语对基因/基因产物的功能进行描述:分子功能(molecular function) -由基因/基因产物行使的分子水平上的功能; 细胞组件(cellular component)-基因/基因产物产生功能时其在细胞结构上的位置;生物学过程(biological process)-在哪个生物学通路/生物过程发挥作用。
目前,GO 注释主要有两种方法:
(1)序列相似性比对(BLAST):例如blast2go(将blast结果转化为GO注释)
(2)结构域相似性比对(InterProScan)
blast2go的本地化教程:
在blast2go软件正确安装的情况下,使用blast2go进行go注释,出现无法得到注释结果的问题:
另外还有可能出错的原因是,blast2go无法识别blast高的版本号,当使用高版本的blast的时候,直接将版本号给修改为低版本的就行了,例如(BLASTX 2.2.25+)
GO 的图形是一个有向无环图
GO、KEGG富集分析(一)有参情况
对基因的描述一般从三个层面进行:
这三个层面具体是指:
得到GO注释
做GO分析的思路:
比如,在疾病研究的时候,进行药物治疗之后某些基因的表达量明显的发生了变化,拿这些基因去做GO分析发现在Biological process过程当中集中在RNA修饰上,然后在此基础上继续进行挖掘。这个例子就是想启示大家拿到差异表达基因DEG只是一个开始,接下来就应该去做GO注释,之后需要进行一个分析看这些注释主要集中在哪个地方。假如我们有100个差异表达基因其中有99个都集中在细胞核里,那我们通过GO分析就得到了一个显著的分布。
GO富集分析原理:
有一个term注释了100个差异表达基因参与了哪个过程,注释完之后(模式生物都有现成的注释包,不用我们自己注释),计算相对于背景它是否显著集中在某条通路、某一个细胞学定位、某一种生物学功能。
clusterProfiler是一个功能强大的R包,同时支持GO和KEGG的富集分析,而且可视化功能非常的优秀,本章主要介绍利用这个R包来进行Gene Ontology的富集分析。
进行GO分析时,需要考虑的一个基础因素就是基因的GO注释信息从何处获取。Bioconductor上提供了以下19个物种的Org类型的包,包含了这些物种的GO注释信息
对于以上19个物种,只需要安装对应的org包,clusterProfile就会自动从中获取GO注释信息,我们只需要差异基因的列表就可以了,使用起来非常方便。
1.1 准备输入数据
待分析的数据就是一串基因名称了,可以是ensembl id、entrze id或者symbol id等类型都可以。把基因名称以一列的形式排开,放在一个文本文件中(例如命名“gene.txt”)。Excel中查看,就是如下示例这种样式。
1.3 GO富集分析
加载了注释库之后,读取基因列表文件,并使用clusterProfiler的内部函数enrichGO()即可完成GO富集分析。
读取基因列表文件,并使用clusterProfiler的内部函数enrichKEGG()即可完成KEGG富集分析。
此外,clusterProfiler中也额外提供了一系列的可视化方案用于展示本次富集分析结果,具有极大的便利。
参考:
;utm_medium=timeline
新手R数据筛选错误求助,undefined columns selected
str(mygene)
‘data.frame': 150 obs. of 1 variable:
$ V1: Factor w/ 147 levels “Ahr”,”Ar”,”Arid3b”,..: 7 30 106 84 9 42 43 1 3 4 …
str(chip)
‘data.frame': 15788 obs. of 5 variables:
$ gene: Factor w/ 15788 levels “0610005C13Rik”,..: 1 2 3 4 5 6 7 8 9 10 …
$ A : Factor w/ 13714 levels “0.008388375”,..: 1285 2 12934 5785 5336 2 3701 10610 8905 6203 …
$ B : Factor w/ 13257 levels “0.01”,”0.011826753″,..: 2008 1025 12072 6394 5952 1 2825 10457 3127 6183 …
$ C: Factor w/ 13285 levels “0.009540572”,..: 2 2 12977 6344 6514 2 2924 9281 2753 6279 …
R | GO富集结果描述太长怎么办?
近期在使用 clusterProfiler 的GO/KEGG富集结果进行绘图时,注意到一些条目的描述过于长,需要增加图片的宽度才能看到中间bar/dot的信息。利用 DOSE 包中的数据进行如下展示
左侧注释信息太长导致中间bar的部分被压缩得难以比较,zoom虽然可以解决这个问题,但我还是希望有一个方法可以调整左侧字符,使得中间bar的部分在整张图内的占比更为合理。
因此,在网上搜索到的解决字符太长的方法如下:
可以使用 str_wrap() 函数调整每行字符的长度。
同样, dotplot 也可以作如上的调整
完。
当前名称:r语言go注释 r go字
分享链接:http://lswzjz.com/article/dooesoj.html