getFactorMarkers: Find shared and dataset-specific markers

View source: R/rliger.R

getFactorMarkersR Documentation

Find shared and dataset-specific markers

Description

Applies various filters to genes on the shared (W) and dataset-specific (V) components of the factorization, before selecting those which load most significantly on each factor (in a shared or dataset-specific way).

Usage

getFactorMarkers(
  object,
  dataset1 = NULL,
  dataset2 = NULL,
  factor.share.thresh = 10,
  dataset.specificity = NULL,
  log.fc.thresh = 1,
  pval.thresh = 0.05,
  num.genes = 30,
  print.genes = FALSE,
  verbose = TRUE
)

Arguments

object

liger object. Should call optimizeALS before calling.

dataset1

Name of first dataset (default first dataset by order)

dataset2

Name of second dataset (default second dataset by order)

factor.share.thresh

Use only factors with a dataset specificity less than or equalt to threshold (default 10).

dataset.specificity

Pre-calculated dataset specificity if available. Will calculate if not available.

log.fc.thresh

Lower log-fold change threshold for differential expression in markers (default 1).

pval.thresh

Upper p-value threshold for Wilcoxon rank test for gene expression (default 0.05).

num.genes

Max number of genes to report for each dataset (default 30).

print.genes

Print ordered markers passing logfc, umi and frac thresholds (default FALSE).

verbose

Print messages (TRUE by default)

Value

List of shared and specific factors. First three elements are dataframes of dataset1- specific, shared, and dataset2-specific markers. Last two elements are tables indicating the number of factors in which marker appears.

Examples

ligerex <- createLiger(list(ctrl = ctrl, stim = stim))
ligerex <- normalize(ligerex)
ligerex <- selectGenes(ligerex)
ligerex <- scaleNotCenter(ligerex)
ligerex <- optimizeALS(ligerex, k = 5, max.iter = 2)
ligerex <- quantile_norm(ligerex)
fm <- getFactorMarkers(ligerex, dataset1 = "stim", dataset2 = "ctrl")

rliger documentation built on Nov. 9, 2023, 1:07 a.m.