Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(ggplot2)
theme_set(theme_classic())
## ----setup, message=FALSE-----------------------------------------------------
library(igraph)
library(schex)
library(TENxPBMCData)
library(scater)
library(scran)
library(ggrepel)
## ----load---------------------------------------------------------------------
tenx_pbmc3k <- TENxPBMCData(dataset = "pbmc3k")
rownames(tenx_pbmc3k) <- uniquifyFeatureNames(rowData(tenx_pbmc3k)$ENSEMBL_ID,
rowData(tenx_pbmc3k)$Symbol_TENx)
## ----filter-cells-------------------------------------------------------------
rowData(tenx_pbmc3k)$Mito <- grepl("^MT-", rownames(tenx_pbmc3k))
colData(tenx_pbmc3k) <- cbind(colData(tenx_pbmc3k),
perCellQCMetrics(tenx_pbmc3k,
subsets=list(Mt=rowData(tenx_pbmc3k)$Mito)))
rowData(tenx_pbmc3k) <- cbind(rowData(tenx_pbmc3k),
perFeatureQCMetrics(tenx_pbmc3k))
tenx_pbmc3k <- tenx_pbmc3k[, !colData(tenx_pbmc3k)$subsets_Mt_percent > 50]
libsize_drop <- isOutlier(tenx_pbmc3k$total,
nmads = 3,type = "lower", log = TRUE)
feature_drop <- isOutlier(tenx_pbmc3k$detected,
nmads = 3, type = "lower", log = TRUE)
tenx_pbmc3k <- tenx_pbmc3k[, !(libsize_drop | feature_drop)]
## ----filter-genes-------------------------------------------------------------
rm_ind <- calculateAverage(tenx_pbmc3k)<0
tenx_pbmc3k <- tenx_pbmc3k[!rm_ind,]
## ----norm, message=FALSE, warning=FALSE---------------------------------------
tenx_pbmc3k <- scater::logNormCounts(tenx_pbmc3k)
## ----dim-red, message=FALSE, warning=FALSE------------------------------------
tenx_pbmc3k <- runPCA(tenx_pbmc3k)
set.seed(10)
tenx_pbmc3k <- runUMAP(tenx_pbmc3k, dimred = "PCA", spread = 1,
min_dist = 0.4)
## ----cluster------------------------------------------------------------------
snn_gr <- buildSNNGraph(tenx_pbmc3k, use.dimred = "PCA", k = 50)
clusters <- cluster_louvain(snn_gr)
tenx_pbmc3k$cluster <- factor(clusters$membership)
## ----calc-hexbin--------------------------------------------------------------
tenx_pbmc3k <- make_hexbin(tenx_pbmc3k, nbins = 40,
dimension_reduction = "UMAP", use_dims=c(1,2))
## ----plot-density, fig.height=7, fig.width=7----------------------------------
plot_hexbin_density(tenx_pbmc3k)
## ----plot-meta, fig.height=7, fig.width=7-------------------------------------
plot_hexbin_meta(tenx_pbmc3k, col="cluster", action="majority")
plot_hexbin_meta(tenx_pbmc3k, col="total", action="median")
## ----plot-meta-trad, fig.height=7, fig.width=7--------------------------------
plotUMAP(tenx_pbmc3k, colour_by="cluster")
plotUMAP(tenx_pbmc3k, colour_by="total")
## ----plot-meta-label, message=FALSE, fig.height=7, fig.width=7----------------
label_df <- make_hexbin_label(tenx_pbmc3k, col="cluster")
pp <- plot_hexbin_meta(tenx_pbmc3k, col="cluster", action="majority")
pp + ggrepel::geom_label_repel(data = label_df, aes(x=x, y=y, label = label),
colour="black", label.size = NA, fill = NA)
## ----plot-gene, fig.height=7, fig.width=7-------------------------------------
gene_id <-"POMGNT1"
plot_hexbin_feature(tenx_pbmc3k, type="logcounts", feature=gene_id,
action="mean", xlab="UMAP1", ylab="UMAP2",
title=paste0("Mean of ", gene_id))
## ----plot-gene-trad, fig.height=7, fig.width=7--------------------------------
plotUMAP(tenx_pbmc3k, by_exprs_values="logcounts", colour_by=gene_id)
## ---- message=FALSE, fig.height=7, fig.width=7--------------------------------
plot_hexbin_feature_plus(tenx_pbmc3k,
col="cluster", type="logcounts",
feature="POMGNT1", action="mean")
## -----------------------------------------------------------------------------
gene_id <-"CD19"
gg <- schex::plot_hexbin_feature(tenx_pbmc3k, type="logcounts", feature=gene_id,
action="mean", xlab="UMAP1", ylab="UMAP2",
title=paste0("Mean of ", gene_id))
gg + theme_void()
## ---- eval=FALSE--------------------------------------------------------------
# ggsave(gg, file="schex_plot.pdf")
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.