Skip to contents

Identifies highly variable genes using the M3Drop package, which implements Michaelis-Menten modeling of dropouts for feature selection in single-cell RNA-seq data.

Usage

Feature_selection_M3Drop(
  expression_profile,
  log_normalized = TRUE,
  threshold = 0.05
)

Arguments

expression_profile

Gene expression matrix (genes x cells)

log_normalized

Whether the input matrix is log-normalized (default: TRUE)

threshold

FDR threshold for significant features (default: 0.05)

Value

A character vector of selected gene names that pass the significance threshold.

Details

This function wraps the M3DropFeatureSelection method which:

  • Models the relationship between gene expression mean and variance

  • Identifies genes with significantly more dropouts than expected

  • Uses false discovery rate (FDR) correction for multiple testing

The function automatically handles both log-normalized and raw count data.

References

Andrews TS, Hemberg M (2018). "M3Drop: dropout-based feature selection for scRNASeq." Bioinformatics, 35(16), 2865-2867.

See also

M3DropFeatureSelection for the underlying implementation

Author

Bin Duan (binduan\@sjtu.edu.cn)

Examples

if (FALSE) { # \dontrun{
# Using example data from scLearn package
data(QueryCellData)

# Using log-normalized data (default)
lognorm_data <- logcounts(QueryCellData)
selected_genes <- Feature_selection_M3Drop(
  expression_profile = lognorm_data,
  threshold = 0.01
)

# Using raw counts
raw_data <- counts(QueryCellData)
selected_genes <- Feature_selection_M3Drop(
  expression_profile = raw_data,
  log_normalized = FALSE,
  threshold = 0.1
)

# Examine selected features
head(selected_genes)
length(selected_genes)
} # }