annotate heatmap2.R @ 25:43f627dc005e draft

Uploaded
author moheydarian
date Thu, 27 Apr 2017 14:54:06 -0400
parents 51e492517b0d
children b9cb6b047ff8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
1 # Setup R error handling to go to stderr
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
2 options(show.error.messages=F, error=function(){cat(geterrmessage(),file=stderr());q("no",1,F)})
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
3
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
4 # We need to not crash galaxy with an UTF8 error on German LC settings.
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
5 loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
6
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
7
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
8 # Import library
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
9 library("getopt")
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
10 library("RColorBrewer")
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
11 library("gplots")
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
12 options(stringAsfactors = FALSE, useFancyQuotes = FALSE)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
13 # Take in trailing command line arguments
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
14 args <- commandArgs(trailingOnly = TRUE)
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
15
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
16
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
17 # get options, using the spec as defined by the enclosed list.
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
18 # we read the options from the default: commandArgs(TRUE).
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
19 option_specification = matrix(c(
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
20 'input', 'i', 2, 'character',
8
84935e121609 Uploaded
moheydarian
parents: 3
diff changeset
21 'title', 't', 2, 'character',
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
22 'transform', 'c', 2, 'character',
8
84935e121609 Uploaded
moheydarian
parents: 3
diff changeset
23 'key', 'k', 2, 'character',
10
fe9d1a33f421 Uploaded
moheydarian
parents: 8
diff changeset
24 'colorscheme', 'z', 2, 'character',
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
25 'cluster', 'b', 2, 'character',
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
26 'labels', 'a', 2, 'character',
14
b3eb35cfc36d Uploaded
moheydarian
parents: 13
diff changeset
27 'scale', 'd', 2, 'character',
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
28 'output', 'o', 2, 'character'
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
29 ), byrow=TRUE, ncol=4);
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
30
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
31 # Parse options
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
32 options = getopt(option_specification);
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
33
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
34
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
35
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
36 # Print options to see what is going on
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
37 cat("\n input: ",options$input)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
38 cat("\n title: ",options$title)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
39 cat("\n output: ",options$output)
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
40
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
41 input <- read.delim(options$input,sep='\t',header=TRUE)
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
42
25
43f627dc005e Uploaded
moheydarian
parents: 23
diff changeset
43 mat_input <- data.matrix(input[,2:ncol(input)])
43f627dc005e Uploaded
moheydarian
parents: 23
diff changeset
44 rownames(mat_input) <- input[,1]
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
45
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
46 if(options$transform == "none"){
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
47 linput <- mat_input
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
48 }else if(options$transform == "log2"){
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
49 linput <- log2(mat_input)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
50 }else if(options$transform == "log2plus1"){
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
51 linput <- log2(mat_input+1)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
52 }else if(options$transform == "log10"){
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
53 linput <- log10(mat_input)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
54 }else if(options$transform == "log10plus1"){
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
55 linput <- log10(mat_input+1)
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
56 }else{
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
57 }
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
58
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
59 if(options$colorscheme == "whrd"){
10
fe9d1a33f421 Uploaded
moheydarian
parents: 8
diff changeset
60 colorscale = colfunc <- colorRampPalette(c("white", "red"))
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
61 } else if(options$colorscheme == "whblu"){
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
62 colorscale = colfunc <- colorRampPalette(c("white", "blue"))
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
63 }else if(options$colorscheme == "blwhre"){
10
fe9d1a33f421 Uploaded
moheydarian
parents: 8
diff changeset
64 colorscale = colfunc <- colorRampPalette(c("blue","white", "red"))
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
65 }else{
10
fe9d1a33f421 Uploaded
moheydarian
parents: 8
diff changeset
66 }
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
67
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
68
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
69 if(options$cluster== "Default"){
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
70 hclust_fun = function(x) hclust(x, method="complete")
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
71 dist_fun = function(x) dist(x, method="maximum")
15
e9b93b60de80 Uploaded
moheydarian
parents: 14
diff changeset
72 dclust = distfun=dist_fun
e9b93b60de80 Uploaded
moheydarian
parents: 14
diff changeset
73 hclust = hclustfun=hclust_fun
25
43f627dc005e Uploaded
moheydarian
parents: 23
diff changeset
74 dend = NULL
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
75 }else{
15
e9b93b60de80 Uploaded
moheydarian
parents: 14
diff changeset
76 dclust = NULL
e9b93b60de80 Uploaded
moheydarian
parents: 14
diff changeset
77 hclust = NULL
25
43f627dc005e Uploaded
moheydarian
parents: 23
diff changeset
78 dend = dendrogram="none"
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
79 }
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
80
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
81 if(options$labels== "both"){
17
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
82 rlabs = NULL
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
83 clabs = NULL
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
84 }else if(options$labels== "rows"){
17
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
85 rlabs = NULL
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
86 clabs = labCol=FALSE
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
87 }else if(options$labels== "columns"){
17
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
88 rlabs = labRow=FALSE
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
89 clabs = NULL
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
90 }else if(options$labels== "none"){
17
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
91 rlabs = labRow=FALSE
5d1db70d6df0 Uploaded
moheydarian
parents: 15
diff changeset
92 clabs = labCol=FALSE
13
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
93 } else{
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
94 }
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
95
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
96
e75734b84e61 Uploaded
moheydarian
parents: 10
diff changeset
97
2
ca138397d628 Uploaded
moheydarian
parents:
diff changeset
98
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
99 pdf(file="Rplot.pdf")
10
fe9d1a33f421 Uploaded
moheydarian
parents: 8
diff changeset
100 colorscale
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
101 heatmap.2(linput,
25
43f627dc005e Uploaded
moheydarian
parents: 23
diff changeset
102 dclust, hclust, dend, scale = options$scale, rlabs, clabs,
19
d3e13bf56f72 Uploaded
moheydarian
parents: 17
diff changeset
103 col=colfunc(50), trace="none", density.info = "none", margins=c(8,2),
8
84935e121609 Uploaded
moheydarian
parents: 3
diff changeset
104 main = options$title, key.xlab= options$key, keysize=1)
3
f4e9535003ad Uploaded
moheydarian
parents: 2
diff changeset
105 dev.off()