Skip to main content

Table 1 Marker gene selection methods benchmarked in this paper

From: A comparison of marker gene selection methods for single-cell RNA sequencing data

Package

Version

Language

Parameters

Description

Citation

Seurat

4.0.5

R

test.use = t

Welch’s t-test

[12]

-

-

-

test.use = “wilcox”

Wilcoxon rank-sum test (with tie-correction)

-

-

-

-

test.use = “LR”

Genewise Logistic regression

-

-

-

-

test.use = “negbinom”

Two group Negative Binomial GLM

-

-

-

-

test.use = “poisson”

Two group Poisson GLM

-

-

-

-

test.use = “roc”

ROC assessment of gene expression as classifier

-

-

-

-

test.use = “bimod”

Bimodal likelihood ratio test

-, [27]

-

-

-

test.use = “MAST”

MAST

-, [19]

COSG

0.9.0

R

None

Cosine score

[15]

Scanpy

1.8.1

Python

test_use = “t-test” rankby_abs = True

Welch t-test ranking by the absolute value of the score

[13]

-

-

-

test_use = “t-test_over_estimvar” rankby_abs = True

Welch t-test with overestimated variance ranking by the absolute value of the score

-

-

-

-

test_use = “t-test” rankby_abs = False

Welch t-test ranking by the raw score

-

-

-

-

test_use = “t-test_over_estimvar” rankby_abs = False

Welch t-test with overestimated variance ranking by the raw score

-

-

-

-

test_use = “wilcoxon” rankby_abs = True tie_correct = True

Wilcoxon rank-sum test ranking by absolute value of the score with tie-correction

-

-

-

-

test_use = “wilcoxon” rankby_abs = False tie_correct = True

Wilcoxon rank-sum test ranking by the raw score with tie-correction

-

-

-

-

test_use = “wilcoxon” rankby_abs = True tie_correct = False

Wilcoxon rank-sum test ranking by absolute value of the score without tie-correction

-

-

-

-

test_use = “wilcoxon” rankby_abs = False tie_correct = False

Wilcoxon rank-sum test ranking by the raw score without tie-correction

-

scran

1.22.1

R

findMarkers() test.type = “t”, pval.type = “any”

Pairwise t-test up-ranking genes with “any” small p-values

[28]

-

-

-

findMarkers() test.type = “t”, pval.type = “all”

Pairwise t-test up-ranking genes with “all” small p-values

-

-

-

-

findMarkers() test.type = “t”, pval.type = “some”

Pairwise t-test up-ranking genes with “some” small p-values

-

-

-

-

findMarkers() test.type = “wilcox”, pval.type = “any”

Pairwise Wilcoxon rank-sum test up-ranking genes with “any” small p-values

-

-

-

-

findMarkers() test.type = “wilcox”, pval.type = “all”

Pairwise Wilcoxon rank-sum test up-ranking genes with “all” small p-values

-

-

-

-

findMarkers() test.type = “wilcox”, pval.type = “some”

Pairwise Wilcoxon rank-sum test up-ranking genes with “some” small p-values

-

-

-

-

findMarkers() test.type = “binom”, pval.type = “any”

Pairwise Binomial test up-ranking genes with “any” small p-values

-

-

-

-

findMarkers() test.type = “binom”, pval.type = “all”

Pairwise Binomial test up-ranking genes with “all” small p-values

-

-

-

-

findMarkers() test.type = “binom”, pval.type = “some”

Pairwise Binomial test up-ranking genes with “some” small p-values

-

scran

1.22.1

R

scoreMarkers(), mean.logFC.cohen

Pairwise Cohen’s d, mean across genes

NA

-

-

-

scoreMarkers(), min.logFC.cohen

Pairwise Cohen’s d, minimum across genes

-

-

-

-

scoreMarkers(), median.logFC.cohen

Pairwise Cohen’s d, median across genes

-

-

-

-

scoreMarkers(), max.logFC.cohen

Pairwise Cohen’s d, maximum across genes

 

-

-

-

scoreMarkers(), rank.logFC.cohen

Pairwise Cohen’s d, min rank across genes

-

-

-

-

scoreMarkers(), mean.AUC

Pairwise AUC, mean across genes

-

-

-

-

scoreMarkers(), median.AUC

Pairwise AUC, median across genes

-

-

-

-

scoreMarkers(), min.AUC

Pairwise AUC, minimum across genes

-

-

-

-

scoreMarkers(), max.AUC

Pairwise AUC, maximum across genes

-

-

-

-

scoreMarkers(), rank.AUC

Pairwise AUC, min rank across genes

-

-

-

-

scoreMarkers(), mean.logFC.detected

Pairwise lfc in detection proportion, mean across genes

-

-

-

-

scoreMarkers(), min.logFC.detected

Pairwise lfc in detection proportion, minimum across genes

-

-

-

-

scoreMarkers(), median.logFC.detected

Pairwise lfc in detection proportion, median across genes

-

-

-

-

scoreMarkers(), max.logFC.detected

Pairwise lfc in detection proportion, maximum across genes

-

-

-

-

scoreMarkers(), rank.logFC.detected

Pairwise lfc in detection proportion, min rank across genes

-

presto

1.0.0

R

None

Optimized Wilcoxon rank-sum test

NA

edger

3.36.0

R

GLM

Negative Binomial GLM with empirical Bayes (EB) shrinkage

[29, 30]

edger

3.36.0

R

QL

- With quasi-likelihood fitting

[29, 30]

RankCorr

NA

Python

lambda = 2

Sparse seperating hyperplane selection

[26]

RankCorr

NA

Python

lambda = 5

-

[26]

RankCorr

NA

Python

lambda = 10

-

[26]

glmGamPoi

1.6.0

R

None

Negative Binomial QL GLM with EB shrinkage

[31]

limma

3.50.0

R

Standard

Linear model with EB shrinkage

[32, 33]

limma

3.50.0

R

Voom

- With weighting

[32, 33]

limma

3.50.0

R

Trend

-

[32, 33]

Cepo

1.0.0

R

None

Stability statistic

[34]

NSForest

3.0

Python

None

Random forest classifier

[14]

Venice

0.0.11

R

None

Classification scoring

[35]

SMaSH

0.1.2

Python

None

Deep neural net classifier

[7]