I am attempting to use GSEA enrichr with 10x genomics differential_expression rankings. Reading what people seem to be doing with GSEA, there seems to be a pre-/post-singlecell gene expression versioning of the tools associated, so I want to make sure what I am doing makes sense.


For each gene in columns 1 and 2, there are 3 columns in each of the clusters that the 10X Genomics cellranger count software produces, e.g.:

Cluster 3 Mean Counts   Cluster 3 Log2 fold change   Cluster 3 Adjusted p value
0.2392551160479023      -6.591931364165717           0.029177998608334674
0.1435530696287414      -5.608385347948343           0.0003833420249831818
1.107409394278862       -5.441829814465051           3.8059567638748296e-09
0.1948220230675776      -4.9155704967404             0.008739337761029243
0.20849374398460058     -4.65702722396748            1.0980978990257375e-11
0.36571853453036496     -4.6498340596466585          1.1896434946397147e-17
0.1811503021505546      -4.445327449243366           1.3416233207430882e-12
0.4409129995739914      -4.433552335619653           1.2400396349891802e-16
1.7226368355448967      -4.240367394494225           2.2072280062348652e-15
0.10937376733618391     -3.902215199856403           2.0315030904651526e-12
3.2948847410025404      -3.7580328996321235          0.028858857004902847
0.3588826740718535      -3.738237134795285           8.439629283346646e-13

In trying to give a tissue / cell type identity to each of these clusters, I've used the following method to feed a subset of genes to EnrichR:

1- Sort the Log Fold change column numerically so we get low negative values. 2- Filter out for the Adjusted p-value to have a value smaller than 0.05. 3- Filter out for the Means Counts value to be bigger than 0.01. 4- Take the top n genes from the list, and feed it to GSEA EnrichR to compare against Mouse_Gene_Atlas or ARCHS4_Tissues.

Given that the fold change of the clusters is relative to each other, does it make more sense to rank the top n genes numerically or in inverse numerical value? E.g. selecting the first 100 genes in each cluster that have the most negative Log2 fold change values or the most positive Log2 fold change values or both (the top 100 genes with highest absolute Log2 fold change)?

Looking at previous answers, I get that one shouldn't rank by p-value: e.g. see @gringer reply https://bioinformatics.stackexchange.com/a/13465/180

  • $\begingroup$ tagging @gringer who authored an answer to a related question. $\endgroup$
    – 719016
    Jul 9, 2020 at 8:38

1 Answer 1


You should be using the most positive fold changes, not the most negative. The positive ones are the ones that are most highly expressed in your cluster of interest. You probably want to use less than 100 genes. Depending on the experiment, you may not have that many good markers for a particular cluster.

The other question you mentioned refers to DESeq2 specifically, so it is not applicable here.

  • $\begingroup$ What's a good number smaller than 100? 50? Thx $\endgroup$
    – 719016
    Jul 9, 2020 at 15:21
  • $\begingroup$ Depends on your dataset. It's usually very difficult to have 100 genes that identify the cluster well. You can pick the last gene and see how well it actually marks that cluster. $\endgroup$
    – burger
    Jul 9, 2020 at 21:19
  • $\begingroup$ would it be adequate to trim down the list of genes by making sure they are not present in other clusters? E.g. find the X-most genes in Cluster 1 where none or only, say, 10-20% of them are in Custers 2 to N. Is that a reasonable approach? Thanks in advance. $\endgroup$
    – 719016
    Jul 10, 2020 at 10:58
  • $\begingroup$ What do you mean by "not present"? Do you mean detectable in only one cluster? If they are only detectable in one, then they should already be your top cluster markers by fold change or p-value. $\endgroup$
    – burger
    Jul 11, 2020 at 22:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.