微生信在线作图聚类热图计算-生信热图怎么看结果
R 聚类热图-数据的标准化

最近一直在学习转录组分析,在绘制差异表达基因热图的时候遇到了个坑?我发现的做出来的热图和别人不一样。如下图所示,图1是我的,图2是别人家的。
怎么解决呢?直接取对数吗?
如果对表达量去一下log10,发现10000变成了4,10变成了1,这样之前离散程度很大的数据就被集中了。
聚类分析中均一化是如何计算的?
表达矩阵每行数据的各个数值减去每行数据的均值,再除以每行数据的标准差。
详细的数据规范化(归一化)、及Z-score标准化可参考教程
关于R环境搭建可参考教程, 【R语言入门】R语言环境搭建 -
绘制热图
通过一些数学函数,将原始值进行映射。该方法包括log、指数、正切等。当变量是正偏态分布的时候,选用log对数。是否取对数可根据自己的需求。
ps:生信小白一枚。内容仅供参考,和谐交流 ,欢迎大佬指导,也欢迎大家一起学习。
【R画图】环形热图

热图(heatmap)在生信领域基本就是常规操作,基本技能,入门操作。能画热图的工具也有很多,我自己常用的R包是pheatmap。
最近经常看见环状的热图,所以就搜了一下资料学习一下,测试一下。
环状热图我也经常会在论文中看到,用法和热图相同,但更适合于需要展示较多基因(数据)时来使用。
===安装=====
("circlize")
("ComplexHeatmap")
library('ComplexHeatmap')
library('circlize')
===测试===
data<-("",header=T,=1)
head(data)
//转化为矩阵并对其进行归一化
madt<-(data)
madt2<-t(scale(t(madt)))
Heatmap(madt2) //这就是默认参数,普通的热图
range(madt2) //查看值的分布
mycol=colorRamp2(c(-1.7, 0.3, 2.3),c("blue", "white", "red")) //定义颜色范围
(madt2,col=mycol) //默认参数
注:
() //绘制完成后需要使用此函数完全清除布局
(=c(50)) //
调整圆环首尾间的距离,数值越大,距离越宽
(madt2,col=mycol, ="inside",="outside",="black",=0.9,=1,cluster=TRUE)
注::控制行聚类树的方向,inside为显示在圆环内圈,outside为显示在圆环外圈
#:控制矩阵行名的方向,与相同;但注意二者不能在同一侧,必须一内一外
#cluster=TRUE为对行聚类,cluster=FALSE则不显示聚类
下面是换了inside和outside的结果:
===聚类树的调整和美化(需要用到两个别的包)===
("dendextend") //改颜色
("dendsort") //聚类树回调
library(dendextend)
library(dendsort)
(=c(50))
(madt2,col=mycol,="inside",="outside",=0.38,="black",=0.9,=1,cluster=TRUE,=0.18,=function(dend,m,si){color_branches(dend,k=15,col=1:15)})
注::轨道的高度,数值越大圆环越粗 :调整行聚类树的高度 :用于聚类树的回调,当需要对聚类树进行重新排序,或者添加颜色时使用
包含的三个参数:dend:当前扇区的树状图;m:当前扇区对应的子矩阵;si:当前扇区的名称 color_branches():修改聚类树颜色
()
//添加图例标签等
lg=Legend(title="Exp",col_fun=mycol,direction= c("vertical"))
(lg)
//添加列名
(=(),=function(x,y)
{
if(CELL_META$==1)
{
cn=colnames(madt2)
n=length(cn)
(rep(CELL_META$[2],n)+convert_x(0.3,"mm"), //x坐标
4.1+(1:n)*0.7, //y坐标和间距
cn,cex=0.8,adj=c(0,1),facing="inside")
}
},=NA)
mycol2=colorRamp2(c(-1.7, 0.5, 2.3),c("#57ab81", "white", "#ff9600"))
也可以更改上面的颜色,从而改变热图的配色:
===分组热图绘制========
#()内只能是一个矩阵,但如果矩阵数据存在分组,可以用split参数来指定分类变量
split = sample(letters[1:2], 40, replace = TRUE)
split = factor(split, levels = letters[1:2])
()
(=c(22))
(madt2,col=mycol,split=split,="inside",="outside", = 0.38,
="black",=0.9,
=1,
cluster=TRUE,
=0.18,
=function(dend,m,si)
{
color_branches(dend,k=15,col=1:15)
}
)
//假设有两个热图的矩阵数据
madt2<-t(scale(t(madt)))
madt3<-t(scale(t(madt)))
split2 = sample(letters[1:2], 40, replace = TRUE)
split2 = factor(split2, levels = letters[1:2])
()
(=c(8))
(madt2,col=mycol2,split=split2,="outside",
cluster=TRUE,
=0.2,
=function(dend,m,si) {
color_branches(dend,k=15,col=1:15)
}
)
(madt3, col = mycol,="inside",=0.8)
生信热图怎么看结果

生信热图相关系数情况:
绝对值在0.8 以上:强相关
绝对值在0.5-0.8:中等程度相关
绝对值在0.3-0.5: 相关程度一般
绝对值在0.3 以下:弱或者不相关
-
果盘绘画图片大全简单创作方法快速制作技巧2024-01-02 16:57:54
-
小年插画图片创作方法快速制作技巧2024-01-02 16:57:20
-
小年绘画作品制作技巧2024-01-02 16:55:45
-
小年插画图片创作方法快速制作技巧2024-01-02 16:55:02
-
立春插画图片如何制作2024-01-02 16:54:19
-
立春插画图片创作方法快速制作技巧2024-01-02 16:53:32






扫描二维码添加客服微信
扫描二维码关注