欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

RNA-Seq详解系列(五):热图深入解析

最编程 2024-02-10 12:30:14
...

热图

题目:关键差异基因做热图。

目的****:对比qPCR与测序结果中基因的表达变化趋势是否吻合。

内容

  1. 在RNA-SEQ差异表达的基因数据中筛选目的基因。

2.用原始counts矩阵(或者标准化后的tpm/fpkm文件)数据做热图。

数据:RNA-SEQ原始counts表达矩阵。

工具:Rstudio。

步骤:

  1. 筛选差异基因。

  2. 做热图。

##绘制热图
####绘制热图,需要原始counts矩阵和表型矩阵。
library(pheatmap)
library(ggplot2)
library(ggrepel)
library(export)
setwd("E:/2022/")
dat <-read.table("原始数据/counts_matrix_symble.txt",header=TRUE)
View(dat)

##
rows <- rownames(unique(dat['geneid']))
dat <- dat[rows,]
rownames(dat)<-dat[,1]
dat <- dat[,-1]
head(dat)


n=rownames(dat)

gene1<-read.table("genehot.txt")
m<-gene1[,1]

x=intersect(m,n)
dat1<-dat[c(x),]
head(dat1)

###载入表型数据
colData <-read.csv("原始数据/3conditions.csv",header=TRUE)
View(colData$condition)

dat2 <- t(scale(t(dat1)))
dat2 <- na.omit(dat2)##去空值


##正常情况下,需要修改这个名字。
group <- data.frame(colData$condition)
rownames(group)=colnames(dat2)
##绘制热图
g2 <- pheatmap(dat2,show_colnames =T, show_rownames = T, cluster_cols = F,
               #annotation_col=group, 
               cellwidth = 40,
               cellheight = 40,
               border=FALSE,  main = "heatmap",#添加主标题
               color = colorRampPalette(c("navy", "white", "firebrick3"))(100))
g2       
graph2ppt(file="gene.ppt", width=10, aspectr=1)


###针对不同数据集,求平均值
dat.fram <- data.frame(dat2)
dat.fram$D9.0.con.sorted.bam <- (dat.fram$D9.0A.con.sorted.bam + dat.fram$D9.0B.con.sorted.bam+ dat.fram$D9.0C.con.sorted.bam)/3
dat.fram$D9.2 <- (dat.fram$D9.2A.con.sorted.bam + dat.fram$D9.2B.con.sorted.bam+ dat.fram$D9.2C.con.sorted.bam)/3
dat.fram$D9.6 <- (dat.fram$D9.6A.con.sorted.bam + dat.fram$D9.6B.con.sorted.bam+ dat.fram$D9.6C.con.sorted.bam)/3

dat2 <- subset(dat.fram, select=c(D9.0,D9.2,D9.6))

dat3 <- t(scale(t(dat2)))
dat3=dat3[-12,]
dat3=dat3[-307,]
#这里需要重新导入表型数据的名字。
colData <- colData[c(1,4,7),]

group <- data.frame(colData$condition)
rownames(group)=colnames(dat3)

##正常情况下,需要修改这个名字。
group <- data.frame(colData$condition)
rownames(group)=colnames(dat1)
###绘制热图
g1<- pheatmap(dat3,show_colnames =T,show_rownames = F, cluster_cols = F,
              annotation_col=group,border=FALSE,main = "thrombopoiesis-associated heatmap",#添加主标题
              annotation_colors =c("green","orange"),
              color = colorRampPalette(c("navy", "white", "firebrick3"))(50))
g1       
graph2ppt(file="mk3热图均值.ppt", width=10, aspectr=1)

g2 <- pheatmap(dat3,show_colnames =T, show_rownames = T, cluster_cols = F,
               #annotation_col=group, 
               cellwidth = 40,#格子大小
               cellheight =10,
               border=FALSE,  main = "heatmap",#添加主标题
               color = colorRampPalette(c("navy", "white", "firebrick3"))(100))


g3 <- pheatmap(dat3,show_colnames =T,show_rownames = F, cluster_cols = F,#无基因名
               annotation_col=group, annotation_legend = FALSE, fontsize_row=32, fondsize=18, angle_col=0,
               color = colorRampPalette(c("navy", "white", "firebrick3"))(50))
image.png