<- c("ggthemes", "jhtools", "glue", "ggsci", "patchwork", "tidyverse",
pkgs "circlize", "ComplexHeatmap", "SummarizedExperiment", "jhuanglabRNAseq",
"viridis","ggrepel", "tidygraph","ggraph")
for (pkg in pkgs){
suppressPackageStartupMessages(library(pkg, character.only = T))
}<- "./results/figure2" %>% checkdir
out_dir <- "./data" %>% checkdir in_dir
figure2
figure2A
<- glue("{in_dir}/twist2_deg.rds") %>% read_rds
group_twist2<- function(df){
darw_volcano <- df %>% as_tibble(rownames = "genes") %>%
tmp ::mutate(label = case_when(
dplyr> 1 & adj.P.Val < 0.05 ~ "UP",
logFC < -1 & adj.P.Val < 0.05 ~ "DOWN",
logFC ~ "NOSIG"
T
),`- log10(adj.P.Val)` = - log10(adj.P.Val)) %>%
arrange(desc(abs(logFC)))
$`- log10(adj.P.Val)`[tmp$`- log10(adj.P.Val)` > 75] <- 75
tmp<- tmp %>%
labeled_frame ::filter(abs(logFC) > 5.5 | - log10(adj.P.Val) > 45)
dplyr%>%
tmp ggplot(aes(x = logFC, y = `- log10(adj.P.Val)`, color = label)) +
geom_point(size = 0.01) +
scale_color_manual(values = c("UP" = "#DC143C", "DOWN" = "#1E90FF"), guide = guide_legend(
keywidth = 0.1)) +
theme_few() +
geom_vline(xintercept = c(1,-1), linetype = "dashed", size = 0.2) +
geom_hline(yintercept = c(1.30103), linetype = "dashed", size = 0.2) +
scale_y_continuous(expand = expansion(mult = c(.06, 0.15))) +
scale_x_continuous(expand = expansion(mult = c(.06, 0.15))) +
::geom_label_repel(data = labeled_frame, mapping = aes(label = genes),
ggrepelcolor = "black", fill = NA,
size = 2,
label.padding = 0.1,
max.overlaps = 1000,
label.r = 0.11,
label.size = 0.1,
min.segment.length = 0.1,
max.iter = 65,
force = 1,
force_pull = 0.1,
segment.size = 0.1) +
theme(
axis.ticks = element_line(linewidth = 0.2),
axis.ticks.length = unit(0.1, "lines"),
axis.text = element_text(size = 7, colour = "black"),
axis.title = element_text(size = 7, colour = "black"),
legend.box.margin = margin(0,0,0,0),
legend.box.spacing = unit(1, "mm"),
legend.key.width = unit(1.5, "mm"),
legend.key.height = unit(1.5, "mm"),
legend.text = element_text(size = 7),
legend.title = element_text(size = 7),
legend.spacing = unit(0, 'cm'),
legend.margin = margin(0,0,0,0),
panel.border = element_rect(colour = "black")
)
}pdf(glue("{out_dir}/figure2A.pdf"), width = 3, height = 3.5)
print(darw_volcano(group_twist2))
<- dev.off()
d darw_volcano(group_twist2)
figure2B
<- glue("{in_dir}/h.all.v2023.1.Hs.symbols.rds") %>% read_rds
sshal <- ggplot(sshal,aes(x = sub_types, y = gene_set %>% str_replace_all("_", " ") %>% str_wrap(width = 30),
a fill = value)) +
geom_tile() +
scale_fill_gradient2(low = "blue", high = "red",
guide = guide_colourbar(label.hjust = 0.5)) +
theme_few() +
theme(
axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5,colour = "black"),
axis.text = element_text(size = 5,colour = "black"),
axis.ticks = element_line(linewidth = 0.2,colour = "black"),
axis.ticks.length = unit(0.05, "lines"),
axis.title = element_blank(),
legend.box.margin = margin(0,0,0,0),
legend.box.spacing = unit(1.5, "mm"),
legend.key.width = unit(2, "mm"),
legend.key.height = unit(2, "mm"),
legend.text = element_text(size = 5),
legend.title = element_text(size = 5),
legend.ticks.length = unit(0.1, "lines"),
panel.border = element_rect(colour = "black", linewidth = 0.3)
)pdf(glue("{out_dir}/figure2B.pdf"), width = 4, height = 2)
print(a)
<- dev.off()
d a
figure2C
<- read_rds(glue("{in_dir}/tf_net.rds"))
subg <- read_rds(glue("{in_dir}/tf_net_layout.rds"))
layoutx <- ggraph(subg, layout = layoutx) +
p0 geom_edge_link(end_cap = rectangle(3, 3, 'mm', 'mm'),
color = "grey", edge_width = 0.4) +
geom_node_label(aes(label = name, color = type),
repel = F, size = 2.8, fill = NA,
label.size = 0.5) +
scale_color_manual(values = c("A" = "#FA8072", "B" = "red", "C" = "#4D84C5")) +
theme_void() +
theme(legend.position = 'none')+
scale_x_continuous(limits = c(-2.8,2.4))
<- checkdir("./paper_twist2_cdx2_g18/figure2/tf_enrich/net_figure")
netoutdir pdf(glue("{out_dir}/figure2C.pdf"), width = 4.7, height = 5.5)
print(p0)
<- dev.off()
d p0