一直很好奇GO注释文件中的信息是如何得到的,终于在《The Gene Ontology Handbook》中找到了答案。
为常德等地区用户提供了全套网页设计制作服务,及常德网站建设行业解决方案。主营业务为成都网站建设、成都网站设计、常德网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
GO的原始文件可以分为两部分:ontology和association files。
该文件以obo格式储存,每个词条都以树状结构表示着和其他词条的关系,具体内容可以从 GO网站 中找到,其中的元素和逻辑关系可以简单参考上几篇文章。主要编辑工具有go-basic、go和go-plus三个。
这部分文件主要是关于GO词条的具体功能信息,以及相关的支撑信息,以GAF或GPAD格式储存。
目前对基因的注释主要有两种手段:人工注释和机器注释。
人工注释由专业人士(biocurators)通过阅读,提取和转化文献中的实验结果来对基因进行注释。人工注释费时费力,但他们的努力非常重要,因为人工注释的准确性是其他注释的基石,目前有20个团队为GO的人工注释贡献力量。
机器注释主要两大类方法:根据序列进行注释和文本挖掘的方法注释。
1、根据序列信息进行注释:
annotation transfers from Homologous proteins
annotation transfers from Orthologous proteins
annotation transfers from Protein families
2、文本挖掘注释
Automatic text categorization
Lexical approaches
k-Nearest neighbors
Properties of Lexical and k-NN categorizers
Inter-annotator agreement
每种方法的具体解释参考《The Gene Ontology Handbook》的相关章节。
Ontology 首先是出现于哲学领域的一个词汇,后来广泛用于计算机领域,发挥了很重要的作用,再后来这个概念被引入生物领域。
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 的图形是一个有向无环图
ID转换用到的是 bitr() 函数,bitr()的使用方法:
org.Hs.eg.db包含有多种gene_name的类型
keytypes() :keytypes(x),查看注释包中可以使用的类型
columns() :类似于keytypes(),针对org.Hs.eg.db两个函数返回值一致
select() :select(x, keys, columns, keytype, ...) eg.
函数enrichGO()进行GO富集分析,enrichGO()的使用方法:
举例:
大致是解释这个基因的功能的。如它所生成的蛋白质的功能,参与了那些代谢调节等方面的解释。
参考
在输出的文件里面可以搜索:
可以看到,有趣的是 ERBB1家族的 ERBB1的正式名字就是大名鼎鼎的EGFR, 而 大名鼎鼎的HER-2 正式名字却是ERBB2
都是 SWI/SNF Related, Matrix Associated, Actin Dependent Regulator Of Chromatin,我是在genecard里面 检查 SMARC发现的
但是大部分文章里面却总是使用它们的别名。
对基因的描述一般从三个层面进行:
这三个层面具体是指:
得到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
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款