I want to perform Differential Gene Expression Analysis. I recently completed RNA Sequence Analysis using the Seraut Tutorial up to this point: Finding Differentially Expressed Features (Cluster Biomarkers).

My project can be found at this Rpubs Link which contains the link to the dataset on the 10x genomics website.

My question is... is the following table derived from performing the steps found in the first link I provided? enter image description here

If so, once I derive that table ( ID, Name, L2FC, p-value, etc.), does that mean I can perform Differential Gene Expression Analysis?

I am a complete newbie and am teaching myself all of this. Thanks, y'all.

UPDATE: Yes, it did provide me that table. With this table, am I able to perform gene expression?


1 Answer 1


The table pictured here is the result of a differential gene expression (DGE) test. In the table, each row is a gene (labeled with the gene ID and name) and each column (besides the first two) are the results of DGE tests. Each cluster has two sub-columns: L2FC (log2 fold-change) which tells you the average relative expression changes between cells of the cluster vs. others; and p-value, which is how significant the change is.

You can make this table yourself by performing DGE tests for all clusters. You've already done this yourself in your Rpubs script! To make it easier though, so you don't have to manually test each cluster, use the FindAllMarkers function. It will compare each cluster to all other clusters and report the L2FCs and p-values.

However, I recommend using the p_val_adj (adjusted p-value) instead of the p-value. This is due to a problem called multiple testing: you are performing many, many tests (each gene in each cluster is a separate statistical test), and we expect 5% of differentially expressed genes (DEGs) to be DE by random chance. Over something like 100,000 tests, that means you'd expect 5,000 of those to be false positives (which is huge). So p-value is adjusted to account for multiple tests.

Once you filter the DEG table (p-adj<0.05), you can do other downstream analyses to describe what has changed between the conditions. You already have a good start in your Rpub script with the violin plots. Cluster 6 is clearly distinct in terms of those genes' expression levels. You could try to figure out what's special with that cluster. Good luck!

  • $\begingroup$ With my violin plots, does that mean that those two genes , c("MS4A1", "CD79A"), are found within multiple clusters? $\endgroup$
    – Antonio
    Nov 29, 2022 at 15:26
  • 1
    $\begingroup$ @Antonio Each violin plot shows the expression of that gene in all cells (the black dots). As you see, most values are 0 (which is very common for scRNA-seq), along with some random low-level noise. The important bits to look at is anything above the noise level (in this case, ~0.5). Any violin with color is usually somewhat significant. For the MS4A1 gene, you can see the only clear violin is in cluster 6, while CD79A is in 6 and 20. If you look at your UMAP, cluster 6 is off to the side by itself. This may be a gene that is cell-type specific or only expressed in certain conditions. $\endgroup$ Nov 30, 2022 at 16:21

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.