
Bioconductor Demuxmix
A package for demultiplexing single-cell sequencing experiments of pooled cells labeled...
Install
npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-demuxmix -g -a claude-code -y- Repository
- bioMate-AI/biomate-bioconductor-kb793
- Category
- Engineering
- Updated
- 5mo ago
- License
- See repository
- Context cost
- Lightabout 1,292 tokens
- Runs scripts
- No, instructions only
What it does
A package for demultiplexing single-cell sequencing experiments of pooled cells labeled with barcode oligonucleotides. The package implements methods to fit regression mixture models for a probabilistic classification of cells, including multiplet detection. Demultiplexing error rates can be estimated, and methods for quality control are provided.
demuxmix
Workflows
Standard Workflow
Demultiplex pooled single-cell samples labeled with multiple hashtag oligonucleotides (HTOs) using regression or naive mixture models.
library(demuxmix)
# Simulate a small example dataset
set.seed(2642)
class <- rbind(
c(rep(TRUE, 220), rep(FALSE, 200)),
c(rep(FALSE, 200), rep(TRUE, 220))
)
simdata <- dmmSimulateHto(class)
hto <- simdata$hto
rna <- simdata$rna
# Run demuxmix and summarize results
dmm <- demuxmix(hto, rna = rna)
summary(dmm)
# Classify droplets and plot QC histogram
classes <- dmmClassify(dmm)
table(classes$HTO)
plotDmmHistogram(dmm)
Input/Output Note: Inputs an HTO count matrix and a vector of detected genes per droplet; outputs a classified data frame of singlets, multiplets, negatives, and uncertain droplets.
Pooling Non Labeled With Labeled Cells
Demultiplex a mixture of labeled cells and non-labeled cells (e.g., rare cells) using a single HTO channel.
library(demuxmix)
data(csf)
# Filter out low-quality droplets
csf <- csf[csf$NumGenes >= 200, ]
hto <- t(matrix(csf$HTO, dimnames = list(rownames(csf), "HTO")))
# Fit regression mixture model
dmm <- demuxmix(hto, rna = csf$NumGenes)
summary(dmm)
dmmOverlap(dmm)
# Generate QC plots
plotDmmHistogram(dmm)
plotDmmScatter(dmm)
# Classify droplets into labeled (positive) and non-labeled (negative)
class <- dmmClassify(dmm)
table(class$HTO)
Input/Output Note: Inputs a single-channel HTO matrix and a vector of detected genes; outputs classifications separating labeled cells (positive) from non-labeled cells (negative).
