annotate barplot.r @ 0:bfe92ceffe57 draft

"planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
author artbio
date Mon, 07 Oct 2019 08:40:15 -0400
parents
children 19ba2e38e8ec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
1 if (length(commandArgs(TRUE)) == 0) {
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
2 system("Rscript barplot.r -h", intern = F)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
3 q("no")
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
4 }
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
5
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
6
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
7 # load packages that are provided in the conda env
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
8 options( show.error.messages=F,
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
9 error = function () { cat( geterrmessage(), file=stderr() ); q( "no", 1, F ) } )
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
10 loc <- Sys.setlocale("LC_MESSAGES", "en_US.UTF-8")
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
11 warnings()
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
12 library(optparse)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
13 library(ggplot2)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
14 library(ggrepel)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
15 library(RColorBrewer)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
16
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
17
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
18 #Arguments
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
19 option_list = list(
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
20 make_option(
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
21 c("-i", "--input"),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
22 default = NA,
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
23 type = 'character',
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
24 help = "Input file that contains count data (no header)"
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
25 ),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
26 make_option(
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
27 c("-o", "--barplot"),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
28 default = NA,
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
29 type = 'character',
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
30 help = "PDF output file"
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
31 )
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
32 )
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
33
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
34 opt = parse_args(OptionParser(option_list = option_list),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
35 args = commandArgs(trailingOnly = TRUE))
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
36
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
37
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
38 ##
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
39 annotations = read.delim(opt$input, header=F)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
40 colnames(annotations) = c("sample", "class", "percent_of_reads", "total")
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
41 annotations$percent=round(annotations$percent_of_reads/annotations$total*100, digits=2)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
42 # ggplot2 plotting
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
43
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
44 # Define the number of colors you want
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
45 Sasha.Trubetskoy.Palette <- c('#e6194b', '#3cb44b', '#ffe119', '#4363d8', '#f58231',
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
46 '#911eb4', '#46f0f0', '#f032e6', '#bcf60c',
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
47 '#008080', '#e6beff', '#9a6324', '#fffac8', '#800000',
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
48 '#aaffc3', '#808000', '#ffd8b1', '#000075', '#808080')
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
49 nb.cols <- 19 # 10 with colorRampPalette
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
50 # mycolors <- colorRampPalette(brewer.pal(8, "Paired"))(nb.cols)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
51 mycolors <- Sasha.Trubetskoy.Palette[1:nb.cols]
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
52
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
53 ggtitle('Class proportions')
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
54 ggplot(annotations, aes(x=total/2, y = percent_of_reads, fill = class, width = total)) +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
55 geom_bar(position="fill", stat="identity") +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
56 facet_wrap(~sample, ncol=3 ) +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
57 geom_label_repel(aes(label = percent), position = position_fill(vjust = 0.5), size=2,show.legend = F) +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
58 coord_polar(theta="y") +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
59 labs(x = "Class fractions (%)") +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
60 scale_fill_manual(values = mycolors) +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
61 theme(axis.text = element_blank(),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
62 axis.ticks = element_blank(),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
63 panel.grid = element_blank(),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
64 axis.title.y = element_blank(),
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
65 legend.position="bottom") +
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
66 geom_text(aes(x = total/2, y= .5, label = paste(round(total/1000000, digits=3), "M"), vjust = 4, hjust=-1), size=2)
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
67 ggsave(file=opt$barplot, device="pdf")
bfe92ceffe57 "planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sr_bowtie_dataset_annotation commit 60340e9e0d2795b88e23fd57e1ccb190918bf337"
artbio
parents:
diff changeset
68