转录组统计学生物信息学:研一

聚类在基因表达数据中的应用(R语言实现)

2018-05-20  本文已影响22人  Thinkando

前言

1. 层次聚类

2. R 语言实现

2.1 材料准备

  1. 找到事先筛选好的差异表达基因,横轴为样本,纵轴为基因


    image.png
  2. 样本的临床信息(HCC肝癌,NOR,正常组)


    image.png

2.2 R 代码

library(gplots)
library(RColorBrewer)
options(stringsAsFactors = F)

#读取数据
datExp = read.table('ExpressionDataForDEG.txt',sep='\t',header=T)
View(head(datExp))

#处理数据
datExp1 = datExp[, -1] # -1 表示第一列不要
rownames(datExp1) = datExp[, 1] # 把基因名称定义为行名
View(datExp1)

#读取患者分组信息
datTraits = read.table('SampleTraits.txt',sep='\t',header=T)
View(datTraits)
color = factor(datTraits$tumor,labels=c('orange','blue'),levels = c("HCC","NOR"))
color

#数据转换
datExp1 = as.matrix(datExp1) # 把dataframe 转换成 matrix

#聚类热图 
# 参数具体含义 ?heatmap.2 查询
heatmap.2(datExp1,col = greenred(75), 
          hclust=function(x) hclust(x,method = 'ward.D2'),
          distfun=function(x) dist(x,method='euclidean'),
          scale = "row",dendrogram = 'both',
          key = TRUE, symkey = FALSE, density.info = "none", 
          trace = "none", cexRow = 0.5,
          ColSideColors = as.character(color)
)
image.png
  1. 筛选的差异基因可以显著的把肿瘤样本和正常样本筛选出来
  2. 分类出来的基因,可以用于后续功能富集分析
  3. 导出尽量pdf 格式,是矢量图,便于投稿修改
上一篇下一篇

猜你喜欢

热点阅读