annotate PanExplorer_workflow/R/heatmap_ani.R @ 1:032f6b3806a3 draft

Uploaded
author dereeper
date Thu, 30 May 2024 11:16:08 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
1 #!/usr/local/R-4.1.2/bin/R
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
2
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
3 library(RColorBrewer)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
4 library(dendextend)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
5 library("optparse")
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
6
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
7 #args = commandArgs(trailingOnly=TRUE)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
8
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
9 option_list = list(
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
10 make_option(c("-f", "--file"), type="character", default=NULL,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
11 help="dataset file name", metavar="character"),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
12 make_option(c("-o", "--out"), type="character", default="out.txt",
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
13 help="output file name [default= %default]", metavar="character")
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
14 );
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
15 opt_parser = OptionParser(option_list=option_list);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
16 opt = parse_args(opt_parser);
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
17
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
18 if (is.null(opt$file)){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
19 print_help(opt_parser)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
20 stop("At least one argument must be supplied (input file).\n", call.=FALSE)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
21 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
22
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
23 if (is.null(opt$out)){
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
24 print_help(opt_parser)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
25 stop("At least one argument must be supplied (out file).\n", call.=FALSE)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
26 }
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
27
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
28 #svglite(opt$out,width = 31, height = 28)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
29 pdf(opt$out,width = 31,height = 28)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
30
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
31 mydata <- read.table(opt$file, header=TRUE,sep="\t", row.names="Genomes")
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
32
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
33 iris <- mydata
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
34
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
35 #dend_r <- iris %>% dist(method = "man") %>% hclust(method = "ward.D") %>% as.dendrogram %>% ladderize
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
36 dend_r <- iris %>% dist(method = "man") %>% hclust(method = "com") %>% as.dendrogram %>% ladderize
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
37
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
38 #dend_c <- t(iris) %>% dist(method = "man") %>% hclust(method = "com") %>% as.dendrogram %>% ladderize
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
39 dend_c <- t(iris) %>% dist(method = "man") %>% hclust(method = "ward.D") %>% as.dendrogram %>% ladderize
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
40
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
41
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
42 #write(hc2Newick(dend_c),file='hclust.newick')
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
43 Colors=c("yellow","red")
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
44 Colors=colorRampPalette(Colors)(100)
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
45 mat <- as.matrix(t(iris-1))
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
46 out <- gplots::heatmap.2(mat,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
47 main = "",
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
48 scale="none",
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
49 #srtCol=NULL,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
50 Rowv = dend_r,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
51 Colv = dend_r,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
52 #key = FALSE,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
53 margins =c(20,20),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
54 col=Colors,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
55 trace="row", hline = NA, tracecol = NA
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
56 )
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
57
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
58 write.table(
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
59 data.frame(gene = rownames(mat)[out$rowInd]),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
60 paste(opt$out, "rows.csv", sep="."),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
61 row.names = FALSE,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
62 quote = FALSE,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
63 sep = ',')
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
64
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
65 write.table(
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
66 data.frame(gene = colnames(mat)[out$colInd]),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
67 paste(opt$out, "cols.csv", sep="."),
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
68 row.names = FALSE,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
69 quote = FALSE,
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
70 sep = ',')
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
71
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
72 dev.off()
032f6b3806a3 Uploaded
dereeper
parents:
diff changeset
73