日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

怎么让热图显示基因名_R 生信数据可视化 01 | 聚类热图

發(fā)布時間:2025/3/15 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么让热图显示基因名_R 生信数据可视化 01 | 聚类热图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一. 示例數(shù)據(jù)準(zhǔn)備

下載:鏈接:https://pan.baidu.com/s/1_b8swSkWDqIHZi6UwKaspA 提取碼:pll7

文件說明
示例數(shù)據(jù),其中數(shù)據(jù)均為虛擬數(shù)據(jù),與實際生物學(xué)過程無關(guān)
文件名:dataset_heatmap.txt
列分別為基因,cell1的5個重復(fù)樣本,cell2的5個重復(fù)樣本
行代表每個基因在所有樣本的FPKM值

二. 環(huán)境需求

Rstudio: 如果系統(tǒng)中沒有 Rstudio,先下載安裝:https://www.rstudio.com/products/rstudio/download/#download

heatmaps 包:

如果沒有安裝該R包,執(zhí)行以下代碼:

if (!requireNamespace("BiocManager", quietly = TRUE))install.packages("BiocManager")BiocManager::install("heatmaps")

三. 繪制聚類熱圖

1. 聚類熱圖繪制

# 執(zhí)行前設(shè)置==================================== # 清空暫存數(shù)據(jù) rm(list=ls()) # 載入R包 library(pheatmap) # 設(shè)置工作目錄 setwd("E:/R/WorkSpace/baimoc/visualization")# 整理數(shù)據(jù)集==================================== # 載入數(shù)據(jù) dataset <- read.table('resource/dataset_heatmap.txt',header = TRUE, row.names = 1) # 截取表達(dá)矩陣的一部分?jǐn)?shù)據(jù)來繪制熱圖 exp_ds = dataset[c(1:60),c(1:10)] # 構(gòu)建樣本分類數(shù)據(jù) cell_list=c(rep('cell_1',5),rep('cell_2',5)) annotation_c <- data.frame(cell_list) rownames(annotation_c) <- colnames(exp_ds)# 繪制熱圖===================================== pheatmap(exp_ds, #表達(dá)數(shù)據(jù)cluster_rows = T,#行聚類cluster_cols = T,#列聚類annotation_col =annotation_c, #樣本分類數(shù)據(jù)annotation_legend=TRUE, # 顯示樣本分類show_rownames = T,# 顯示行名show_colnames = T,# 顯示列名scale = "row", #對行標(biāo)準(zhǔn)化color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100) # 熱圖基準(zhǔn)顏色 )

2. 無分類信息熱圖

# 將繪制熱圖部分替換為下列代碼 # 繪制熱圖===================================== pheatmap(exp_ds, show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100) )

3. 無聚類熱圖

# 將繪制熱圖部分替換為下列代碼 pheatmap(exp_ds, #表達(dá)數(shù)據(jù)cluster_rows = F,cluster_cols = F,show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100) )

4. 分割聚類樹熱圖

# 繪制熱圖===================================== pheatmap(exp_ds, show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100),cutree_cols = 2,cutree_rows = 20 )

5. 多分組聚類熱圖

# 清空暫存數(shù)據(jù) rm(list=ls()) # 載入R包 library(pheatmap) # 設(shè)置工作目錄 setwd("E:/R/WorkSpace/baimoc/visualization")# 整理數(shù)據(jù)集==================================== # 參數(shù)'./resource/dataset.txt',表示載入E:/R/WorkSpace/baimoc/visualization/resource/dataset_heatmap.txt dataset <- read.table('resource/dataset_heatmap.txt',header = TRUE, row.names = 1) # 截取表達(dá)矩陣的一部分?jǐn)?shù)據(jù)來繪制熱圖 exp_ds = dataset[c(1:60),c(1:10)] # 構(gòu)建樣本分類數(shù)據(jù) cell_type=c(rep('cell_1',5),rep('cell_2',5)) sample_calss=c(rep('normal',5),rep('cancer',5)) sample_type=c(rep('control',5),rep('case',5)) level = c(1:10)annotation_c <- data.frame(cell_type, sample_calss, sample_type, level) rownames(annotation_c) <- colnames(exp_ds)gene_class=c(rep('good',30),rep('bad',30)) gene_type=c(rep('fat',20),rep('blood',20),rep('Immunology',20)) annotation_r <- data.frame(gene_class, gene_type) rownames(annotation_r) <- rownames(exp_ds) # 繪制熱圖===================================== pheatmap(exp_ds, #表達(dá)數(shù)據(jù)cluster_rows = T,#行聚類cluster_cols = T,#列聚類annotation_col =annotation_c, #樣本分類數(shù)據(jù)annotation_row = annotation_r,annotation_legend=TRUE, # 顯示樣本分類show_rownames = T,# 顯示行名show_colnames = T,# 顯示列名scale = "row", #對行標(biāo)準(zhǔn)化color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100), # 熱圖基準(zhǔn)顏色 )

6. 分組調(diào)色

# 清空暫存數(shù)據(jù) rm(list=ls()) # 載入R包 library(pheatmap) # 設(shè)置工作目錄 setwd("E:/R/WorkSpace/baimoc/visualization")# 整理數(shù)據(jù)集==================================== # 參數(shù)'./resource/dataset.txt',表示載入E:/R/WorkSpace/baimoc/visualization/resource/dataset_heatmap.txt dataset <- read.table('resource/dataset_heatmap.txt',header = TRUE, row.names = 1) # 截取表達(dá)矩陣的一部分?jǐn)?shù)據(jù)來繪制熱圖 exp_ds = dataset[c(1:60),c(1:10)] # 構(gòu)建樣本分類數(shù)據(jù) sample_calss=c(rep('Normal',5),rep('Cancer',5))annotation_c <- data.frame(sample_calss) rownames(annotation_c) <- colnames(exp_ds)gene_type=c(rep('Fat',20),rep('Blood',20),rep('Immunology',20)) annotation_r <- data.frame(gene_type) rownames(annotation_r) <- rownames(exp_ds)annotation_colors = list(sample_calss=c(Normal='#F8EFBA', Cancer='#FD7272'),gene_type=c(Fat='#f1f2f6', Blood='#ced6e0', Immunology='#57606f')) # 繪制熱圖===================================== pheatmap(exp_ds, #表達(dá)數(shù)據(jù)cluster_rows = T,#行聚類cluster_cols = T,#列聚類annotation_col =annotation_c, #樣本分類數(shù)據(jù)annotation_row = annotation_r,annotation_colors = annotation_colors,annotation_legend=TRUE, # 顯示樣本分類show_rownames = T,# 顯示行名show_colnames = T,# 顯示列名scale = "row", #對行標(biāo)準(zhǔn)化color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100), # 熱圖基準(zhǔn)顏色 )

7. 顯示文本

# 繪制熱圖===================================== pheatmap(exp_ds, show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100),display_numbers = T, # 顯示數(shù)值fontsize_number = 8, # 設(shè)置字體大小number_color = '#4a4a4a', #設(shè)置顏色number_format = '%.2f' # 設(shè)置顯示格式 )

8. 去除描邊

pheatmap(exp_ds, #表達(dá)數(shù)據(jù)show_rownames = T,# 顯示行名show_colnames = T,# 顯示列名scale = "row", #對行標(biāo)準(zhǔn)化color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100), # 熱圖基準(zhǔn)顏色border_color = 'NA', )

9. 字體相關(guān)

pheatmap(exp_ds, #表達(dá)數(shù)據(jù)show_rownames = T,# 顯示行名show_colnames = T,# 顯示列名scale = "row", #對行標(biāo)準(zhǔn)化color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100), # 熱圖基準(zhǔn)顏色fontsize = 10, # 全局字體大小,會被后邊設(shè)置所覆蓋fontsize_row = 8, # 行字體大小fontsize_col = 12, # 列字體大小angle_col = 45, # 設(shè)置列偏轉(zhuǎn)角度,可選 270, 0, 45, 90, 315,gaps_row = T )

10. 調(diào)整聚類樹高

pheatmap(exp_ds, show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100),treeheight_row = 50,treeheight_col = 30 )

11. 聚類方法選擇

pheatmap(exp_ds, show_rownames = T,show_colnames = T,scale = "row", color =colorRampPalette(c("#8854d0", "#ffffff","#fa8231"))(100),clustering_distance_rows = 'euclidean', # 計算聚類間距的算法,可選'correlation', 'euclidean', 'maximum', 'manhattan', 'canberra', 'binary', 'minkowski'clustering_method = 'complete', # 聚類方法, 可選'ward', 'ward.D', 'ward.D2', 'single', 'complete', 'average', 'mcquitty', 'median' or 'centroid' )

四. 保存為圖片

  • 這里可導(dǎo)出像素圖和PDF,也可拷貝到PS調(diào)整

  • 選擇合適的文件格式,調(diào)整合適長寬,印刷或投稿選PDF,TIFF,EPS就好
  • 文件默認(rèn)存儲在剛剛設(shè)置的工作目錄里

五. 詳細(xì)參數(shù)設(shè)置說明

1. 設(shè)置工作目錄

setwd("E:/R/WorkSpace/baimoc/visualization")

在R的執(zhí)行過程中,為了方便,需要指定一個獲取文件和輸出文件所在的目錄,這樣就不需要每次設(shè)置全路徑,只需要指定相對目錄

setwd("E:/R/WorkSpace/baimoc/visualization")的意思就是設(shè)置工作目錄為E:/R/WorkSpace/baimoc/visualization

2. 載入數(shù)據(jù)

dataset <- read.table('resource/dataset_heatmap.txt',header = TRUE, row.names = 1)

因為工作目錄已經(jīng)設(shè)置,如果要獲取E:/R/WorkSpace/baimoc/visualization/resource/dataset_heatmap.txt文件,那么就只需要設(shè)置相對路徑resource/dataset_heatmap.txt

對于header = TRUE, row.names = 1代表讀取文件表頭,設(shè)置第一列為行名

3. 獲取數(shù)據(jù)子集

# 截取表達(dá)矩陣的一部分?jǐn)?shù)據(jù)來繪制熱圖 exp_ds = dataset[c(1:60),c(1:10)]

原始數(shù)據(jù):

如果獲取前兩個基因和cell1與cell2的前兩個樣本,只需要執(zhí)行

exp_ds = dataset[c(1:5),c(1:3,6:8)]

4. 樣本分類數(shù)據(jù)

# 構(gòu)建樣本分類數(shù)據(jù) cell_list=c(rep('cell_1',5),rep('cell_2',5)) annotation_c <- data.frame(cell_list) rownames(annotation_c) <- colnames(exp_ds)

這段代碼目的是構(gòu)建分類名與原始數(shù)據(jù)的列名的對應(yīng)關(guān)系

總結(jié)

以上是生活随笔為你收集整理的怎么让热图显示基因名_R 生信数据可视化 01 | 聚类热图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。