scverse / scverse/scanpy

how does sc.queries.enrich handle up- and down-regulated genes

Open
#1,901 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
2.6k
Forks
779
Avg merge
1d 4h
Merged PRs (30d)
27

Description

How does sc.queries.enrich handle upregulated and downregulated differentially expressed genes? Are they both input into GProfiler, with no distinction made between which are up and which are down?

I ask because it's important for interpretation. For example, if both upregulated and downregulated genes are input to GProfiler without distinction, then if rank_genes_groups had found all downregulated genes for phenotype A, then the pathways reported for phenotype A would actually be enriched in phenotype B.

My current understanding is that all genes are passed together. If you supply a min log2fc_min > 0, it will include only upregulated genes, but otherwise it will include all. Is this correct?

More generally, is there some place I could view the API code, to get a better sense of how this function works? On GitHub all I can see is gprofiler = GProfiler(user_agent="scanpy", return_dataframe=True), and I can't find the details in GProfiler's documentation either. Where is the "container" object created?

p.s. I think it might be helpful to clarify the syntax for passing parameters to gprofiler_kwargs. It took some playing around for me to find the right combination of string + boolean for gprofiler_kwargs={'no_evidences':False}

Thanks!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the implementation and API entry point for sc.queries.enrich, then trace how rank_genes_groups results and gprofiler_kwargs reach GProfiler. Document whether up- and downregulated genes are distinguished, how min_log2fc_min affects inputs, where the container is created, and how the no_evidences option is passed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.