Explant_functions.R
### Function to plot by gene
### -------------------------
plotUMAP_colByGene <- function(OBJ=sci, UMAP = sci.UMAP, GENE="Runx1", ptsize = 0.8, alpha = 0.8, legend="yes"){
# Variables
seu <- OBJ
g <- GENE
df.UMAP = UMAP
pt.size = ptsize
alph = alpha
g.exp <- seu[["RNA"]]@data[g,]
g.exp[g.exp == 0] <- NA # replace 0 with NA
df_plot <- data.frame(UMAP_1 = df.UMAP[,1],
UMAP_2 = df.UMAP[,2],
Gene = g.exp)
if (legend == "yes") {
pUMAPgene <-
ggplot(df_plot %>% arrange(Gene), aes(x = UMAP_1, y = UMAP_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
na.value = "grey80",
end = 0.8
) +
xlab("UMAP 1") +
ylab("UMAP 2") +
theme_bw() +
theme(
panel.grid.major = element_line(linetype = "blank"),
panel.grid.minor = element_line(linetype = "blank")
)
print(pUMAPgene)
} else if (legend == "no") {
pUMAPgene <-
ggplot(df_plot %>% arrange(Gene), aes(x = UMAP_1, y = UMAP_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
na.value = "grey80",
end = 0.8
) +
xlab("UMAP 1") +
ylab("UMAP 2") +
theme_bw() +
theme(
legend.position = "none",
panel.grid.major = element_line(linetype = "blank"),
panel.grid.minor = element_line(linetype = "blank")
)
print(pUMAPgene)
} else if (legend == "minimal") {
pUMAPgene <-
ggplot(df_plot %>% arrange(Gene), aes(x = UMAP_1, y = UMAP_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
na.value = "grey80",
end = 0.8
) +
xlab("UMAP 1") +
ylab("UMAP 2") +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
print(pUMAPgene)
}
}
### Function to plot by gene in FA space / for genesets/AUCell
### -------------------------
plotFA_colByGene <- function(OBJ=sci, FA = sci.FA, GENE="Runx1", ptsize = 0.8, alpha = 0.8, legend="yes", assay="AUC", lim=NULL){
# Variables
seu <- OBJ
g <- GENE
df.FA = FA
pt.size = ptsize
alph = alpha
#if (is.null(lim)) {lim <- NULL}
g.exp <- seu[[assay]]@data[g,]
#g.exp[g.exp == 0] <- NA # replace 0 with NA
df_plot <- data.frame(FA_1 = df.FA[,1],
FA_2 = df.FA[,2],
Gene = g.exp)
min.gene <- min(df_plot$Gene)
max.gene <- max(df_plot$Gene)
if (legend == "yes") {
pFAgene <-
ggplot(df_plot %>% arrange(Gene),
aes(x = FA_1, y = FA_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
#na.value = "grey80",
end = 0.9, limits = lim
) +
xlab("FA 1") +
ylab("FA 2") +
theme_bw() +
theme(
panel.grid.major = element_line(linetype = "blank"),
panel.grid.minor = element_line(linetype = "blank")
)
print(pFAgene)
} else if (legend == "no") {
pFAgene <-
ggplot(df_plot %>% arrange(Gene), aes(x = FA_1, y = FA_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
#na.value = "grey80",
end = 0.9, limits = lim
) +
xlab("FA 1") +
ylab("FA 2") +
theme_bw() +
theme(
legend.position = "none",
panel.grid.major = element_line(linetype = "blank"),
panel.grid.minor = element_line(linetype = "blank")
)
print(pFAgene)
} else if (legend == "minimal") {
pFAgene <-
ggplot(df_plot %>% arrange(Gene),
aes(x = FA_1, y = FA_2, colour = Gene)) +
geom_point(size = pt.size, alpha = alph) +
viridis::scale_color_viridis(
name = g,
option = "plasma",
#na.value = "grey80",
end = 0.9, limits = lim
) +
xlab("FA 1") +
ylab("FA 2") +
theme(axis.line=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
legend.position="none",
panel.background=element_blank(),
panel.border=element_blank(),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
plot.background=element_blank())
print(pFAgene)
}
}