## ---- eval=FALSE-------------------------------------------------------------- # if (!requireNamespace("BiocManager")) # install.packages("BiocManager") # BiocManager::install("miQC") ## ----options, include=FALSE, message=FALSE, warning=FALSE--------------------- knitr::opts_chunk$set(cache=FALSE, error=FALSE, message=FALSE, warning=FALSE) ## ----------------------------------------------------------------------------- suppressPackageStartupMessages({ library(SingleCellExperiment) library(scRNAseq) library(scater) library(flexmix) library(splines) library(BiocParallel) library(biomaRt) library(miQC) }) ## ----------------------------------------------------------------------------- sce <- ZeiselBrainData() sce ## ----------------------------------------------------------------------------- mt_genes <- grepl("^mt-", rownames(sce)) feature_ctrls <- list(mito = rownames(sce)[mt_genes]) feature_ctrls ## ----------------------------------------------------------------------------- sce <- addPerCellQC(sce, subsets = feature_ctrls, BPPARAM = MulticoreParam()) head(colData(sce)) ## ----------------------------------------------------------------------------- plotMetrics(sce) ## ----------------------------------------------------------------------------- model <- mixtureModel(sce) ## ----------------------------------------------------------------------------- parameters(model) head(posterior(model)) ## ----------------------------------------------------------------------------- plotModel(sce, model) ## ----------------------------------------------------------------------------- plotFiltering(sce, model) ## ----------------------------------------------------------------------------- sce <- filterCells(sce, model) sce ## ----------------------------------------------------------------------------- sce <- ZeiselBrainData() sce <- addPerCellQC(sce, subsets = feature_ctrls, BPPARAM = MulticoreParam()) model2 <- mixtureModel(sce, model_type = "spline") plotModel(sce, model2) plotFiltering(sce, model2) ## ----------------------------------------------------------------------------- plotFiltering(sce, model2, posterior_cutoff = 0.9) ## ----------------------------------------------------------------------------- sce <- LunSpikeInData() mouse_mart <- useEnsembl("ENSEMBL_MART_ENSEMBL", "mmusculus_gene_ensembl") id_map <- getBM(values = rownames(sce), filters = "ensembl_gene_id", attributes = c("ensembl_gene_id", "chromosome_name"), mart = mouse_mart) mt_genes <- subset(id_map,id_map$chromosome_name=="MT")$ensembl_gene_id feature_ctrls <- list(mito = mt_genes) sce <- addPerCellQC(sce, subsets = feature_ctrls, BPPARAM = BiocParallel::MulticoreParam()) plotMetrics(sce) ## ---- echo=FALSE------------------------------------------------------------------------------------------------------ ## Session info options(width = 120) sessionInfo()