Mercurial > repos > iuc > ggupset
annotate upset.R @ 0:889d574acce8 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:52:54 +0000 |
| parents | |
| children |
| rev | line source |
|---|---|
|
0
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
1 library(tidyverse) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
2 library(ggupset) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
3 |
|
889d574acce8
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) |
|
889d574acce8
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]) |
|
889d574acce8
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]) |
|
889d574acce8
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]) |
|
889d574acce8
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]) |
|
889d574acce8
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]) |
|
889d574acce8
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) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
11 |
|
889d574acce8
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) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
13 data <- list() |
|
889d574acce8
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)) { |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
15 k <- files[idx] |
|
889d574acce8
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")) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
17 } |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
18 |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
19 all_genes <- c() |
|
889d574acce8
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){ |
|
889d574acce8
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){ |
|
889d574acce8
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) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
23 } |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
24 } |
|
889d574acce8
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)) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
26 |
|
889d574acce8
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()) |
|
889d574acce8
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)) { |
|
889d574acce8
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] |
|
889d574acce8
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)] |
|
889d574acce8
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 = ",") |
|
889d574acce8
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) |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
33 } |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
34 |
|
889d574acce8
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") |
|
889d574acce8
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, ",") |
|
889d574acce8
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ggupset commit 517bf38557204e91a3652046a9412fb635257c8f
iuc
parents:
diff
changeset
|
37 |
|
889d574acce8
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() + |
|
889d574acce8
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") + |
|
889d574acce8
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) |
|
889d574acce8
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") |
|
889d574acce8
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() + |
|
889d574acce8
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") + |
|
889d574acce8
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) |
|
889d574acce8
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") |
