Nothing
## ----eval=FALSE---------------------------------------------------------------
# install.packages('harmony')
## -----------------------------------------------------------------------------
library(harmony)
## -----------------------------------------------------------------------------
data(cell_lines)
V <- cell_lines$scaled_pcs
meta_data <- cell_lines$meta_data
## ----class.source='fold-hide', fig.width=5, fig.height=3, fig.align="center"----
library(ggplot2)
do_scatter <- function(xy, meta_data, label_name, base_size = 12) {
palette_use <- c(`jurkat` = '#810F7C', `t293` = '#D09E2D',`half` = '#006D2C')
xy <- xy[, 1:2]
colnames(xy) <- c('X1', 'X2')
plt_df <- xy %>% data.frame() %>% cbind(meta_data)
plt <- ggplot(plt_df, aes(X1, X2, col = !!rlang::sym(label_name), fill = !!rlang::sym(label_name))) +
theme_test(base_size = base_size) +
guides(color = guide_legend(override.aes = list(stroke = 1, alpha = 1,
shape = 16, size = 4))) +
scale_color_manual(values = palette_use) +
scale_fill_manual(values = palette_use) +
theme(plot.title = element_text(hjust = .5)) +
labs(x = "PC 1", y = "PC 2") +
theme(legend.position = "none") +
geom_point(shape = '.')
## Add labels
data_labels <- plt_df %>%
dplyr::group_by(!!rlang::sym(label_name)) %>%
dplyr::summarise(X1 = mean(X1), X2 = mean(X2)) %>%
dplyr::ungroup()
plt + geom_label(data = data_labels, aes(label = !!rlang::sym(label_name)),
color = "white", size = 4)
}
p1 <- do_scatter(V, meta_data, 'dataset') +
labs(title = 'Colored by dataset')
p2 <- do_scatter(V, meta_data, 'cell_type') +
labs(title = 'Colored by cell type')
cowplot::plot_grid(p1, p2)
## -----------------------------------------------------------------------------
harmony_embeddings <- harmony::RunHarmony(
V, meta_data, 'dataset', verbose=FALSE
)
## ---- fig.width=5, fig.height=3, fig.align="center"---------------------------
p1 <- do_scatter(harmony_embeddings, meta_data, 'dataset') +
labs(title = 'Colored by dataset')
p2 <- do_scatter(harmony_embeddings, meta_data, 'cell_type') +
labs(title = 'Colored by cell type')
cowplot::plot_grid(p1, p2, nrow = 1)
## -----------------------------------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.