收藏贴之一 | 写过热图工具的人,给你理清热图数据标准化

写在前面

热图,或称热力图,是外文 Heatmap 的直译。在几乎所有数值分析相关工作中都可以看到。生物信息学数据,自然躲不过。无论是形态数据,还是基因拷贝数数据,或是基因表达量,都可以使用热图来进行可视化分析。
于是,热图,大家都在用。但是并不是每个人都能相对细致的了解热图的方方面面。事实上,这种情况下使用工具进行热图绘制 ,就像是到药店买药。你以为买到的药可以缓解感冒的,但是你可能不知道这个时候你绝对不能喝酒。当然,这也是我认为奇怪的地方,似乎很少有帖子比较细致的阐述热图的各个细节。
为此,我酝酿了很久,直到今天,我偷得两三个小时的时间,可以写下这篇推文。我写过热图工具,[ 代码层面的从零实现,而不是调用已有的聚类或其他包 ],所以我有信心可以讲清楚。希望这篇推文:

  1. 对已经熟练使用热图工具的科研人员有一定的帮助。
  2. 对尚未了结热图的科研人员,有认知补充的作用。

热图的基本认知

常常,我们手上会有这样的矩阵。



这样的的基因表达量,我们需要花很多的精力可能才能看出基因在不同样品中的表达量变化。
于是,这个时候,我们会进行热图展示,只需要将这个数值矩阵从Excel中复制,并黏贴到TBtools中,点击Start即可。




这个时候,我们可以非常直观的看出,多数 BrrMTP 家族成员在 Sample4 中高表达。

事实上,多数情况下,我们绘制热图会类似上图。在一些情况下,矩阵中没有极端值,那么效果会很不错。但是常常是无法避免的,所以一般我们会对数据一定的转换。

数据的预处理,标准化,归一化

对数转换

上述热图可视化存在明显的可改进空间,其中一个明显的红色方格使得整个其他数据之间的差异无法被直观的观测。返回到原始的数值矩阵,我们可以看到,只有那个数值是超过30的,其他数值都不高。
在这种情况下,我们一般都会对数据进行对数转换,也就是是常见的 [ log-transformed ] ,对于整个表达矩阵每个值 x,取对数为 log(x),对数的底可以使e, 10, 2等等,看具体需要。在TBtools中,勾选 [ 近期更新的版本中,不再默认勾选 ]



于是会得到



从这张图,我们可以非常清晰的看到每个基因在每个样品中的表达量高低。我们也很清楚,对数转换并不对改变数据掉调性,所以,无论是同个基因在不同样品,还是不同基因在同个样品中的基因的表达量都是可比较的。

进行对数转换的时候,我们常常不会直接取 log(x) ,而是会取 log(x+1),这样做的主要原因是,很多时候,我们会得到不少基因在某些样品没有表达,对于 0 ,无法取对数。于是,我们的参数一般定为



于是我们得到



在多数情况下,我个人的建议是,对数转换得到的不错的结果,那么是最好的。

正态标准化

基因表达是动态变化的,结构基因往往表达量高,而转录因子往往表达量低。所以,有一定生物学数据分析经验的,更多的关心基因的表达趋势而不是表达量高低。这个时候,常见的策略是,对数据进行基因内标准化,对应上述数据,就是行内的标准化。简单的来说,就是逐个基因提取不同样本的表达量,得到一个数组,对这个数组进行标准化。具体逻辑如下:



直接应用公式 [ 一般而言,说标准化,那么就是正态标准化,亦即认为数据是正态分布的 ],



其中 μ 即数组的平均值,δ 即数组的标准差。在TBtools中,我们可以

于是得到



可以看到,经过行标准化,我们可以逐个查看每个基因在不同样品中的表达趋势变化,也可以做一定的比较。

这种时候,我们可能会有疑问



表达量 1.38 小于 1.42,而前者反而是红色,后者反而是淡黄色。事实上,这就是行标准化的的一个问题。一旦进行行标准化,不同行之间,绝对数值是不可比较的,只有趋势是可以比较的。这并不是软件的问题,而是一个对具体逻辑理解的问题,我们可以直接查看标准化后数值矩阵。



也就是标准化之后,1.38 在他所属的行中,其实是最高的值,相反,1.42则不是。

0-1标准化

或称min-max标准化。很多时候,我们可能会认为数据就是平均分布的,而不是正态分布[ 虽然,无论数据是什么分布,你取对数,可以使数据更倾向于正态分布 ]。或者,我们会看到,存在部分值确实过于极端,使得整体数据的可视化效果不明显。此时 ,我们常常会使用0-1标准化。这类标准化与正态标准化类似,不过使用的是另外一个公式 ,



在TBtools中,使用



于是得到

事实上,我更多的使用 0-1标准化。这并不是因为这一标准化方式更好,而是因为这一方式更符合多数人的直观认知。使用这一标准化方式,可以使基因在不同样品里面的表达量最高值为1,最低值为0,所以我们可以直观地看到每一行都有一个相同的最红的方块,和一个相同的最蓝的方块。

写在后面

时间有限,也可能是我快一个月没有动笔。确实写起来比较慢。那么就分成几次推送吧。今次先到这里。下一个帖子的主题是热图中聚类与分析。预祝各位元旦快乐。
如果你的目的只是画一张热图,可以查看热图课程,目前元旦活动。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容