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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用R进行微阵列可视化(红绿热图)

發布時間:2024/3/12 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用R进行微阵列可视化(红绿热图) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 使用R中的ggplot2進行微陣列可視化(紅綠熱圖)
    • 1、常用的方法:biclust包
      • 1.1 biclust包的安裝
      • 1.2 導入biclust包
      • 1.3 生成一些測試數據
      • 1.4 調用drawHeatmap()函數繪制熱圖
    • 2、ggplot2繪制紅綠熱圖
      • 2.1 ggplot2、reshape2包的安裝
      • 1.2 導入ggplot2、reshape2包
      • 1.3 生成要繪制微陣列的模擬數據
      • 1.3 對數據進行相應的變形處理
      • 1.4 為ggplot2繪圖設置顏色(紅綠色設置!)
      • 1.5 繪制微陣列(紅綠熱圖)

使用R中的ggplot2進行微陣列可視化(紅綠熱圖)

前段時間做RNA甲基化水平的分析,查了很多繪制熱圖的資料,發現基本都是繪制普通的熱圖,生信這一塊微陣列可視化的代碼幾乎找不到,尤其是調成紅綠色系的熱圖的就更少了,然后自己總結了一下,希望能幫大家少走一些彎路。

1、常用的方法:biclust包

常用的方法基本都是在RStudio里面導入biclust包,然后調用drawHeatmap()函數進行熱圖繪制,但是繪制出的熱圖是固定形式的,后續要加圖例或者標題特別麻煩,不像ggplot2畫圖那樣方便,下面給出drawHeatmap()的使用說明。

1.1 biclust包的安裝

install.packages("biclust")

這里因為我已經安裝了,就不提供截圖了,自己用上面的代碼裝包就好。

1.2 導入biclust包

library(biclust)

1.3 生成一些測試數據

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 調用drawHeatmap()函數繪制熱圖

drawHeatmap(data)


這就出現了之前說的問題,沒法直接通過代碼加標簽、標題或者圖例之類的信息,因此自己用ggplot2寫了下面的熱圖可視化程序。


2、ggplot2繪制紅綠熱圖

2.1 ggplot2、reshape2包的安裝

install.packages("ggplot2") install.packages("reshape2")

1.2 導入ggplot2、reshape2包

`library(ggplot2) `library(reshape2)

1.3 生成要繪制微陣列的模擬數據

# 生成符合beta分布,大小為1000*15的模擬數據 #如果要繪制其他數據的,把這一部分的數據換了就可以 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 對數據進行相應的變形處理

#把自己的數據讀進data后,往后的操作可以直接拿來用 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繪圖設置顏色(紅綠色設置!)

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)


通過上述方法獲得的熱圖可以自己進一步進行美化,靈活度比drawHeatmap()函數要高許多!



下面是生成的其他數據的微陣列紅綠熱圖:



生信小白,如果大家有什么問題,歡迎隨時交流~

總結

以上是生活随笔為你收集整理的使用R进行微阵列可视化(红绿热图)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。