首页 > 其他分享 >直接添加GO词云到基因表达热图上

直接添加GO词云到基因表达热图上

时间:2024-08-01 15:28:55浏览次数:9  
标签:函数 基因 anno 词云到 keywords GO 热图 row

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

对于一个基因表达热图,如果对热图中的行进行了切分,那么这个新的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的论文(当然了,不强制)。

标签:函数,基因,anno,词云到,keywords,GO,热图,row
From: https://blog.csdn.net/qazplm12_3/article/details/140823858

相关文章

  • MongoDB性能调优
    文章目录MongoDB性能调优MongoDB性能不佳原因影响MongoDB性能的因素MongoDB性能监控工具mongostatmongotopProfiler模块db.currentOp()MongoDB性能调优MongoDB性能不佳原因慢查询阻塞等待硬件资源不足1,2通常是因为模型/索引设计不佳导致的排查思路:按1-2-3依次......
  • MongoDB两地三中心集群架构设计、全球多写集群架构设计
    文章目录高级集群架构设计两地三中心集群架构设计容灾级别两地三中心方案:复制集跨中心部署两地三中心部署的考量点两地三中心复制集搭建环境准备整体架构配置域名解析启动5个MongoDB实例初始化复制集配置选举优先级启动持续写脚本(每2秒写一条记录)测试结果总结全球多......
  • MongoDB复制集/集群搭建详解
    文章目录复制集介绍三节点复制集模式Pss模式PSA模式典型三节点复制集环境搭建注意事项搭建配置复制集复制集状态查询复制集常用命令安全认证创建用户创建keyFile文件启动mongod复制集连接方式复制集成员角色属性成员角色配置隐藏节点配置延时节点添加投票节点移除复制......
  • 基于Django的超市小程序+47822(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小
    基于django超市小程序摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,超市小程序被用户普遍使用,为方便用户能够可以随时进行超市小程序的数据信息管理,特开发了基于djan......
  • 【优秀python django系统案例】基于python的医院挂号管理系统,角色包括医生、患者、管
    随着信息技术的迅猛发展,传统的医院挂号管理方式面临着效率低下、排队时间长、信息不对称等诸多问题。这些问题不仅影响患者的就医体验,也加重了医院工作人员的负担。在此背景下,基于Python的医院挂号管理系统应运而生。该系统旨在通过信息化手段优化挂号流程,提高管理效率,提升医疗......
  • golang etcd容器构建与客户端操作踩坑实操
    目录1.问题说明2.etcd容器构建3.goalngetcd客户端实现1.问题说明在用go-zero实现相关服务时一直报错,从报错信息看应该是etcd的容器有问题,应该是之前的构建哪里出错了,所以重新构建etcd容器应用。记录下主要的踩坑情况:1.连接etcd容器没有问题,但是写入数据时一直报......
  • 立创EDA专业版原理图纸LOGO更改
    立创EDA专业版原理图纸LOGO更改概述:刚开始使用立创EDA的时候,查找过如何去修改原理图的LOGO,但时间一长就忘记了,导致今天需要更新的时候,又重头再来,浪费了很多时间。于是在重新找到方法之后,特此记录。以下为创建原理图模板并修改LOGO的步骤:步骤1:新建元件库(若之前没有)此处的......
  • 在生产中使用 Djoser 和 Django 发送电子邮件时出现“504 网关超时”
    当我使用Djoser进行用户注册和登录管理时,我在Django生产环境中遇到问题。当用户请求创建帐户时,API需要大约一分钟的时间,然后返回504GatewayTime-out错误。在我的本地环境中,该过程正常工作,并且发送激活电子邮件没有任何问题。我尝试过的:增加......
  • Google Translate API 客户端没有“Translate_image”属性
    importosfromgoogle.cloudimporttranslate_v3beta1astranslatedefupload_and_translate(input_dir,output_dir,target_language):"""Uploadsallimagesinadirectory,translatesthemusingGoogleTranslate,anddownloadsthetrans......
  • Django模板、模版语言和静态文件
    1.templates模板(html)在app目录下创建一个templates目录,用于存放网页模板利用url返回网页点击查看代码defuser_list(request):returnrender(request,"user_list.html");输入url地址时,会去app目录下的templates目录下寻找名为user_list的HTML文件(根据app注册顺......