-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbarplots.R
98 lines (91 loc) · 2.64 KB
/
barplots.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Title: Barplots Fig 1SB
# Author: Albert García López
pacman::p_load(tidyverse, readxl, xlsx, janitor, skimr, ggpubr)
outDir <- "path_to_dir"
stopifnot(dir.exists(outDir))
# Load data ####################################################################
list_of_files <- list.files("path_to_file_dir", full.names = TRUE) %>%
str_subset("\\.xlsx") %>%
str_subset("Th17")
dfs_nest <- imap_dfr(
list_of_files,
~ read_excel(.x) %>%
clean_names() %>%
mutate(DF_ID = .y, .before = everything()) %>%
nest(data = -DF_ID)
) %>%
mutate(DF_ID = case_when(
DF_ID == 1 ~ "Th17_Day0_2h",
DF_ID == 2 ~ "Th17_Day0_ut",
DF_ID == 3 ~ "Th17_Day5_2h",
DF_ID == 4 ~ "Th17_Day5_ut",
DF_ID == 5 ~ "Th17-IL10+_Day5_c-MAF"
))
# Filter data and plot #########################################################
dfs_filtered <- dfs_nest %>%
mutate(filtering = map(data, ~ filter(., gene_id %in% c("IL1A", "IL10")))) %>%
select(-data) %>%
unnest(filtering) %>%
select(DF_ID, gene_id, matches("mean_fold_change")) %>%
filter(DF_ID != "Th17-IL10+_Day5_c-MAF") %>%
select(DF_ID, gene_id, mean_fold_change) %>%
mutate(mean_fold_change = as.numeric(mean_fold_change)) %>%
mutate(log2FC = log2(mean_fold_change) * -1) %>%
mutate(day = str_extract(DF_ID, "Day\\d")) %>%
mutate(gene_id = factor(gene_id, c("IL1A", "IL10")))
cairo_pdf(
filename = "file_name.pdf",
family = "Arial",
onefile = TRUE,
width = 6,
height = 10
)
dfs_filtered %>%
filter(day == "Day5") %>%
ggbarplot(
x = "gene_id",
y = "log2FC",
xlab = FALSE,
add = "mean_se",
error.plot = "errorbar"
) +
stat_compare_means(
method = "t.test",
paired = FALSE,
comparisons = list(c("IL1A", "IL10")),
label = "p.signif",
size = 10,
bracket.size = 0.5
) +
coord_fixed() +
geom_hline(yintercept = 0, lty = 1, lwd = 0.5) +
labs(y = "IL-10+ Th17 vs. IL-10- Th17\nlog2(fold change)", title = "T test") +
theme(
text = element_text(size = 18, family = "Arial"),
axis.text.x = element_text(angle = 45, hjust = 1)
)
dfs_filtered %>%
filter(day == "Day5") %>%
ggbarplot(
x = "gene_id",
y = "log2FC",
xlab = FALSE,
add = "mean_se",
error.plot = "errorbar"
) +
stat_compare_means(
method = "t.test",
paired = FALSE,
comparisons = list(c("IL1A", "IL10")),
label = "p.format",
size = 6,
bracket.size = 0.5
) +
coord_fixed() +
geom_hline(yintercept = 0, lty = 1, lwd = 0.5) +
labs(y = "IL-10+ Th17 vs. IL-10- Th17\nlog2(fold change)", title = "T test") +
theme(
text = element_text(size = 18, family = "Arial"),
axis.text.x = element_text(angle = 45, hjust = 1)
)
dev.off()