最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

10分類變量熱圖繪制/SCI論文/科研/研究生/生信分析熱點思路

2023-02-02 14:52 作者:爾云間  | 我要投稿

分類變量熱圖繪制

今天小云繪制一下分類變量變量熱圖,繪制該圖需要三個輸入文件,代碼如下:

1.?安裝所需要的R包

BiocManager::install(“ComplexHeatmap”)

2.?導入需要的R包

library(ComplexHeatmap)

3.?導入數(shù)據(jù)

#差異表達分析中的logFC

logfc <- read.csv("logFc.csv", row.names = 1)

#差異分析中的P值

p.val <- read.csv("PVal.csv", row.names = 1)

#基因分組

genetype <- read.csv("genetype.csv")

3.代碼展示

#為確保熱圖基因的順序和分組文件的順序是一致的

#因此按照基因分組文件里的順序,對logfc和p.val兩個文件排序

logfcOrdered <- logfc[genetype$gene,]

p.valOrdered <- p.val[genetype$gene,]

## 對logfc進行分類

logfcCat <- apply(logfcOrdered, 2, function(x){

????cut(x, breaks = c(-Inf, -2, -1, 1, 2, Inf),

????????labels = c("< -2", "-2 - -1", "-1 - 1", "1 - 2", "> 2"))

})

rownames(logfcCat) <- rownames(logfcOrdered)

## 確保兩個數(shù)據(jù)集的列名和行名順序一致

if(!identical(rownames(logfcCat), rownames(p.valOrdered))) p.valOrdered <- p.valOrdered[rownames(logfcCat),]

if(!identical(colnames(logfcCat), colnames(p.valOrdered))) p.valOrdered <- p.valOrdered[colnames(logfcCat)]

## 把P> 0.05的數(shù)據(jù)標記為 P > 0.05

logfcCat[p.valOrdered >= 0.05] <- "P >= 0.05"

## 每個分類定義一個顏色

col_cat <- c("> 2" = "#A80C3A", "1 - 2" = "#ED5E57", "-1 - 1" = "#DDD3D2",

?????????????"-2 - -1" = "#6B9AB7", "< -2" = "#2F5B89", "P >= 0.05" = "white")

cell_fun <- function(logfc, dataP, logfcCutoff = 1, PCutoff = 0.05,

?????????????????????darkcol = "black", lightcol = "white", digit = 2, fontsize ?= 6){

????function(j, i, x, y, width, height, fill){

????????if(abs(logfc[i,j]) > logfcCutoff & dataP[i,j] < PCutoff){

????????????grid.text(round(logfc, digit)[i, j], x, y,

??????????????????????gp = gpar(fontsize = fontsize, col ?= lightcol))

????????}else{

????????????grid.text(round(logfc, digit)[i, j], x, y,

??????????????????????gp = gpar(fontsize = fontsize, col ?= darkcol))

????????}

????}

}

an_col <- c("#ED1450", "#FCCA02", "#A7CE35", "#2C92DA", "#59574A", "#FFF8AD", "#A2238E", "#BCBDBF")

names(an_col) <- unique(genetype$type)

?

## 定義注釋信息

row_an <- ?HeatmapAnnotation(type = genetype$type, ##注釋信息的內(nèi)容

?????????????????????????????show_annotation_name = F, ## 是否顯示注釋的標題

?????????????????????????????col = list(type = an_col), ## 注釋信息的顏色

?????????????????????????????show_legend = T, ?## 是否顯示注釋信息的說明

?????????????????????????????annotation_legend_param = list(title = "MMP Subtype"), ## 注釋信息圖例的標題

?????????????????????????????which = "row") #對行或者列進行注釋

pdf("rankHeatmap.pdf", width = 8, height = 4)

Heatmap(matrix = logfcCat,

????????name = "logFC", #主要圖例的標題

????????rect_gp = gpar(col = "NA", lwd = 1), #不畫邊框,或者用col = "grey"畫灰色邊框

????????col = col_cat, #熱圖顏色

????????row_names_side = "left",

????????cell_fun = cell_fun(logfcOrdered, p.valOrdered),

????????row_names_gp = gpar(fontsize = 8), #基因名字號

????????column_names_gp = gpar(fontsize = 8), #腫瘤類型字號

????????column_names_rot = 45, #腫瘤類型呈45度

????????left_annotation = row_an) #左側基因分類,如果不畫,就篩掉這個參數(shù)

dev.off()

?


最終小云繪制出了分類變量熱圖,看起來效果不錯,有需要的可以借鑒學習奧。


10分類變量熱圖繪制/SCI論文/科研/研究生/生信分析熱點思路的評論 (共 條)

分享到微博請遵守國家法律
绥芬河市| 伽师县| 弋阳县| 丰台区| 青海省| 新野县| 灵山县| 叶城县| 商城县| 崇州市| 文昌市| 丹棱县| 宝鸡市| 定日县| 汉阴县| 德令哈市| 肃南| 开鲁县| 金平| 罗城| 花莲县| 尉犁县| 大连市| 聂荣县| 罗甸县| 潮州市| 济宁市| 荃湾区| 都匀市| 绥江县| 钦州市| 中江县| 梁山县| 铜川市| 沅江市| 宝山区| 德庆县| 松江区| 乐亭县| 青岛市| 会理县|