Diff of /HVGs_DimReduce.Rmd [000000] .. [c9fae8]

Switch to side-by-side view

--- a
+++ b/HVGs_DimReduce.Rmd
@@ -0,0 +1,96 @@
+---
+title: "R Notebook"
+output: html_notebook
+---
+
+This is an [R Markdown](http://rmarkdown.rstudio.com) Notebook. When you execute code within the notebook, the results appear beneath the code. 
+
+Try executing this chunk by clicking the *Run* button within the chunk or by placing your cursor inside it and pressing *Cmd+Shift+Enter*. 
+
+```{r}
+# Create copy of spe for exploration
+spe_sub_copy <- spe_sub
+```
+
+### Exploring Zero-Cell and Single-Cell Spots
+```{r}
+# distribution of cells per spot
+tbl_cells_per_spot[1:13]
+
+# as proportions
+prop_cells_per_spot <- round(tbl_cells_per_spot / sum(tbl_cells_per_spot), 2)
+prop_cells_per_spot[1:13]
+```
+
+## Feature Selection: Identify Highly Variable Genes (HVGs)
+
+```{r}
+# remove mitochondrial genes
+spe_sub_copy <- spe_sub_copy[!is_mito,]
+dim(spe_sub_copy)
+
+library(scran)
+
+# fit mean-variance relationship
+dec <- modelGeneVar(spe_sub_copy)
+
+# visualize mean-variance relationship
+fit <- metadata(dec)
+plot(fit$mean, fit$var, 
+     xlab = "mean of log-expression", ylab = "variance of log-expression")
+curve(fit$trend(x), col = "dodgerblue", add = TRUE, lwd = 2)
+
+# select top HVGs
+top_hvgs <- getTopHVGs(dec, prop = 0.1)
+length(top_hvgs)
+```
+
+```{r}
+# compute PCA
+set.seed(123)
+spe_sub_copy <- runPCA(spe_sub_copy, subset_row = top_hvgs)
+# compute UMAP on top 50 PCs
+set.seed(123)
+spe_sub_copy <- runUMAP(spe_sub_copy, dimred = "PCA")
+# update column names
+colnames(reducedDim(spe_sub_copy, "UMAP")) <- paste0("UMAP", 1:2)
+
+# plot top 2 PCA dimensions
+plotDimRed(spe_sub_copy, type = "PCA")
+
+# plot top 2 UMAP dimensions
+plotDimRed(spe_sub_copy, type = "UMAP")
+```
+
+```{r}
+# graph-based clustering
+set.seed(123)
+k <- 12
+g <- buildSNNGraph(spe_sub_copy, k = k, use.dimred = "PCA")
+g_walk <- igraph::cluster_walktrap(g)
+```
+
+```{r}
+clus <- igraph::cut_at(g_walk, no = 6)
+table(clus)
+# store cluster labels in column 'label' in colData
+colLabels(spe) <- factor(clus)
+```
+
+```{r}
+# plot clusters in PCA reduced dimensions
+plotDimRed(spe_sub_copy,type = "PCA", 
+           annotate = "label", palette = "libd_layer_colors")
+
+# plot clusters in UMAP reduced dimensions
+plotDimRed(spe_sub_copy, type = "UMAP", 
+           annotate = "label", palette = "libd_layer_colors")
+```
+
+
+Add a new chunk by clicking the *Insert Chunk* button on the toolbar or by pressing *Cmd+Option+I*.
+
+When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the *Preview* button or press *Cmd+Shift+K* to preview the HTML file). 
+
+The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike *Knit*, *Preview* does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.
+