scverse / scverse/PyDESeq2

hanging when finding genewise dispersions

Open
#453 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
761
Forks
90
Avg merge
25m
Merged PRs (30d)
10

Description

Hello pydeseq2 devs.
Thank you all for developing this easy-to-use analysis tool. I'm running into extremely long runtimes (or possibly just hanging) when running dds.fit_genewise_dispersions(). I've seen some chatter about similar issues in the past when running dds.deseq2().

As others have pointed out, this issue appears linked to occurences of 0 within the matrix. Adding 1 to all counts seems to resolve the issue, but I'd prefer to avoid this if possible.

Does anyone have practical advice for working around this issue?

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 reproducing the long runtime in dds.fit_genewise_dispersions() with a count matrix containing zero values, and compare it with the reported workaround of adding 1 to all counts. Trace the fitting path from that entry point; done means the method completes without requiring that workaround, with behavior covered for matrices containing zeros.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.