(For context: I'm somewhat new to bioinformatic analyses but am mostly comfortable with R) I have identified transcriptomically and morphologically different cancer cell populations within a patient (scRNAseq, spatial transcriptomics, IHC). They are quite distinct, with hundreds of genes as differentially expressed genes (DEGs) even after high tresholds. It's quite interesting to describe, but I am looking to find better ways to represent their features. Of course I am attaching DEG tables as supplementary data etc. but I thought that gene set enrichment analysis could give broad terms that would a) help me understand which DEGs might contribute together to biological processes and b) describe the bigger picture.

So, I tried running a few terms (GO:BP, GO:CC, GO:MF, ...) from the GSEA msigdb website on the DEGs from scRNAseq, but have come out a bit frustrated. A lot of terms make sense and reflect the changes, but have large overlap. For example, the 3 top GO:BP terms (Extracellular matrix organization", "Extracellular structure organization", "External encapsulating structure organziation" are scored identically, with identical DEGs as the genes that are part of their gene sets. This is repeated further down the list with subsets of this gene set. Now, reporting these doesn't actually do what I want, which is give a global overview (but the information is heavily redundant). I could just pick one of the 3 redundant ones and skip the others, but then I am worried my presentation would be biased.

Any advice on how to properly do gene set enrichment analysis to find broader terms to describe and understand what's going on? Or alternative ways that lead to the goal of broader description and understanding? I would be very grateful.

Thank you!


2 Answers 2


There are plenty of tools to summarize long lists of GO terms by removing redundancy (which seems to be your concern), such as REVIGO (web) or rrvgo (R+Bioconductor). Disclaimer: I'm the author of the latter.

Such tools identify subsets of redundant terms and objectively pick the best representative term following some criteria, eg. by considering the GO term size (in genes), observed/expected ratio, p-value, etc.


It is totally acceptable in your main figure to display only a selected part of your GO term, as long as the reader is aware of this action (e.g., by including a legend specifying "selected pathways enriched"). Additionally, ensure that either readers have sufficient information to replicate your analyses or provide the full result table as supplementary information. By adhering to these points, you are transparent on what you did, allowing others to replicate the analyses independently. Purposely excluding top hit pathways that contradict your theory could be considered misleading.

If you are looking for broader terms, have you tried to a use slim GO? Those are GO with only a subset of the term. You could also look at the GO graph for your term and select the one higher in the graph. There are also plenty of tools out there to display GO results-graph. GOplot, GOnet are the first hit I got on google.


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.