Learn R Programming

CAESAR.Suite (version 0.1.0)

marker.select: Select Marker Genes from a signature gene list Based on Expression Proportion and Overlap Criteria

Description

This function selects marker genes for each cluster or cell type based on expression proportion, with options to remove mitochondrial and ribosomal genes, limit the maximum number of top marker genes, and control the overlap between markers across clusters.

Usage

marker.select(
  ref_sig_list,
  expr.prop.cutoff = 0.1,
  ntop.max = 200,
  overlap.max = 1,
  rm_mito_ribo = FALSE,
  species = "ms"
)

Value

A list where each element corresponds to a cluster and contains the selected marker genes. If no markers are found, a message is printed and NULL is returned.

Arguments

ref_sig_list

A list where each element corresponds to a cluster or cell type. Each element should be a data frame containing at least two columns: gene (the gene names) and expr.prop (the proportion of cells expressing each gene). Generally, it is the output of function find.sig.genes.

expr.prop.cutoff

A numeric value specifying the minimum proportion of cells that must express a gene for it to be considered. Default is 0.1.

ntop.max

An integer specifying the maximum number of top marker genes to be selected. Default is 200.

overlap.max

An integer specifying the maximum allowable overlap of marker genes across clusters. If a gene appears in more than overlap.max clusters, it will be excluded. Default is 1.

rm_mito_ribo

Logical, indicating whether to remove mitochondrial and ribosomal genes from the marker gene list. Default is FALSE.

species

A character string specifying the species for mitochondrial and ribosomal gene detection. Options are "ms" for mouse or "hs" for human. Default is "ms".

See Also

find.sig.genes for signature gene list.

Examples

Run this code
data(toydata)

seu <- toydata$seu

seu <- ProFAST::pdistance(seu, reduction = "caesar")
sglist <- find.sig.genes(seu = seu)

markers <- marker.select(sglist, expr.prop.cutoff = 0.1, overlap.max = 1)
print(markers)

Run the code above in your browser using DataLab