annotate upset.R @ 0:f005c350af7f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
author iuc
date Sat, 17 Dec 2022 16:53:08 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
1 library(tidyverse)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
2 library(ggupset)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
3
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
4 args <- commandArgs(trailingOnly = TRUE)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
5 n_int <- as.integer(args[1])
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
6 x_lab <- as.character(args[2])
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
7 y_lab <- as.character(args[3])
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
8 width <- as.integer(args[4])
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
9 height <- as.integer(args[5])
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
10 files <- tail(args, -5)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
11
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
12 # gene, (list of matching conditions)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
13 data <- list()
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
14 for (idx in seq_along(files)) {
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
15 k <- files[idx]
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
16 data[k] <- read_tsv(k, col_names = c("genes"))
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
17 }
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
18
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
19 all_genes <- c()
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
20 for (gene_list in data){
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
21 for (gene in gene_list){
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
22 all_genes <- append(all_genes, gene)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
23 }
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
24 }
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
25 all_genes <- unique(sort(all_genes))
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
26
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
27 trans <- tibble(gene = character(), files = character())
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
28 for (gene_idx in seq_along(all_genes)) {
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
29 gene <- all_genes[gene_idx]
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
30 files <- names(data)[grep(gene, data)]
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
31 files <- paste(files, sep = ",", collapse = ",")
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
32 trans <- trans %>% add_row(gene = gene, files = files)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
33 }
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
34
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
35 write_tsv(trans, "upset.tsv")
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
36 trans$f <- str_split(trans$files, ",")
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
37
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
38 pl <- trans %>% ggplot(aes(x = f)) + geom_bar() +
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
39 scale_x_upset(n_intersections = n_int, order_by = "freq") +
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
40 xlab(x_lab) + ylab(y_lab)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
41 ggsave("upset-freq.png", width = width, height = height, units = "px")
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
42 pl <- trans %>% ggplot(aes(x = f)) + geom_bar() +
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
43 scale_x_upset(n_intersections = n_int, order_by = "degree") +
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
44 xlab(x_lab) + ylab(y_lab)
f005c350af7f planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff changeset
45 ggsave("upset-degree.png", width = width, height = height, units = "px")