forked from satijalab/seurat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFindAllMarkers.Rd
137 lines (118 loc) · 5.64 KB
/
FindAllMarkers.Rd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/differential_expression.R
\name{FindAllMarkers}
\alias{FindAllMarkers}
\alias{FindAllMarkersNode}
\title{Gene expression markers for all identity classes}
\usage{
FindAllMarkers(
object,
assay = NULL,
features = NULL,
logfc.threshold = 0.25,
test.use = "wilcox",
slot = "data",
min.pct = 0.1,
min.diff.pct = -Inf,
node = NULL,
verbose = TRUE,
only.pos = FALSE,
max.cells.per.ident = Inf,
random.seed = 1,
latent.vars = NULL,
min.cells.feature = 3,
min.cells.group = 3,
pseudocount.use = 1,
return.thresh = 0.01,
...
)
}
\arguments{
\item{object}{An object}
\item{assay}{Assay to use in differential expression testing}
\item{features}{Genes to test. Default is to use all genes}
\item{logfc.threshold}{Limit testing to genes which show, on average, at least
X-fold difference (log-scale) between the two groups of cells. Default is 0.25
Increasing logfc.threshold speeds up the function, but can miss weaker signals.}
\item{test.use}{Denotes which test to use. Available options are:
\itemize{
\item{"wilcox"} : Identifies differentially expressed genes between two
groups of cells using a Wilcoxon Rank Sum test (default)
\item{"bimod"} : Likelihood-ratio test for single cell gene expression,
(McDavid et al., Bioinformatics, 2013)
\item{"roc"} : Identifies 'markers' of gene expression using ROC analysis.
For each gene, evaluates (using AUC) a classifier built on that gene alone,
to classify between two groups of cells. An AUC value of 1 means that
expression values for this gene alone can perfectly classify the two
groupings (i.e. Each of the cells in cells.1 exhibit a higher level than
each of the cells in cells.2). An AUC value of 0 also means there is perfect
classification, but in the other direction. A value of 0.5 implies that
the gene has no predictive power to classify the two groups. Returns a
'predictive power' (abs(AUC-0.5) * 2) ranked matrix of putative differentially
expressed genes.
\item{"t"} : Identify differentially expressed genes between two groups of
cells using the Student's t-test.
\item{"negbinom"} : Identifies differentially expressed genes between two
groups of cells using a negative binomial generalized linear model.
Use only for UMI-based datasets
\item{"poisson"} : Identifies differentially expressed genes between two
groups of cells using a poisson generalized linear model.
Use only for UMI-based datasets
\item{"LR"} : Uses a logistic regression framework to determine differentially
expressed genes. Constructs a logistic regression model predicting group
membership based on each feature individually and compares this to a null
model with a likelihood ratio test.
\item{"MAST"} : Identifies differentially expressed genes between two groups
of cells using a hurdle model tailored to scRNA-seq data. Utilizes the MAST
package to run the DE testing.
\item{"DESeq2"} : Identifies differentially expressed genes between two groups
of cells based on a model using DESeq2 which uses a negative binomial
distribution (Love et al, Genome Biology, 2014).This test does not support
pre-filtering of genes based on average difference (or percent detection rate)
between cell groups. However, genes may be pre-filtered based on their
minimum detection rate (min.pct) across both cell groups. To use this method,
please install DESeq2, using the instructions at
https://bioconductor.org/packages/release/bioc/html/DESeq2.html
}}
\item{slot}{Slot to pull data from; note that if \code{test.use} is "negbinom", "poisson", or "DESeq2",
\code{slot} will be set to "counts"}
\item{min.pct}{only test genes that are detected in a minimum fraction of
min.pct cells in either of the two populations. Meant to speed up the function
by not testing genes that are very infrequently expressed. Default is 0.1}
\item{min.diff.pct}{only test genes that show a minimum difference in the
fraction of detection between the two groups. Set to -Inf by default}
\item{node}{A node to find markers for and all its children; requires
\code{\link{BuildClusterTree}} to have been run previously; replaces \code{FindAllMarkersNode}}
\item{verbose}{Print a progress bar once expression testing begins}
\item{only.pos}{Only return positive markers (FALSE by default)}
\item{max.cells.per.ident}{Down sample each identity class to a max number.
Default is no downsampling. Not activated by default (set to Inf)}
\item{random.seed}{Random seed for downsampling}
\item{latent.vars}{Variables to test, used only when \code{test.use} is one of
'LR', 'negbinom', 'poisson', or 'MAST'}
\item{min.cells.feature}{Minimum number of cells expressing the feature in at least one
of the two groups, currently only used for poisson and negative binomial tests}
\item{min.cells.group}{Minimum number of cells in one of the groups}
\item{pseudocount.use}{Pseudocount to add to averaged expression values when
calculating logFC. 1 by default.}
\item{return.thresh}{Only return markers that have a p-value < return.thresh, or a power > return.thresh (if the test is ROC)}
\item{...}{Arguments passed to other methods and to specific DE methods}
}
\value{
Matrix containing a ranked list of putative markers, and associated
statistics (p-values, ROC score, etc.)
}
\description{
Finds markers (differentially expressed genes) for each of the identity classes in a dataset
}
\examples{
# Find markers for all clusters
all.markers <- FindAllMarkers(object = pbmc_small)
head(x = all.markers)
\dontrun{
# Pass a value to node as a replacement for FindAllMarkersNode
pbmc_small <- BuildClusterTree(object = pbmc_small)
all.markers <- FindAllMarkers(object = pbmc_small, node = 4)
head(x = all.markers)
}
}