100天生信-Day1
热图是很方便的数据可视化方法,很多情景下简单、实用。比如在拿到RNA-seq表达矩阵后大概看一个表达情况,而且可以做个聚类大体了解基因表达模式(当然样本多的时候可以选择WGCNA)。
## 加载包
library(pheatmap)
## 设置工作目录
setwd("PATH")
## 导入原始FPKM,保留注释,最后添加cluster信息的时候直接在这个表中添加
FPKM_ann <- read.csv("Ara24_fpkm.csv" , header = T, row.names = 1)
## 去除注释,只取第1到24列
FPKM <- FPKM_ann[,c(1:24)]
## 只取所有样本FPKM和大于10的基因
FPKM <- FPKM[which(rowSums(FPKM) > 10),]
## 画热图,cluster_row对行聚类,cutree_rows = x 参数表示分成几个cluster
## 聚类算法可以通过clustering_method = "xxxx"调整,多试几种看聚类效果
p <- pheatmap(FPKM,cluster_row = TRUE,cluster_col = FALSE, show_rownames= FALSE,
scale = 'row', cutree_rows = 6)
## 导出加上cluster信息的原始表格(顺序按聚类顺序改变,保留注释,cluster信息在最后一列)
row_cluster <- cutree(p$tree_row, k=6)
newOrder <- FPKM_ann[p$tree_row$order,]
newOrder[,ncol(newOrder)+1]=row_cluster[match(rownames(newOrder), names(row_cluster))]
colnames(newOrder)[ncol(newOrder)]="Cluster"
write.csv(newOrder, "FPKM_cluster.csv")
得到的表就是在输入表的基础上排序加cluster信息。
导出基因顺序参考文章:https://www.omicsclass.com/article/508
网友评论