Browse code

add unit_to_numeric() function

jokergoo authored on 05/03/2020 14:31:53
Showing 1 changed files
1 1
deleted file mode 100755
... ...
@@ -1,112 +0,0 @@
1
-
2
-ht_global_opt$verbose = FALSE
3
-ht_global_opt$show_vp_border = FALSE
4
-
5
-set.seed(123)
6
-nr1 = 10; nr2 = 8; nr3 = 6
7
-nc1 = 6; nc2 = 8; nc3 = 10
8
-mat1 = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1,   sd = 0.5), nr = nr1),
9
-          matrix(rnorm(nr2*nc1, mean = 0,   sd = 0.5), nr = nr2),
10
-          matrix(rnorm(nr3*nc1, mean = 0,   sd = 0.5), nr = nr3)),
11
-    rbind(matrix(rnorm(nr1*nc2, mean = 0,   sd = 0.5), nr = nr1),
12
-          matrix(rnorm(nr2*nc2, mean = 1,   sd = 0.5), nr = nr2),
13
-          matrix(rnorm(nr3*nc2, mean = 0,   sd = 0.5), nr = nr3)),
14
-    rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
15
-          matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
16
-          matrix(rnorm(nr3*nc3, mean = 1,   sd = 0.5), nr = nr3))
17
-   )
18
-
19
-rownames(mat1) = paste0("row_1_", seq_len(nrow(mat1)))
20
-colnames(mat1) = paste0("column_1_", seq_len(nrow(mat1)))
21
-
22
-nr3 = 10; nr1 = 8; nr2 = 6
23
-nc3 = 6; nc1 = 8; nc2 = 10
24
-mat2 = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1,   sd = 0.5), nr = nr1),
25
-          matrix(rnorm(nr2*nc1, mean = 0,   sd = 0.5), nr = nr2),
26
-          matrix(rnorm(nr3*nc1, mean = 0,   sd = 0.5), nr = nr3)),
27
-    rbind(matrix(rnorm(nr1*nc2, mean = 0,   sd = 0.5), nr = nr1),
28
-          matrix(rnorm(nr2*nc2, mean = 1,   sd = 0.5), nr = nr2),
29
-          matrix(rnorm(nr3*nc2, mean = 0,   sd = 0.5), nr = nr3)),
30
-    rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
31
-          matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
32
-          matrix(rnorm(nr3*nc3, mean = 1,   sd = 0.5), nr = nr3))
33
-   )
34
-
35
-rownames(mat2) = paste0("row_2_", seq_len(nrow(mat2)))
36
-colnames(mat2) = paste0("column_2_", seq_len(nrow(mat2)))
37
-
38
-
39
-ht_list = Heatmap(mat1) + Heatmap(mat2)
40
-ht_list
41
-
42
-######### legend ############
43
-draw(ht_list, heatmap_legend_side = "bottom")
44
-draw(ht_list, heatmap_legend_side = "left")
45
-draw(ht_list, heatmap_legend_side = "top")
46
-
47
-
48
-########## width #############
49
-Heatmap(mat1, width = unit(6, "cm")) + Heatmap(mat2)
50
-Heatmap(mat1) + Heatmap(mat2, width = unit(8, "cm"))
51
-Heatmap(mat1, width = unit(12, "cm")) + Heatmap(mat2, width = unit(8, "cm"))
52
-
53
-Heatmap(mat1, heatmap_body_width = unit(6, "cm")) + Heatmap(mat2)
54
-Heatmap(mat1) + Heatmap(mat2, heatmap_body_width = unit(6, "cm"))
55
-Heatmap(mat1, heatmap_body_width = unit(6, "cm")) + Heatmap(mat2, heatmap_body_width = unit(6, "cm"))
56
-Heatmap(mat1, heatmap_body_width = 4) + Heatmap(mat2)
57
-
58
-Heatmap(mat1, heatmap_body_width = 2) + Heatmap(mat2, heatmap_body_width = 1)
59
-
60
-
61
-########### height ###########
62
-Heatmap(mat1, height = unit(6, "cm")) + Heatmap(mat2)
63
-Heatmap(mat1, heatmap_body_height = unit(6, "cm")) + Heatmap(mat2)
64
-ht_list = Heatmap(mat1, heatmap_body_width = unit(6, "cm"), height = unit(6, "cm")) + 
65
-	Heatmap(mat2, heatmap_body_width = unit(6, "cm"), height = unit(6, "cm"))
66
-draw(ht_list, column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
67
-
68
-##### split #####
69
-ht_list = Heatmap(mat1, name = "m1", row_km = 2) + Heatmap(mat2, name = "m2", row_km = 3)
70
-draw(ht_list, main_heatmap = "m1")
71
-draw(ht_list, main_heatmap = "m2")
72
-
73
-ht_list = Heatmap(mat1, name = "m1", row_km = 2, column_km = 3, width = unit(8, "cm"), height = unit(6, "cm")) + 
74
-	Heatmap(mat2, name = "m2", row_km = 3, column_km = 2, width = unit(8, "cm"), height = unit(10, "cm"))
75
-draw(ht_list, main_heatmap = "m1", column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
76
-draw(ht_list, main_heatmap = "m2", column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
77
-
78
-##### adjust column annotations #####
79
-ha1 = HeatmapAnnotation(foo = 1:24, bar = anno_points(24:1, height = unit(4, "cm")))
80
-ha2 = HeatmapAnnotation(bar = anno_points(24:1), foo = 1:24)
81
-Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2, top_annotation = ha2)
82
-ha2 = HeatmapAnnotation(foo = 1:24)
83
-Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2, top_annotation = ha2)
84
-Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2)
85
-Heatmap(mat1, bottom_annotation = ha1) + Heatmap(mat2)
86
-
87
-
88
-#### row annotations #####
89
-ha = rowAnnotation(foo = 1:24, bar = anno_points(24:1), width = unit(6, "cm"))
90
-Heatmap(mat1) + ha
91
-Heatmap(mat1, width = unit(6, "cm")) + ha
92
-Heatmap(mat1, width = unit(6, "cm"), row_km = 2) + ha
93
-
94
-
95
-ht_list = Heatmap(matrix(rnorm(100), 10), name = "rnorm") +
96
-  rowAnnotation(foo = 1:10, bar = anno_points(10:1)) + 
97
-  Heatmap(matrix(runif(100), 10), name = "runif")
98
-summary(ht_list[1:5, ])
99
-summary(ht_list[1:5, 1])
100
-summary(ht_list[1:5, "rnorm"])
101
-summary(ht_list[1:5, c("rnorm", "foo")])
102
-
103
-ht_list = Heatmap(matrix(rnorm(100), 10), name = "rnorm") %v%
104
-  columnAnnotation(foo = 1:10, bar = anno_points(10:1)) %v%
105
-  Heatmap(matrix(runif(100), 10), name = "runif")
106
-summary(ht_list[, 1:5])
107
-summary(ht_list[1, 1:5])
108
-summary(ht_list["rnorm", 1:5])
109
-summary(ht_list[c("rnorm", "foo"), 1:5])
110
-
111
-
112
-
Browse code

add test script for the heatmap annotation size

jokergoo authored on 15/03/2019 13:47:43
Showing 1 changed files
1 1
new file mode 100755
... ...
@@ -0,0 +1,112 @@
1
+
2
+ht_global_opt$verbose = FALSE
3
+ht_global_opt$show_vp_border = FALSE
4
+
5
+set.seed(123)
6
+nr1 = 10; nr2 = 8; nr3 = 6
7
+nc1 = 6; nc2 = 8; nc3 = 10
8
+mat1 = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1,   sd = 0.5), nr = nr1),
9
+          matrix(rnorm(nr2*nc1, mean = 0,   sd = 0.5), nr = nr2),
10
+          matrix(rnorm(nr3*nc1, mean = 0,   sd = 0.5), nr = nr3)),
11
+    rbind(matrix(rnorm(nr1*nc2, mean = 0,   sd = 0.5), nr = nr1),
12
+          matrix(rnorm(nr2*nc2, mean = 1,   sd = 0.5), nr = nr2),
13
+          matrix(rnorm(nr3*nc2, mean = 0,   sd = 0.5), nr = nr3)),
14
+    rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
15
+          matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
16
+          matrix(rnorm(nr3*nc3, mean = 1,   sd = 0.5), nr = nr3))
17
+   )
18
+
19
+rownames(mat1) = paste0("row_1_", seq_len(nrow(mat1)))
20
+colnames(mat1) = paste0("column_1_", seq_len(nrow(mat1)))
21
+
22
+nr3 = 10; nr1 = 8; nr2 = 6
23
+nc3 = 6; nc1 = 8; nc2 = 10
24
+mat2 = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1,   sd = 0.5), nr = nr1),
25
+          matrix(rnorm(nr2*nc1, mean = 0,   sd = 0.5), nr = nr2),
26
+          matrix(rnorm(nr3*nc1, mean = 0,   sd = 0.5), nr = nr3)),
27
+    rbind(matrix(rnorm(nr1*nc2, mean = 0,   sd = 0.5), nr = nr1),
28
+          matrix(rnorm(nr2*nc2, mean = 1,   sd = 0.5), nr = nr2),
29
+          matrix(rnorm(nr3*nc2, mean = 0,   sd = 0.5), nr = nr3)),
30
+    rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
31
+          matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
32
+          matrix(rnorm(nr3*nc3, mean = 1,   sd = 0.5), nr = nr3))
33
+   )
34
+
35
+rownames(mat2) = paste0("row_2_", seq_len(nrow(mat2)))
36
+colnames(mat2) = paste0("column_2_", seq_len(nrow(mat2)))
37
+
38
+
39
+ht_list = Heatmap(mat1) + Heatmap(mat2)
40
+ht_list
41
+
42
+######### legend ############
43
+draw(ht_list, heatmap_legend_side = "bottom")
44
+draw(ht_list, heatmap_legend_side = "left")
45
+draw(ht_list, heatmap_legend_side = "top")
46
+
47
+
48
+########## width #############
49
+Heatmap(mat1, width = unit(6, "cm")) + Heatmap(mat2)
50
+Heatmap(mat1) + Heatmap(mat2, width = unit(8, "cm"))
51
+Heatmap(mat1, width = unit(12, "cm")) + Heatmap(mat2, width = unit(8, "cm"))
52
+
53
+Heatmap(mat1, heatmap_body_width = unit(6, "cm")) + Heatmap(mat2)
54
+Heatmap(mat1) + Heatmap(mat2, heatmap_body_width = unit(6, "cm"))
55
+Heatmap(mat1, heatmap_body_width = unit(6, "cm")) + Heatmap(mat2, heatmap_body_width = unit(6, "cm"))
56
+Heatmap(mat1, heatmap_body_width = 4) + Heatmap(mat2)
57
+
58
+Heatmap(mat1, heatmap_body_width = 2) + Heatmap(mat2, heatmap_body_width = 1)
59
+
60
+
61
+########### height ###########
62
+Heatmap(mat1, height = unit(6, "cm")) + Heatmap(mat2)
63
+Heatmap(mat1, heatmap_body_height = unit(6, "cm")) + Heatmap(mat2)
64
+ht_list = Heatmap(mat1, heatmap_body_width = unit(6, "cm"), height = unit(6, "cm")) + 
65
+	Heatmap(mat2, heatmap_body_width = unit(6, "cm"), height = unit(6, "cm"))
66
+draw(ht_list, column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
67
+
68
+##### split #####
69
+ht_list = Heatmap(mat1, name = "m1", row_km = 2) + Heatmap(mat2, name = "m2", row_km = 3)
70
+draw(ht_list, main_heatmap = "m1")
71
+draw(ht_list, main_heatmap = "m2")
72
+
73
+ht_list = Heatmap(mat1, name = "m1", row_km = 2, column_km = 3, width = unit(8, "cm"), height = unit(6, "cm")) + 
74
+	Heatmap(mat2, name = "m2", row_km = 3, column_km = 2, width = unit(8, "cm"), height = unit(10, "cm"))
75
+draw(ht_list, main_heatmap = "m1", column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
76
+draw(ht_list, main_heatmap = "m2", column_title = "foooooooooo", row_title = "baaaaaaaaaaar")
77
+
78
+##### adjust column annotations #####
79
+ha1 = HeatmapAnnotation(foo = 1:24, bar = anno_points(24:1, height = unit(4, "cm")))
80
+ha2 = HeatmapAnnotation(bar = anno_points(24:1), foo = 1:24)
81
+Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2, top_annotation = ha2)
82
+ha2 = HeatmapAnnotation(foo = 1:24)
83
+Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2, top_annotation = ha2)
84
+Heatmap(mat1, top_annotation = ha1) + Heatmap(mat2)
85
+Heatmap(mat1, bottom_annotation = ha1) + Heatmap(mat2)
86
+
87
+
88
+#### row annotations #####
89
+ha = rowAnnotation(foo = 1:24, bar = anno_points(24:1), width = unit(6, "cm"))
90
+Heatmap(mat1) + ha
91
+Heatmap(mat1, width = unit(6, "cm")) + ha
92
+Heatmap(mat1, width = unit(6, "cm"), row_km = 2) + ha
93
+
94
+
95
+ht_list = Heatmap(matrix(rnorm(100), 10), name = "rnorm") +
96
+  rowAnnotation(foo = 1:10, bar = anno_points(10:1)) + 
97
+  Heatmap(matrix(runif(100), 10), name = "runif")
98
+summary(ht_list[1:5, ])
99
+summary(ht_list[1:5, 1])
100
+summary(ht_list[1:5, "rnorm"])
101
+summary(ht_list[1:5, c("rnorm", "foo")])
102
+
103
+ht_list = Heatmap(matrix(rnorm(100), 10), name = "rnorm") %v%
104
+  columnAnnotation(foo = 1:10, bar = anno_points(10:1)) %v%
105
+  Heatmap(matrix(runif(100), 10), name = "runif")
106
+summary(ht_list[, 1:5])
107
+summary(ht_list[1, 1:5])
108
+summary(ht_list["rnorm", 1:5])
109
+summary(ht_list[c("rnorm", "foo"), 1:5])
110
+
111
+
112
+