生信数据分析——绘制差异热图

生信数据分析——绘制差异热图


差异分析的热图(Heat Map)在生物信息学数据分析中,特别是在基因表达差异分析中,是一个非常直观和有用的工具。

本教程将从导入的数据结构开始,一步步带大家在R中绘制好看的热图,最后对热图进行解读,确保读者理解代码的同时学会解读热图里的每个元素所代表的意思。

首先来看一下最终的热图长啥样:
在这里插入图片描述



热图的构建基于两个主要的数据:

表达矩阵:行为基因,列为样本的表达矩阵,只要是能反应每个样本不同基因表达水平即可。

分组信息表:与样本对应,要明确知道每个样本属于哪个条件分组。

注:绘制差异热图不需要用到差异分析的结果,但我这里仅展示上下调前10个基因的表达热图,所以用到了差异分析的结果


本项目以GSE73461数据集(芯片数据)展示热图绘制过程
实验分组:疾病组(77例),对照组(55例)
R版本:4.2.2
R包:ComplexHeatmap,tidyverse

废话不多说,代码如下:

设置工作空间:

rm(list = ls()) # 删除工作空间中所有的对象
setwd('/XX/XX/XX') # 设置工作路径
if(!dir.exists('./01_DEGs')){
   
  dir.create('./01_DEGs')
} # 判断该工作路径下是否存在名为01_DEGs的文件夹,如果不存在则创建,如果存在则pass
setwd('./01_DEGs/') # 设置路径到刚才新建的01_DEGs下

加载包:

library(ComplexHeatmap)
library(tidyverse)

导入表达矩阵:train_data

注:芯片数据处理过程参考之前的教程——数据处理(GEO数据库——芯片数据)

train_data <- read.csv('../../00_rawdata/GSE73461/dat.GSE73461.csv', row.names = 1, check.names = F)

train_data如下图所示,行名是基因,列名是样本名,图中数字代表基因表达量,这样就能获取到每个基因在不同样本中的表达。
在这里插入图片描述

导入分组信息表:group,并根据分组信息简单排序

group <- read.csv('../../00_rawdata/GSE73461/group.GSE73461.csv')
group <- group[order(group$group), ] ## 根据分组信息简单排序
table(group$group)
train_data <- train_data[, group$sample] ## 保证表达矩阵与这个分组信息表对应

group 如下图所示,第一列是样本ID,第二列是样本对应的分组,这样就能获取到每个样本对应的条件分组。
在这里插入图片描述

导入差异分析结果(limma/DESeq2都可以):

DEG <- read.csv('../../01_DEGs/GSE73461/DEG_all.csv'
  • 22
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆猪儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值