annotate heatmap2.R @ 35:c1f0f262836a draft default tip

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