Mercurial > repos > moheydarian > heatmap2
view heatmap2.R @ 4:d61d62699e5c draft
Uploaded
author | moheydarian |
---|---|
date | Tue, 14 Mar 2017 14:20:49 -0400 |
parents | f4e9535003ad |
children | 84935e121609 |
line wrap: on
line source
# Setup R error handling to go to stderr options(show.error.messages=F, error=function(){cat(geterrmessage(),file=stderr());q("no",1,F)}) # We need to not crash galaxy with an UTF8 error on German LC settings. loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8") # Import library library("getopt") library("RColorBrewer") library("gplots") options(stringAsfactors = FALSE, useFancyQuotes = FALSE) # Take in trailing command line arguments args <- commandArgs(trailingOnly = TRUE) # get options, using the spec as defined by the enclosed list. # we read the options from the default: commandArgs(TRUE). option_specification = matrix(c( 'input', 'i', 2, 'character', 'title', 't',2, 'character', 'transform', 'c', 2, 'character', 'keylabel', 'k',2, 'character', 'output', 'o', 2, 'character' ), byrow=TRUE, ncol=4); # Parse options options = getopt(option_specification); # Print options to see what is going on cat("\n input: ",options$input) cat("\n title: ",options$title) cat("\n output: ",options$output) input <- read.delim(options$input,sep='\t',header=TRUE) mat_input <- data.matrix(input[,2:ncol(input)]) if(options$transform == "none"){ linput <- mat_input }else if(options$transform == "log2"){ linput <- log2(mat_input) }else if(options$transform == "log2plus1"){ linput <- log2(mat_input+1) }else if(options$transform == "log10"){ linput <- log10(mat_input) }else if(options$transform == "log10plus1"){ linput <- log10(mat_input+1) }else{ } hclust_fun = function(x) hclust(x, method="complete") dist_fun = function(x) dist(x, method="maximum") pdf(file="Rplot.pdf") colfunc <- colorRampPalette(c("white", "red")) heatmap.2(linput, distfun=dist_fun, hclustfun=hclust_fun, scale = "none", col=colfunc(50), trace="none", density.info = "none",labRow=FALSE, margins=c(8,2), main = options$title, key.xlab= options$keylabel, keysize=1) dev.off()