Bingo(Cytoscape插件)GO功能富集分析

转录组分析中基因的GO富集分析这步有很多软件可以选择,这次我们来介绍下如何利用Cytoscape软件中的一个简单又好用的Bingo小插件完成富集的工作,Cytoscape其实是一个做网络图的软件,所以使用Bingo的这种方法特别之处就在于富集的结果是可以直接以网络图的形式呈现,类似于下图这种效果,区别于其他的软件大多只生成表的形式。


图片.png

操作步骤简单分为以下几步:

  1. Cytoscape下载及Bingo插件的安装
  2. Bingo内参数的设置
  3. 基因ID与GO注释的对应文件的准备
  4. 粘贴你的待富集的基因,Bingo~~~ 完事!

1. Cytoscape下载及安装Bingo

官网:https://cytoscape.org/,现在已经更新到3.8版本了,直接点击Download下载安装即可,过程就不再多介绍,没太大难度。

图片.png

打开Cytoscape软件,点击选项栏“Apps”-“AppManager”,搜索“BinGO”,点击“Install”,就可以下载了。安装的过程可能会稍微有一点慢,请耐心等待一下。


图片.png

2.参数设置

OK,安装成功后你再点击Apps下拉框里会看到这个插件吗,我们打开它看下都有哪些参数吧,其实大部分的参数都默认即可,比如significance level 默认0.05,multiple testing correction也默认BH方法,Select ontology file选择你想注释GO数据库的哪个部分,(BP生物进程,MF分子功能,CC细胞成分,或者是All三者一起)。

图片.png

图片.png

3. 基因ID与GO注释对应文件的准备

模式物种

在Bingo参数页面中有个最核心的一个参数是Select organism annotation,我们看一下里面内置了有几十种的模式物种,比如拟南芥,牛等等。


图片.png

对于这种模式物种的操作就十分方便了,不需要准备文件,直接拿你待富集的基因ID粘贴进去即可。这里我用牛的10个基因举例。Bt.12550,Bt.56181
,Bt.2091,Bt.53864,Bt.9027,Bt.12177,Bt.23666,Bt.12327,Bt.49329,Bt.49986,我们粘贴进去,物种选择牛的拉丁文Bos taurus。

注意:这里的基因ID类型是UNIGENE ID,如果你是其它的ID类型(常见的一般是ENSEMBL ID类型),请提前转换,转换方式推荐Y叔的Clusterprofiler包中bitr函数轻松搞定。代码如下:

gene_id <- bitr(diff_gene$GeneID, fromType = "ENSEMBL", toType = c("ENTREZID", "SYMBOL",'GENENAME','UNIPROT','UNIGENE'), OrgDb = org.Bt.eg.db)
界面

点击Start BinGO,会生成网络图及GO富集分析表俩个结果,同时在你刚设定的位置也会保存相同的表格文件,我们来看下这俩个结果。

GO富集分析文件

我们打开表格主要是这7列的内容,解释下这几列:
GO ID :富集到的GO term
P value/corr p-value 一般参考 corr p-value
x:目标基因中此类基因的个数;
X:目标基因的总个数;
n:基因组中此类基因的个数;
N:基因组基因的总个数
Description: 该GO term的功能描述


图片.png

富集层级网络图

富集到的GO term按照层级关系列出网络,并按照富集程度(根据p值的大小)上色。


图片.png

非模式物种

如果想要用BinGO来分析一些非模式物种,需要手工(编程)生成注释文件,文件的输入形式要如下图这样,左边为基因ID,右边为对应的GO ID,中间为“空格+等号+空格”进行分隔,另外GO ID只列出对应的7位数字


图片.png

另外注意我们一般的注释文件往往是下图这样的,所以我们需要通过一些方式将数据转换,这里提供俩种方法以供参考:


图片.png

perl语言

cat gene.txt|grep GO|perl -ne 'chomp;@ar=split(/\t/,$_);@ele=split(/\|/,$ar[1]);for($i=0;$i<=$#ele;$i++){print "$ar[0] = $ele[$i]\n"}' 

python语言

import re
import sys

final = open(sys.argv[2],'w')
dict = {}
with open(sys.argv[1]) as p: 
    for line in p:
        line = line.strip().split('\t')
        gene = line[0]
        dict[gene] = line[1]
    for key,value in dict.items():  
        pattern = re.compile(r'GO:\d{7}')          
        result = pattern.findall(value)
        for i in result:
           print(f'{key} = {i[3:]}',file= final)
final.close()

最后

得到这个文件之后,步骤就和上述的模式生物的操作一样了,注意参数中的Select organism/annotation 要选择最下面的custom自定义文件,把这个文件选上,然后粘贴你的基因ID就可以富集了!另外点击Layout 可以选择多种网络图的排版方式 ,也可直接拖动这些气泡进行移动, 让你的图表达的内容更加直观明了。有时候Bingo富集时候会遇到没有反应得到一个空文件,可以重启下软件再试一次。

图片.png

以上便是利用Cytoscape的BINGO插件进行GO分析的全部流程,大家可以按照上面的步骤实操一下,使用中有问题可以回复我。另外欢迎大家搜索关注BioparaMeta公众号一起交流 学习~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343