基因芯片(Affymetrix)分析4:GO和KEGG分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基因芯片(Affymetrix)分析4:GO和KEGG分析
基因列表的分析一般都会涉及GO和KEGG分析,Bioconductor 提供了很多这方面的R工具包。
选择工作目录,读入上一次分析和保存的数据:
1 获取AGI、GO和KEGG注释
ath1121501GO为拟南芥基因的GO数据库,ath1121501PATH 为KEGG pathway数据库。
但不是每一个基因(probeset)都有GO 或KEGG注释,哪些基因有注释可以用mappedkeys函数获得:
有PATH注释的probesets只有3018个,而有GO注释的有2万多个。
通过ath1121501XXXX获得的数据是AnnotationDbi软件包定义的ProbeAnnDbBimap类型数据,它们可以用as.list转成列表形式。
列表内每一个基因的注释内容也是列表形式:
转换成列表类型的ProbeAnnDbBimap数据仍然是列表,但PATH和ACCNUM数据是二级列表(列表下只有一级列表),而GO 数据是三级列表(列表下还有两级的列表)。
所以得先编写get.GO函数,它把as.list产生的GO三级列表转成二级结构,和AGI和KEGG 的列表类似,方便后面的统一处理:
使用这个函数和下列代码就可以获得AGI、GO和KEGG注释:
上面代码有两点要注意:
•switch()函数使用。
switch()是非常神奇的条件转向开关函数,它的参数(列表)可以是各种类型,变量、表达式、函数等都可以使用。
•列表到数据框类型数据的转换,我们使用了plyr软件包的llply 和ldply函数。
plyr是很著名的软件包,用于数据糅合。
这不属于本节的讨论范围,先不介绍,请自行学习使用。
由于探针id是唯一的,上面的代码用它作为关键字糅合数据。
得到的结果是数据框:
这样每一个探针都得到了对应的AGI、GO和KEGG途径注释(如果有)。
其他类型数据如Pubmed ID可以使用类似方法获得,但编程之前得先了解它们的数据结构,最直接的方法就是使用head,summary和str等函数查看。
得到的结果用write.csv或其他存盘函数保存。
2 GO和KEGG富集分析
Bioconductor中有不少软件包可以进行GO和KEGG统计分析和作图,如GOstats和KEGGgraph,但我不建议使用它们。
对于这类分析,我推荐使用另外一个不是R软件包的网络分析软件:Cytoscape。
它是免费的开源软件,由多所大学和几个公司联合开发和维护,已经逐渐成为网络分析的标准工具,软件网址为:R软件包RCytoscape可以把R的分析结果推送到Cytoscape,充分利用R的统计功能和Cytoscape的可视化能力。
但是RCytoscape不一定能跟上Cytoscape的软件更新步伐,所以最好还是把R分析的结果保存成文件,再用Cytoscape直接分析。
事实上,如果使用Cytoscape进行GO和KEGG富集或网络分析,我们只需要获得AGI列表,而不需要获得GO和KEGG注释。
3 Session Info
--------------------- 本文来自金子哦的CSDN 博客,全文地址请点击:https:///u014801157/article/details/24372393?ut m_source=copy。