使用R进行微阵列可视化(红绿热图)
生活随笔
收集整理的這篇文章主要介紹了
使用R进行微阵列可视化(红绿热图)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 使用R中的ggplot2進(jìn)行微陣列可視化(紅綠熱圖)
- 1、常用的方法:biclust包
- 1.1 biclust包的安裝
- 1.2 導(dǎo)入biclust包
- 1.3 生成一些測(cè)試數(shù)據(jù)
- 1.4 調(diào)用drawHeatmap()函數(shù)繪制熱圖
- 2、ggplot2繪制紅綠熱圖
- 2.1 ggplot2、reshape2包的安裝
- 1.2 導(dǎo)入ggplot2、reshape2包
- 1.3 生成要繪制微陣列的模擬數(shù)據(jù)
- 1.3 對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的變形處理
- 1.4 為ggplot2繪圖設(shè)置顏色(紅綠色設(shè)置!)
- 1.5 繪制微陣列(紅綠熱圖)
使用R中的ggplot2進(jìn)行微陣列可視化(紅綠熱圖)
前段時(shí)間做RNA甲基化水平的分析,查了很多繪制熱圖的資料,發(fā)現(xiàn)基本都是繪制普通的熱圖,生信這一塊微陣列可視化的代碼幾乎找不到,尤其是調(diào)成紅綠色系的熱圖的就更少了,然后自己總結(jié)了一下,希望能幫大家少走一些彎路。
1、常用的方法:biclust包
常用的方法基本都是在RStudio里面導(dǎo)入biclust包,然后調(diào)用drawHeatmap()函數(shù)進(jìn)行熱圖繪制,但是繪制出的熱圖是固定形式的,后續(xù)要加圖例或者標(biāo)題特別麻煩,不像ggplot2畫圖那樣方便,下面給出drawHeatmap()的使用說(shuō)明。
1.1 biclust包的安裝
install.packages("biclust")這里因?yàn)槲乙呀?jīng)安裝了,就不提供截圖了,自己用上面的代碼裝包就好。
1.2 導(dǎo)入biclust包
library(biclust)1.3 生成一些測(cè)試數(shù)據(jù)
data <- rbeta(15000, 2.4, 2) data <- matrix(data, nrow = 1000, ncol = 15) data[112:279,3:5] = rbeta(504, 12, 4) data[429:592,5:7] = rbeta(492, 11, 5) data[429:592,8:9] = rbeta(328, 9, 4) data[676:832,8:13] = rbeta(942, 15, 6)1.4 調(diào)用drawHeatmap()函數(shù)繪制熱圖
drawHeatmap(data)
這就出現(xiàn)了之前說(shuō)的問(wèn)題,沒法直接通過(guò)代碼加標(biāo)簽、標(biāo)題或者圖例之類的信息,因此自己用ggplot2寫了下面的熱圖可視化程序。
2、ggplot2繪制紅綠熱圖
2.1 ggplot2、reshape2包的安裝
install.packages("ggplot2") install.packages("reshape2")1.2 導(dǎo)入ggplot2、reshape2包
`library(ggplot2) `library(reshape2)1.3 生成要繪制微陣列的模擬數(shù)據(jù)
# 生成符合beta分布,大小為1000*15的模擬數(shù)據(jù) #如果要繪制其他數(shù)據(jù)的,把這一部分的數(shù)據(jù)換了就可以 data <- rbeta(15000, 2.4, 2) data <- matrix(data, nrow = 1000, ncol = 15) data[112:279,3:5] = rbeta(504, 12, 4) data[429:592,5:7] = rbeta(492, 11, 5) data[429:592,8:9] = rbeta(328, 9, 4) data[676:832,8:13] = rbeta(942, 15, 6)1.3 對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的變形處理
#把自己的數(shù)據(jù)讀進(jìn)data后,往后的操作可以直接拿來(lái)用 data <- as.data.frame(data) colnames(data) <- seq(1, ncol(data), 1) data$ID <- rownames(data) data_melt <- melt(data, id.vars=c("ID")) data_melt[, 2] <- as.numeric(as.character(data_melt[, 2])) data_melt[, 1] <- as.numeric(data_melt[, 1])1.4 為ggplot2繪圖設(shè)置顏色(紅綠色設(shè)置!)
numColores = 255 * 2 gvect = c(array(255:0), array(0, dim = 255)) rvect = c(array(0, dim = 255), array(0:255)) bvect = array(0, dim = numColores) paleta = rgb(rvect, gvect, bvect, 255, maxColorValue = 255)1.5 繪制微陣列(紅綠熱圖)
draw <- ggplot(data_melt, aes(x = variable, y = ID)) + geom_tile(aes(fill = value)) +xlab("conditions") + ylab("sites") +scale_fill_gradientn(colours = paleta)
通過(guò)上述方法獲得的熱圖可以自己進(jìn)一步進(jìn)行美化,靈活度比drawHeatmap()函數(shù)要高許多!
下面是生成的其他數(shù)據(jù)的微陣列紅綠熱圖:
生信小白,如果大家有什么問(wèn)題,歡迎隨時(shí)交流~
總結(jié)
以上是生活随笔為你收集整理的使用R进行微阵列可视化(红绿热图)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 会声会影2022版本软件下载安装使用激活
- 下一篇: 技术人员必会英语单词