Skip to content

Add native Bliss synergy scoring - #1171

Draft
daveringelberg wants to merge 1 commit into
scverse:mainfrom
daveringelberg:bliss-synergy
Draft

daveringelberg wants to merge 1 commit into
scverse:mainfrom
daveringelberg:bliss-synergy

Conversation

@daveringelberg

Copy link
Copy Markdown
Contributor

LLM usage

  • LLM or coding agent used: GPT-6.1 Sol Ultra via Codex
  • If one was used, I, a human, have reviewed, understood and tested every changed line

PR Checklist

  • Referenced issue is linked
  • If you've fixed a bug or added code that should be tested, add tests!
  • Documentation in docs is updated

Description of changes

Adds native Bliss scoring as a first combination-analysis step for #1036.

The proposed pt.tl.Synergy().score() takes AnnData with one observation per assay measurement for a fixed drug pair and experimental condition. Expected inhibition and observed-minus-expected scores are stored in .obs.

Technical details

Uses control-normalized inhibition fractions between 0 and 1. Single-agent replicates are averaged at exactly matching doses, without interpolation. Positive scores indicate excess inhibition, not statistical significance.

Additional context

Draft while the placement as a separate Synergy tool is discussed.

Validation: 39 relevant tests passed. Ruff, formatting, scoped type checking, executable examples and a focused Sphinx build passed.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.79%. Comparing base (a4c3073) to head (12d06ad).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1171      +/-   ##
==========================================
+ Coverage   75.69%   75.79%   +0.10%     
==========================================
  Files          55       56       +1     
  Lines        8435     8475      +40     
==========================================
+ Hits         6385     6424      +39     
- Misses       2050     2051       +1     
Files with missing lines Coverage Δ
src/pertpy/tools/__init__.py 91.66% <100.00%> (+0.23%) ⬆️
src/pertpy/tools/_synergy.py 100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants