我想这将是一个非常有用的功能。

对于一个基因表达热图,如果对热图中的行进行了切分,那么这个新的anno_GO_keywords()函数会自动对每个row cluster中的基因进行基因集合富集分析(Gene set enrichment analysis/over-representation analysis),然后提取显著的GO条目,提取其关键词,通过词云的方式依附到每个row cluster上。我想这对于想全面的展示每个row cluster所对应的生物功能会变得十分方便。

注意,这个新的anno_GO_keywords()函数只是多多少少展示了我的这个想法,并没有进行十分良好的设计。但是这个函数已经能够在大多数情况下使用。而且它能够自动识别很多基因ID类型(你无需进行基因ID转换),你也可以自己选择进行基因富集分析的包和函数。

例子代码如下:

sig_mat是一个基因表达矩阵,我先对其进行z-score transformation。我已经知道所有的基因可以很好的被分为三类,所以这里我直接使用kmeans聚类。

expr = t(scale(t(sig_mat)))
km = kmeans(expr, centers = 3)$cluster

anno_GO_keywords()的定义在https://github.com/jokergoo/KeywordsEnrichment可以找到。这个函数是一个annotation函数,可以直接放在rowAnnotation()中使用:

source("https://raw.githubusercontent.com/jokergoo/KeywordsEnrichment/master/anno.R")
Heatmap(expr, row_split = km, show_row_names = FALSE, show_row_dend = FALSE, show_column_names = FALSE) +
rowAnnotation(keywords = anno_GO_keywords(split = km, genes = rownames(expr), max_words = 30)
)

长远的计划是,这个函数和很多其他相关的功能会被集成一个新的R包中。另一个好消息(对我来说)是simplifyEnrichment文章今天刚被接收。所以,如果你觉得上面的这个功能有用,你可以暂时引用simplifyEnrichment的论文(当然了,不强制)。

往期精品(点击图片直达文字对应教程)

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

直接添加GO词云到基因表达热图上相关推荐

  1. 这个热图上面的树是根据系统发育关系画的吗?

    今天培训群里有人问了这么一个问题:这个热图上面的树是根据系统发育关系画的吗? 这个问题不只问过一次,类似的问题也有一些,拿到一个图不知道各部分是怎么来的.看到树就以为是进化树,看到点就是差异基因,看到 ...

  2. python制作热图folium_Python Folium包可以在热图上绘制标记吗?

    我已经在地图上添加了一个热图,它可以正常工作. 使用另一个数据集,我希望能够在热图上绘制标记. 有可能这样做吗?我读过一些关于图层的文章,但我不确定我会怎么做.在 目前我的代码:df = pd.rea ...

  3. 基因表达热图聚类并增加行列注释

    聚个类,可能模式更清晰一些.聚类参数有很多,如下图:按行聚类.按列聚类.行列聚类,聚类方法是什么,距离矩阵算法选哪个,我们提供了21种聚类算法,有通用的,有特异用于菌群数据的. 在我们打开聚类之前,这 ...

  4. r语言上机文本分析与词云绘制_倚天屠龙记的文本分析

    <倚天屠龙记>作为金庸先生的经典作品,在无数人心目中留下了深刻的印象,基本上隔一段时间这部经典作品就会被重新拍成电影或者电视剧,可见观众的喜爱程度.虽然本人没有完完全全拜读过先生的这部作品 ...

  5. 用python实现中文词云完整流程(wordcloud、jieba)

    我们将用python3的第三方库wordcloud来做中文词云.通过对2月3日-2月5日国家卫健委的三天记者会实录做词云分析,一定程度上,我们可以得到三天内舆情动向及官方侧重点的变化. # 第三方库 ...

  6. 【文本挖掘】——词频统计、词云绘制与美化+[微微一笑很倾城]实战

    词频统计.词云+实战 一.词频统计: 1.基本概念及原理 2.词频统计方法 二.词云 1.词云绘制工具: 2.python词云绘制--Wordcloud 三.基于分词频数绘制词云 1.利用词频绘制词云 ...

  7. python学习笔记---中文词云

    python学习笔记–中文词云 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 发现词云的展示还挺有意思的,比较多的应用场景是给用户打标签,社交软件应用较多.今天随便找了一些文字电影 ...

  8. 文本分析4-词频统计与词云展示

    笔记来自课程:玩转文本挖掘(51ct0学院),总结整理为个人学习.复习使用,供参考. 对小说第一章进行分词 首先重复之前的操作,读文本数据–章节标识–选取第一章–分词 读取并选取第一章 import ...

  9. python爬虫:词云分析最热门电影《后来的我们》

    跟闺蜜周末去看了电影<后来的我们>,被感动的一塌糊涂,回来后心血来潮,写了这么个词云分析工具~ 1 模块库使用说明 1.1 requests库 requests 是用Python语言编写, ...

最新文章

  1. excel相乘再相加_excel将两组数据相乘后再求和该怎么操作?
  2. struct和typedef struct的区别(转)
  3. ListString 和 ArrayListString的区别
  4. webpack打包后的文件夹是空的_vue+webpack 打包文件 404 页面空白的解决方法
  5. Java中的Map、Set、List各种方式遍历
  6. collections模块的Counter类
  7. 【Level 08】U06 Good Feeling L4 The surprising event
  8. python读取dicom序列_python读取dicom图像(SimpleITK和dicom包实现)
  9. 在Linux(Ubuntu)下编写编译C语言
  10. php libpng 不兼容,Python matplotlib和libpng不兼容issu
  11. GoF 的 23 种设计模式的分类和功能
  12. 如何把qsv视频格式转换成mp4视频格式
  13. 最有效地戒掉晚睡强迫症(熬夜强迫症、假象失眠症等等)
  14. VR系列——Oculus Audio sdk文档:一、虚拟现实音频技术简介(5)——环境建模
  15. r语言做绘制精美pcoa图_科学网—R语言 PCA PCoA ggplot2 - 靳泽星的博文
  16. Ubuntu安装过程中出现“没有定义根文件系统”,Ubuntu安装过程中无法读取Windows分区
  17. 淘宝sku API 接口(PHP示例)
  18. 氢os android8,一加8T或预装氢OS11系统,基于Android 11定制
  19. 什么是失信人?被执行人对子女带来的影响有哪些?
  20. 【Arduino】APDS9960S手势模块控制馨品窗帘电机并在5110屏中显示指令

热门文章

  1. vmware虚拟机删除光驱启动报错解决办法
  2. 一个Word中的样式导入另一个Word
  3. ai的智能发展不会超越人类_人工智能:超越炒作
  4. 在线android机型测试,免费兼容测试/MonkeyTest/100款安卓机型真机测试
  5. AI论文下载-AAAI ACCV AISTATS COLT CVPR ECCV ICCV ICLR ICML IJCAI JMLR NeurIPS WACV等
  6. 小D的一串数字 (数位DP做法)
  7. geopandas和shapely使用(使用pyproj进行坐标转换)
  8. 手机怎么压缩图片?分享一下压缩的好方法
  9. 关于中文字体的设置说明(font:12px/1.5 tahoma,arial,\5b8b\4f53)
  10. 学习光线追踪(16)---折射计算[1]