R 语言代写绘制功能富集泡泡图

Wesley13
• 阅读 750

功能富集泡泡图

功能富集分析用来展示某一组基因(一般是单个样品上调或下调的基因)倾向参与哪些功能调控通路,对从整体理解变化了的基因的功能和潜在的调控意义具有指导作用,也是文章发表中一个有意义的美图。通常会用柱状图、泡泡图和热图进行展示。热图的画法之前已经介绍过,这次介绍下富集分析泡泡图,

其展示的信息是最为全面的,也是比较抓人眼球的。

做基因功能富集分析、KEGG富集分析、GSEA分析首选clusterProfilerhttp://mp.weixin.qq.com/s/9M3lprc3rL6XII3ffpDHAw,Y叔的良心之作,数据集更新及时,结果准确,自带语义分析合并相似条目、出图漂亮。

但有时出来的结果还需要进行一些筛选处理然后重新绘图,本文就介绍下如何根据clusterProfiler的输出结果绘制富集分析图。本文虽主推clusterProfiler, 但绘图方法适用于所有富集分析的输出结果。

一步绘制富集分析图

假设有这么一个富集分析结果矩阵 (文件名为GOenrichement.xls) 存储了EHBIO样品和Baodian样品中各自上调的基因富集的通路。

Deion 为GO通路的描述,也可以是KEGG通路。

GeneRatio 为对应通路差异基因占总差异基因的比例,本列可以用分数或小数表示,都可以处理。

qvalue 表示对应通路富集的显著性程度,可以是log处理过的,也可以是原始的。

Count 为对应通路差异基因数目。

Type 这个矩阵合并了EHBIO样品和Baodian样品中各自上调的基因富集的通路,用Type列做区分。如果只有一个样品可不要。

考虑到手机屏幕小能显示的字符有限,只保留了输出结果中用到的列,实际使用时,整个输出结果文件可以作为输入,不相关的列会忽略掉,不影响出图。

  1. Deion GeneRatio qvalue Count Type

  2. ERBB signaling pathway 7/320 0.001836081 7 EHBIO_up

  3. regulation of ERBB signaling pathway 5/320 0.003886659 5 EHBIO_up

  4. negative regulation of cell cycle G1/S phase transition 4/320 0.016153254 4 EHBIO_up

  5. Wnt signaling pathway 13/320 0.01680096 13 EHBIO_up

  6. cell-cell signaling by wnt 13/320 0.0171473 13 EHBIO_up

  7. negative regulation of cell cycle process 8/320 0.019453085 8 EHBIO_up

  8. extrinsic apoptotic signaling pathway 9/320 0.024164034 9 EHBIO_up

  9. positive regulation of extrinsic apoptotic signaling pathway 4/320 0.025708228 4 EHBIO_up

  10. cell cycle G1/S phase transition 7/320 0.035797856 7 EHBIO_up

  11. negative regulation of apoptotic signaling pathway 8/320 0.038684745 8 EHBIO_up

  12. regulation of Notch signaling pathway 4/320 0.041592045 4 EHBIO_up

  13. regulation of cell cycle G1/S phase transition 5/320 0.047407619 5 EHBIO_up

  14. negative regulation of BMP signaling pathway 3/320 0.049460847 3 EHBIO_up

  15. regulation of ERK1 and ERK2 cascade 14/342 0.000629602 14 Baodian_up

  16. positive regulation of cell adhesion 17/342 0.000827275 17 Baodian_up

  17. ERK1 and ERK2 cascade 14/342 0.001086508 14 Baodian_up

  18. regulation of cell growth 17/342 0.002228511 17 Baodian_up

  19. positive regulation of cytoskeleton organization 10/342 0.004406867 10 Baodian_up

  20. regulation of cell-cell adhesion 15/342 0.005075219 15 Baodian_up

  21. regulation of cytoskeleton organization 15/342 0.019685646 15 Baodian_up

  22. negative regulation of Notch signaling pathway 3/342 0.020578211 3 Baodian_up

  23. neuron apoptotic process 10/342 0.040284925 10 Baodian_up

绘图用到的脚本名字为sp_enrichmentPlot.sh, 首先看看它的使用方法和出图效果。

单样品分开绘制

示例矩阵中包含两个样品上调基因的富集通路,现在先取出一个样品绘制。

Linux命令不熟悉的去生信宝典文章集锦中查看Linux学习指南

  1. grep -v'Baodian_up'GOenrichement.xls >GOenrichement.ehbio.xls

# -f: 指定输入文件,格式如上面描述# -o: 指定横轴的变量,单个样品一般选择GeneRatio或样品名字# -T: 指定横轴变量的类似,是字符串还是数值# -v: 指定Y轴显示的内容,一般为富集条目的描述# -c: 指定用哪一列设置颜色展示,一般为qvalue或p.adjust# -s: 指定用哪一列设置点的大小,一般为Count# -l: 指定某一列进行对数操作,一般选qvalue列;如果已做过对数操作,则忽略# -a: 设置图片输出高度# -x, -y: 设置横轴和纵轴标题,注意多个单词需要引号括起来

  1. sp_enrichmentPlot.sh -f GOenrichement.ehbio.xls -o GeneRatio -T numeric -v Deion -c qvalue -s Count -l qvalue -a 12 -x"GeneRatio"-y"GO deion"

R 语言代写绘制功能富集泡泡图

如果不想展示GeneRatio也可以。

# -o: 指定横轴的变量,单个样品一般选择GeneRatio或样品名字# -T: 如果是样品名字,指定为字符串

  1. sp_enrichmentPlot.sh -f GOenrichement.ehbio.xls -o Type -T string -v Deion -c qvalue -s Count -l qvalue -a 12 -x"Sample"-y"GO deion"

R 语言代写绘制功能富集泡泡图

多样品合并绘制

# 多出来的参数是-S用来指定样品分组,不同类型的基因的富集分析用不同的形状表示

  1. sp_enrichmentPlot.sh -f GOenrichement.xls -o GeneRatio -T numeric -v Deion -c qvalue -s Count -l qvalue -a 12 -x"GeneRatio"-y"GO deion"-S Type

R 语言代写绘制功能富集泡泡图

通过这张图解释下,富集分析的结果怎么解读。富集分析实际是查找哪些通路里面包含的差异基因占总差异基因的比例显著高于通路中总基因占所有已经注释的基因的比例。这一显著性通常用多重假设检验矫正过的pvalue(又称qvalue, FDR或p.adjust)来表示。在图中体现为点的颜色。从绿到红富集显著性逐渐增高。点的大小表示对应通路中包含的差异基因的数目。点的形状代表了不同类型的基因,如EHBIO中上调的基因和Baodian中上调的基因。横轴表示对应通路包含的差异基因占总的差异基因的比例, 本图中最高不过5%, 这个值越大说明通路被影响的越多。

如果不想展示GeneRatio也可以。

  1. # 跟单个样品不显示GeneRatio的命令一样,不同的样品分列展示。sp_enrichmentPlot.sh -f GOenrichement.xls -o GeneRatio -T numeric -v Deion -c qvalue -s Count -l qvalue -a 12 -x"GeneRatio"-y"GO deion"-S Type

R 语言代写绘制功能富集泡泡图

如果您有任何疑问,请在下面发表评论。 

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服

R 语言代写绘制功能富集泡泡图 QQ:3025393450

​QQ交流群:186388004 R 语言代写绘制功能富集泡泡图

【服务场景】

科研项目; 公司项目外包;线上线下一对一培训;数据爬虫采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询

R 语言代写绘制功能富集泡泡图

欢迎关注微信公众号,了解更多数据干货资讯!

R 语言代写绘制功能富集泡泡图

欢迎选修我们的R语言数据分析挖掘必知必会课程!

R 语言代写绘制功能富集泡泡图

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
科林-Colin 科林-Colin
3年前
GO富集分析
  GO的主要用途之一是对基因组进行富集分析。例如,给定一组在特定条件下上调的基因,富集分析将使用该基因组的注释发现哪些GO术语被过度表示(或未充分表示)。  富集分析工具                用户可以直接从GOC网站的主页进行浓
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这