首页 > 其他分享 >热图怎么提取图中聚类后的行基因名称

热图怎么提取图中聚类后的行基因名称

时间:2022-10-21 15:55:05浏览次数:69  
标签:10 letters mat 基因 library 图中 聚类 热图


我们在画热图的时候,行基因的顺序怎么轻松拿到呢? 如果基因数量少可以直接看出来,但是如果有几百个,还用眼睛看,眼睛估计会看瞎,有没有更方便的方法获取?
在谷歌上寻求方法:
https://github.com/jokergoo/ComplexHeatmap/issues/136
这个帖子里给出了答案。

library(ComplexHeatmap)
library(circlize)
set.seed(123)  ## 随机种子设置好

mat = matrix(rnorm(80, 2), 8, 10)
mat = rbind(mat, matrix(rnorm(40, -2), 4, 10))
rownames(mat) = letters[1:12]
colnames(mat) = letters[1:10]
HM <- Heatmap(mat, km=3)  #Make a heatmap, and have 3 clusters
HM <- draw(HM)  #Show the heatmap

# r.dend <- row_dend(HM)  #Extract row dendrogram   ## 不知道是干嘛的
rcl.list <- row_order(HM) 

clu_df <- lapply(names(rcl.list), function(i){
out <- data.frame(GeneID = rownames(mat[rcl.list[[i]],]),
                     Cluster = paste0("cluster", i),
                     stringsAsFactors = FALSE)
return(out)
})

## 现在就可以拿到按照热图里行的聚类排序的信息了
do.call(rbind, clu_df)
## 和图中是一一对应的
# GeneID  Cluster
# 1       j cluster1
# 2       i cluster1
# 3       k cluster1
# 4       l cluster1
# 5       a cluster2
# 6       h cluster2
# 7       c cluster3
# 8       f cluster3
# 9       d cluster3
# 10      e cluster3
# 11      b cluster3
# 12      g cluster3

## 对于列就更简单了:
col.list <- column_order(HM) 
colnames(mat[,col.list])
# "e" "b" "g" "f" "j" "a" "i" "h" "d" "c"

标签:10,letters,mat,基因,library,图中,聚类,热图
From: https://www.cnblogs.com/yuanytsb/p/16813742.html

相关文章

  • [答疑]类图中怎么表示关联关系的中间表对应的类
    类图中怎么表示关联关系的中间表对应的类chris2018-07-27:请问类图中怎么表示关联关系的中间表对应的类?潘加宇:不需要"中间表""中间类"的概念,如果需要关注某个领域概念的细......
  • 数据库新增表后,EF通过数据库更新模型后,在视图中已经新表,但在Model 中没有出现Mode实体
    新建表t_PtoductMini, 执行Scaffold-DbContext"DataSource=.;InitialCatalog=XXX;IntegratedSecurity=True"Microsoft.EntityFrameworkCore.SqlServer-OutputDirM......
  • 爱数科案例 | 汽车款式聚类
    爱数科平台是一款数据科学科研和教学一体化平台,集成数十行业数千数据集、科研案例模板。帮助科研人员快速使用大数据和人工智能技术开展研究。支持高校开展大数据通识课程教......
  • #yyds干货盘点# LeetCode 热题 HOT 100:柱状图中最大的矩形
    题目:给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1:输入:heights=[2,1,5,6,2,......
  • DBSCAN具有噪声的基于密度的聚类方法
     简介聚类:将原始数据分类(数据集->聚类算法->数据分组)目的:希望将数据根据特征的密度找相似性,分为指定或者若干数据组使用场景:简单的如将同颜色的球分类,或......
  • 辐射图中的仰角和方位角-Elevation and Azimuth in Radiation Patterns
    前言在辐射图中有时候会用到两个方位术语:仰角(Elevation)和方位角(Azimuth),这里介绍下什么意思。方位角(Azimuth)指的是罗盘方位,假设有一个圆形的空间。那么在XY平面上,就可......
  • 蚁群聚类算法
    1.问题描述:2.部分程序:clc;clf;clear;%X=测试样本矩阵;X1=load('data.txt');X=X1(:,1:2);[N,n]=size(X);%N=测试样本数;n=测试样本的属性数;K=4;......
  • 模糊聚类的matlab仿真
    1.问题描述: 模糊聚类分析是一种采用​​模糊数学​​​语言对事物按一定的要求进行描述和分类的数学方法。 [1]  模糊聚类分析一般是指根据研究对象本身的属性来构造​......
  • echarts图中显示不全问题
    解决方案:页面重绘后在执行绘图的代码。vue里面可以把绘图代码放到this.$nextTick里面描述:首先我们想点击页面上的按钮,弹出一个框,占页面width:80%,height:70%,里面的echar......
  • leetcode84-柱状图中最大的矩形
    84.柱状图中最大的矩形 两个星期没写leetcode就连暴力解法都写不出了。暴力解法classSolution{public:intlargestRectangleArea(vector<int>&heights){......