GO和KEGG富集分析是生物信息分析中常用的一种分析,针对不同的物种,大概整理了一下,我将其分成四类。
1. 人和小鼠等模式生物
最常用的就是clusterprofiler,特别是对于人类,这个基本就够用了。
2. 非模式生物但是研究比较多的物种
有一些研究比较多的物种,比如玉米也可以通过AnnotationHub以及biomRt包来进行富集分析。这里也能从其他的地方找到相关的博客,一般的流程就是通过上面的两个包来进行注释文件的下载,然后结合clusterprofiler来进行后面的富集分析。
3. 非模式生物但是研究热度一般的物种
这篇文章主要是来说一下针对这部分物种的富集分析,其实就是找一下这部分物种的GO和KEGG的注释结果。适用的物种是通过AnnotationHub以及biomRt包找不到的物种。比如我做的结核分枝杆菌的GO和KEGG就没有找到相关的注释。如果自己注释的话可能需要的计算资源比较多。所以通过两个数据库来提取GO和KEGG结果:
GO注释结果提取
GO注释结果主要来自uniprot数据库,可以从ftp站点中找到GO的注释文件,里面有个goa_uniprot_all.gaf
的文件。可以使用awk并按照关注的物种taxon id来提取相应的go注释信息。
KEGG注释结果提取
KEGG注释结果来自kobas,可以在线提交,但是之前碰到的情况是有时候网站因为更新或者是其他的原因访问不了,这个就有点难受了,所以还是把后面的数据给下载到本地,作为背景数据。
首先里面有个species_abbr.txt文件, 这个文件主要是物种的缩写,要根据这个缩写文件找到对应物种的缩写。然后在sqlite3目录下找到对应的物种注释结果,此外还需要把ko.db这个文件也下载下来。下载下来的文件属sqlite3的文件,linux下可以安装sqlite3然后使用一些简单的sql语句将其中提取出来,windows下的话,也可以装,不过使用DB Browser (SQLite)工具也是比较推荐的。
下载到了GO和KEGG注释结果,后面的富集分析就比较容易了,使用超几何检验的方法,这种博客也比较多了,就暂时不写了。
4. 非模式生物研究很少的物种
这个暂时就只能根据蛋白进行比对了。