scverse / scverse/PyDESeq2

Add a way to create a DeseqDataSet object from normalized count matrix / preprocessed adata object

Open
#205 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Currently, the only way to initialize a DeseqDataSet object is to have a non-negative integers in adata.X. The AnnData object might have been normalized/preprocessed before-hand, so this limits the integration with other tools.

Describe the solution you'd like

  1. Solution:
    Instead of throwing an Exception, a Warning might be better in the test_valid_counts function.

  2. Solution

Add a constructor flag that ignores the test.

I am not sure which solution might work better, I can't think of a case where a Warning wouldn't do the job, but I can take care of this one if there is one preferred fix for it.

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 reading the DeseqDataSet initialization path and the test_valid_counts function to understand where normalized AnnData inputs are rejected. Compare the warning and constructor-flag proposals, then clarify which behavior should be supported and how it should be tested. Done means a normalized count matrix or preprocessed AnnData object can be accepted without the current exception, with validation behavior covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.