1

Rのpheatmapによって作成されたヒートマップに行注釈を追加しようとしています。基本的に、ヒートマップの行注釈に使用される特定の列(グループ)を含むcsvファイルがあります。ただし、次のコードに問題があります。他の 2 つの問題は、タイトルのフォント サイズが大きすぎるようですが、小さくする方法が見つかりませんでした。そして、ゼロの値を純粋な白に設定したかったのですが、出力ファイルで本当に白かどうかはわかりません。入力 csv ファイルと出力 pdf ファイルがリンクされています。他のヒートマップ関数よりも自分のニーズに合ったヒートマップを作成することがわかったので、ここでは pheatmap を使い続けています。提案を歓迎します。

> library("pheatmap")

> data <- read.csv("/Users/neo/Test_BP_052215.csv", header = TRUE, row.names = 2, stringsAsFactors=F)

> head(data)

                                            Group           WT      KO1        KO2

GO:0018904 organic ether metabolic process Metabolism  12.17372951 0.000000 -15.006995

GO:0006641 triglyceride metabolic process  Metabolism  5.200847907 0.000000   0.000000

GO:0045444 fat cell differentiation        Metabolism  6.374521098 0.000000  -7.927192

GO:0006639 acylglycerol metabolic process  Metabolism  6.028616852 0.000000   0.000000

GO:0016125 sterol metabolic process        Metabolism  5.760678325 8.262778   0.000000

GO:0016126 sterol biosynthetic process     Metabolism -6.237114754 9.622373   0.000000



> heatdata <- data[,-1]

> head(heatdata)

                                                 WT      KO1        KO2

GO:0018904 organic ether metabolic process  12.17372951 0.000000 -15.006995

GO:0006641 triglyceride metabolic process   5.200847907 0.000000   0.000000

GO:0045444 fat cell differentiation         6.374521098 0.000000  -7.927192

GO:0006639 acylglycerol metabolic process   6.028616852 0.000000   0.000000

GO:0016125 sterol metabolic process         5.760678325 8.262778   0.000000

GO:0016126 sterol biosynthetic process     -6.237114754 9.622373   0.000000



> annotation_row <- data.frame(Group = data[,1])

> rownames(annotation_row) = paste("Group", 1:38, sep = "")

> ann_colors = list( Group = c(Metabolism="navy", Cellular="skyblue", Signal="steelblue", Transport="green", Cell="purple", Protein="yellow", Other="firebrick") ) 

> head(annotation_row)

        Group

Group1 Metabolism

Group2 Metabolism

Group3 Metabolism

Group4 Metabolism

Group5 Metabolism

Group6 Metabolism

> col_breaks = unique(c(seq(-16,-0.5,length=200), seq(-0.5,0.5,length=200), seq(0.5,20,length=200)))

> my_palette <- colorRampPalette(c("blue", "white", "red"))(n = 599)

> pheatmap(heatdata, main="Enrichment", color=my_palette, breaks=col_breaks, border_color = "grey20", cellwidth = 15, cellheight = 12, scale = "none",  annotation_row = annotation_row, annotation_colors = ann_colors, cluster_rows = F, cluster_cols=F, fontsize_row=10, filename="heatmap_BP_test.pdf")
4

0 に答える 0